Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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