All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
To: Erez Zadok <ezk@cs.sunysb.edu>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Dustin Kirkland <kirkland@canonical.com>,
	linux-fsdevel@vger.kernel.org, viro@zeniv.linux.org.uk
Subject: Re: [PATCH] fsstack/ecryptfs: remove unused get_nlinks param to fsstack_copy_attr_all
Date: Thu, 3 Dec 2009 11:12:42 -0600	[thread overview]
Message-ID: <20091203171242.GA32186@boomer> (raw)
In-Reply-To: <200912030051.nB30ps66007967@agora.fsl.cs.sunysb.edu>

On Wed Dec 02, 2009 at 07:51:54PM -0500, Erez Zadok (ezk@cs.sunysb.edu) was quoted:
> 
> Andrew/Tyler/Dustin,
> 
> This get_nlinks parameter was never used by the only mainline user,
> ecryptfs; and it has never been used by unionfs or wrapfs either.  I've been
> using this patch in unionfs for over 4 years now; given that it's a no-op to
> ecryptfs, I think it can safely go straight to mainline.
> 
> BTW, Mike Halcrow signed off on this patch a long time ago.
> 
>  fs/ecryptfs/dentry.c     |    2 +-
>  fs/ecryptfs/inode.c      |    6 +++---
>  fs/ecryptfs/main.c       |    2 +-
>  fs/stack.c               |   17 +++--------------
>  include/linux/fs_stack.h |    4 +---
>  5 files changed, 9 insertions(+), 22 deletions(-)
> 
> Thanks,
> Erez.
> 
> ------------------------------------------------------------------------------
> 
> fsstack/ecryptfs: remove unused get_nlinks param to fsstack_copy_attr_all
> 
> Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>

Acked-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>

Al, since this touches fs/*.c, do you want to carry it or should I keep
it in the eCryptfs next branch?

> 
> diff --git a/fs/ecryptfs/dentry.c b/fs/ecryptfs/dentry.c
> index 2dda5ad..8f006a0 100644
> --- a/fs/ecryptfs/dentry.c
> +++ b/fs/ecryptfs/dentry.c
> @@ -62,7 +62,7 @@ static int ecryptfs_d_revalidate(struct dentry *dentry, struct nameidata *nd)
>  		struct inode *lower_inode =
>  			ecryptfs_inode_to_lower(dentry->d_inode);
> 
> -		fsstack_copy_attr_all(dentry->d_inode, lower_inode, NULL);
> +		fsstack_copy_attr_all(dentry->d_inode, lower_inode);
>  	}
>  out:
>  	return rc;
> diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c
> index 056fed6..429ca0b 100644
> --- a/fs/ecryptfs/inode.c
> +++ b/fs/ecryptfs/inode.c
> @@ -626,9 +626,9 @@ ecryptfs_rename(struct inode *old_dir, struct dentry *old_dentry,
>  			lower_new_dir_dentry->d_inode, lower_new_dentry);
>  	if (rc)
>  		goto out_lock;
> -	fsstack_copy_attr_all(new_dir, lower_new_dir_dentry->d_inode, NULL);
> +	fsstack_copy_attr_all(new_dir, lower_new_dir_dentry->d_inode);
>  	if (new_dir != old_dir)
> -		fsstack_copy_attr_all(old_dir, lower_old_dir_dentry->d_inode, NULL);
> +		fsstack_copy_attr_all(old_dir, lower_old_dir_dentry->d_inode);
>  out_lock:
>  	unlock_rename(lower_old_dir_dentry, lower_new_dir_dentry);
>  	dput(lower_new_dentry->d_parent);
> @@ -967,7 +967,7 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia)
>  	rc = notify_change(lower_dentry, ia);
>  	mutex_unlock(&lower_dentry->d_inode->i_mutex);
>  out:
> -	fsstack_copy_attr_all(inode, lower_inode, NULL);
> +	fsstack_copy_attr_all(inode, lower_inode);
>  	return rc;
>  }
> 
> diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c
> index c6ac85d..427588a 100644
> --- a/fs/ecryptfs/main.c
> +++ b/fs/ecryptfs/main.c
> @@ -194,7 +194,7 @@ int ecryptfs_interpose(struct dentry *lower_dentry, struct dentry *dentry,
>  		init_special_inode(inode, lower_inode->i_mode,
>  				   lower_inode->i_rdev);
>  	dentry->d_op = &ecryptfs_dops;
> -	fsstack_copy_attr_all(inode, lower_inode, NULL);
> +	fsstack_copy_attr_all(inode, lower_inode);
>  	/* This size will be overwritten for real files w/ headers and
>  	 * other metadata */
>  	fsstack_copy_inode_size(inode, lower_inode);
> diff --git a/fs/stack.c b/fs/stack.c
> index 67716f6..0e20e43 100644
> --- a/fs/stack.c
> +++ b/fs/stack.c
> @@ -14,11 +14,8 @@ void fsstack_copy_inode_size(struct inode *dst, const struct inode *src)
>  }
>  EXPORT_SYMBOL_GPL(fsstack_copy_inode_size);
> 
> -/* copy all attributes; get_nlinks is optional way to override the i_nlink
> - * copying
> - */
> -void fsstack_copy_attr_all(struct inode *dest, const struct inode *src,
> -				int (*get_nlinks)(struct inode *))
> +/* copy all attributes */
> +void fsstack_copy_attr_all(struct inode *dest, const struct inode *src)
>  {
>  	dest->i_mode = src->i_mode;
>  	dest->i_uid = src->i_uid;
> @@ -29,14 +26,6 @@ void fsstack_copy_attr_all(struct inode *dest, const struct inode *src,
>  	dest->i_ctime = src->i_ctime;
>  	dest->i_blkbits = src->i_blkbits;
>  	dest->i_flags = src->i_flags;
> -
> -	/*
> -	 * Update the nlinks AFTER updating the above fields, because the
> -	 * get_links callback may depend on them.
> -	 */
> -	if (!get_nlinks)
> -		dest->i_nlink = src->i_nlink;
> -	else
> -		dest->i_nlink = (*get_nlinks)(dest);
> +	dest->i_nlink = src->i_nlink;
>  }
>  EXPORT_SYMBOL_GPL(fsstack_copy_attr_all);
> diff --git a/include/linux/fs_stack.h b/include/linux/fs_stack.h
> index bb516ce..aa60311 100644
> --- a/include/linux/fs_stack.h
> +++ b/include/linux/fs_stack.h
> @@ -8,9 +8,7 @@
>  #include <linux/fs.h>
> 
>  /* externs for fs/stack.c */
> -extern void fsstack_copy_attr_all(struct inode *dest, const struct inode *src,
> -				int (*get_nlinks)(struct inode *));
> -
> +extern void fsstack_copy_attr_all(struct inode *dest, const struct inode *src);
>  extern void fsstack_copy_inode_size(struct inode *dst, const struct inode *src);
> 
>  /* inlines */

  reply	other threads:[~2009-12-03 17:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-03  0:51 [PATCH] fsstack/ecryptfs: remove unused get_nlinks param to fsstack_copy_attr_all Erez Zadok
2009-12-03 17:12 ` Tyler Hicks [this message]
2009-12-03 17:32 ` Dustin Kirkland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091203171242.GA32186@boomer \
    --to=tyhicks@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=ezk@cs.sunysb.edu \
    --cc=kirkland@canonical.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.