Commit 231753ef authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge uncontroversial parts of branch 'readlink' of...

Merge uncontroversial parts of branch 'readlink' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs

Pull partial readlink cleanups from Miklos Szeredi.

This is the uncontroversial part of the readlink cleanup patch-set that
simplifies the default readlink handling.

Miklos and Al are still discussing the rest of the series.

* git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
  vfs: make generic_readlink() static
  vfs: remove ".readlink = generic_readlink" assignments
  vfs: default to generic_readlink()
  vfs: replace calling i_op->readlink with vfs_readlink()
  proc/self: use generic_readlink
  ecryptfs: use vfs_get_link()
  bad_inode: add missing i_op initializers
parents 0110c350 d16744ec
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -596,3 +596,7 @@ in your dentry operations instead.
[mandatory]
	->rename() has an added flags argument.  Any flags not handled by the
        filesystem should result in EINVAL being returned.
--
[recommended]
	->readlink is optional for symlinks.  Don't set, unless filesystem needs
	to fake something for readlink(2).
+6 −3
Original line number Diff line number Diff line
@@ -451,9 +451,6 @@ otherwise noted.
	exist; this is checked by the VFS.  Unlike plain rename,
	source and target may be of different type.

  readlink: called by the readlink(2) system call. Only required if
	you want to support reading symbolic links

  get_link: called by the VFS to follow a symbolic link to the
	inode it points to.  Only required if you want to support
	symbolic links.  This method returns the symlink body
@@ -468,6 +465,12 @@ otherwise noted.
	argument.  If request can't be handled without leaving RCU mode,
	have it return ERR_PTR(-ECHILD).

  readlink: this is now just an override for use by readlink(2) for the
	cases when ->get_link uses nd_jump_link() or object is not in
	fact a symlink.  Normally filesystems should only implement
	->get_link for symlinks and readlink(2) will automatically use
	that.

  permission: called by the VFS to check for access rights on a POSIX-like
  	filesystem.

+0 −1
Original line number Diff line number Diff line
@@ -149,7 +149,6 @@ static const char *ll_get_link(struct dentry *dentry,
}

const struct inode_operations ll_fast_symlink_inode_operations = {
	.readlink	= generic_readlink,
	.setattr	= ll_setattr,
	.get_link	= ll_get_link,
	.getattr	= ll_getattr,
+0 −1
Original line number Diff line number Diff line
@@ -1464,7 +1464,6 @@ static const struct inode_operations v9fs_file_inode_operations = {
};

static const struct inode_operations v9fs_symlink_inode_operations = {
	.readlink = generic_readlink,
	.get_link = v9fs_vfs_get_link,
	.getattr = v9fs_vfs_getattr,
	.setattr = v9fs_vfs_setattr,
+0 −1
Original line number Diff line number Diff line
@@ -979,7 +979,6 @@ const struct inode_operations v9fs_file_inode_operations_dotl = {
};

const struct inode_operations v9fs_symlink_inode_operations_dotl = {
	.readlink = generic_readlink,
	.get_link = v9fs_vfs_get_link_dotl,
	.getattr = v9fs_vfs_getattr_dotl,
	.setattr = v9fs_vfs_setattr_dotl,
Loading