[11/79] shmem: switch to simple_follow_link()
diff mbox

Message ID 1430803373-4948-11-git-send-email-viro@ZenIV.linux.org.uk
State New
Headers show

Commit Message

Al Viro May 5, 2015, 5:21 a.m. UTC
From: Al Viro <viro@zeniv.linux.org.uk>

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
 mm/shmem.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Jan Kara May 5, 2015, 9:24 a.m. UTC | #1
On Tue 05-05-15 06:21:45, Al Viro wrote:
> From: Al Viro <viro@zeniv.linux.org.uk>
> 
> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  Looks good. You can add:
Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  mm/shmem.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/mm/shmem.c b/mm/shmem.c
> index de98137..7f6e2f8 100644
> --- a/mm/shmem.c
> +++ b/mm/shmem.c
> @@ -2451,6 +2451,7 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s
>  			return -ENOMEM;
>  		}
>  		inode->i_op = &shmem_short_symlink_operations;
> +		inode->i_link = info->symlink;
>  	} else {
>  		error = shmem_getpage(inode, 0, &page, SGP_WRITE, NULL);
>  		if (error) {
> @@ -2474,12 +2475,6 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s
>  	return 0;
>  }
>  
> -static void *shmem_follow_short_symlink(struct dentry *dentry, struct nameidata *nd)
> -{
> -	nd_set_link(nd, SHMEM_I(d_inode(dentry))->symlink);
> -	return NULL;
> -}
> -
>  static void *shmem_follow_link(struct dentry *dentry, struct nameidata *nd)
>  {
>  	struct page *page = NULL;
> @@ -2642,7 +2637,7 @@ static ssize_t shmem_listxattr(struct dentry *dentry, char *buffer, size_t size)
>  
>  static const struct inode_operations shmem_short_symlink_operations = {
>  	.readlink	= generic_readlink,
> -	.follow_link	= shmem_follow_short_symlink,
> +	.follow_link	= simple_follow_link,
>  #ifdef CONFIG_TMPFS_XATTR
>  	.setxattr	= shmem_setxattr,
>  	.getxattr	= shmem_getxattr,
> -- 
> 2.1.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/mm/shmem.c b/mm/shmem.c
index de98137..7f6e2f8 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2451,6 +2451,7 @@  static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s
 			return -ENOMEM;
 		}
 		inode->i_op = &shmem_short_symlink_operations;
+		inode->i_link = info->symlink;
 	} else {
 		error = shmem_getpage(inode, 0, &page, SGP_WRITE, NULL);
 		if (error) {
@@ -2474,12 +2475,6 @@  static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s
 	return 0;
 }
 
-static void *shmem_follow_short_symlink(struct dentry *dentry, struct nameidata *nd)
-{
-	nd_set_link(nd, SHMEM_I(d_inode(dentry))->symlink);
-	return NULL;
-}
-
 static void *shmem_follow_link(struct dentry *dentry, struct nameidata *nd)
 {
 	struct page *page = NULL;
@@ -2642,7 +2637,7 @@  static ssize_t shmem_listxattr(struct dentry *dentry, char *buffer, size_t size)
 
 static const struct inode_operations shmem_short_symlink_operations = {
 	.readlink	= generic_readlink,
-	.follow_link	= shmem_follow_short_symlink,
+	.follow_link	= simple_follow_link,
 #ifdef CONFIG_TMPFS_XATTR
 	.setxattr	= shmem_setxattr,
 	.getxattr	= shmem_getxattr,