From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dustin Kirkland Subject: Re: [PATCH] fsstack/ecryptfs: remove unused get_nlinks param to fsstack_copy_attr_all Date: Thu, 03 Dec 2009 11:32:36 -0600 Message-ID: <1259861556.8436.129.camel@x200> References: <200912030051.nB30ps66007967@agora.fsl.cs.sunysb.edu> Reply-To: kirkland@canonical.com Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-OXeXsZfMfYxCvabzIKGH" Cc: Andrew Morton , Tyler Hicks , linux-fsdevel@vger.kernel.org, viro@zeniv.linux.org.uk To: Erez Zadok Return-path: Received: from adelie.canonical.com ([91.189.90.139]:53187 "EHLO adelie.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753284AbZLCRcq (ORCPT ); Thu, 3 Dec 2009 12:32:46 -0500 In-Reply-To: <200912030051.nB30ps66007967@agora.fsl.cs.sunysb.edu> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: --=-OXeXsZfMfYxCvabzIKGH Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2009-12-02 at 19:51 -0500, Erez Zadok wrote: > Andrew/Tyler/Dustin, >=20 > 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 b= een > 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. >=20 > BTW, Mike Halcrow signed off on this patch a long time ago. >=20 > 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(-) >=20 > Thanks, > Erez. >=20 > -------------------------------------------------------------------------= ----- >=20 > fsstack/ecryptfs: remove unused get_nlinks param to fsstack_copy_attr_all >=20 > Signed-off-by: Erez Zadok Thanks Erez. Looks okay to me. Acked-by: Dustin Kirkland > 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 =3D > ecryptfs_inode_to_lower(dentry->d_inode); > =20 > - 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 !=3D 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, st= ruct iattr *ia) > rc =3D 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; > } > =20 > 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, s= truct dentry *dentry, > init_special_inode(inode, lower_inode->i_mode, > lower_inode->i_rdev); > dentry->d_op =3D &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); > =20 > -/* copy all attributes; get_nlinks is optional way to override the i_nli= nk > - * 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 =3D src->i_mode; > dest->i_uid =3D src->i_uid; > @@ -29,14 +26,6 @@ void fsstack_copy_attr_all(struct inode *dest, const s= truct inode *src, > dest->i_ctime =3D src->i_ctime; > dest->i_blkbits =3D src->i_blkbits; > dest->i_flags =3D 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 =3D src->i_nlink; > - else > - dest->i_nlink =3D (*get_nlinks)(dest); > + dest->i_nlink =3D 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 > =20 > /* 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 inod= e *src); > =20 > /* inlines */ --=-OXeXsZfMfYxCvabzIKGH Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAksX9jEACgkQs7pNXIOmEZQAWwCePZ0uAxOzudIMW6GXOh4XUeX1 z9sAoIT/dMmrGRpSK5pJH9tAT4aPuaUC =8fej -----END PGP SIGNATURE----- --=-OXeXsZfMfYxCvabzIKGH--