Re: linux-next: manual merge of the vfs-scale tree with the v9fs tree
From: Nick Piggin
Date: Wed Jan 05 2011 - 01:44:45 EST
On Tue, Jan 04, 2011 at 10:16:07AM -0800, Venkateswararao Jujjuri (JV) wrote:
> On 1/3/2011 5:40 PM, Stephen Rothwell wrote:
> > Hi Nick,
> >
> > Today's linux-next merge of the vfs-scale tree got a conflict in
> > fs/9p/vfs_inode.c between commit 3d21652a1d23591e7f0bbbbedae29ce78c2c1113
> > ("fs/9p: Move dotl inode operations into a seperate file") from the v9fs
> > tree and various commits from the vfs-scale tree.
> >
> > I fixed it up by using the v9fs changes to that file and then applying
> > the following merge fixup patch (which I can carry as necessary).
> >
> > Someone will need to fix this up before one of these trees is merged by
> > Linus, or to send this merge fix to Linus.
> >
> > From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > Date: Tue, 4 Jan 2011 12:33:54 +1100
> > Subject: [PATCH] v9fs: merge fix for changes in the vfs-scale tree
> >
> > Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > ---
> > fs/9p/vfs_inode_dotl.c | 22 +++++++++++-----------
> > 1 files changed, 11 insertions(+), 11 deletions(-)
> >
> > diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c
> > index 38d5880..9dd534b 100644
> > --- a/fs/9p/vfs_inode_dotl.c
> > +++ b/fs/9p/vfs_inode_dotl.c
> > @@ -78,11 +78,11 @@ static struct dentry *v9fs_dentry_from_dir_inode(struct inode *inode)
> > {
> > struct dentry *dentry;
> >
> > - spin_lock(&dcache_lock);
> > + spin_lock(&inode->i_lock);
> > /* Directory should have only one entry. */
> > BUG_ON(S_ISDIR(inode->i_mode) && !list_is_singular(&inode->i_dentry));
> > dentry = list_entry(inode->i_dentry.next, struct dentry, d_alias);
> > - spin_unlock(&dcache_lock);
> > + spin_unlock(&inode->i_lock);
>
> Are we doing away with dcache_lock?
It's on its last legs...
> I am not sure if the i_lock can serve the same purpose..but looks like with the
> current code
> there may not need any lock around this code. Aneesh/Eric do you guys have any
> comments?
Well first of all, why do you say i_lock can't serve the same purpose?
Removing locks is well and good, but if i_lock doesn't work here, then
I've made a mistake either fudnamentally in the dcache, or with a
particular pattern that v9fs uses -- either way it has to be understood.
dcache lock removal of course isn't done ad-hoc. These two patches
specifically are the ones which aim to replace this particular instance
of locking:
http://git.kernel.org/?p=linux/kernel/git/npiggin/linux-npiggin.git;a=commit;h=5d30c20d47023b95b2a0d4820917dba8ba218d1a
http://git.kernel.org/?p=linux/kernel/git/npiggin/linux-npiggin.git;a=commit;h=ef4953a772e04aef8cf5b94a9b70ffbb12b576e2
> > return dentry;
> > }
> >
> > @@ -215,7 +215,7 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
> > err);
> > goto error;
> > }
> > - dentry->d_op = &v9fs_cached_dentry_operations;
> > + d_set_d_op(dentry, &v9fs_cached_dentry_operations);
>
> Assuming that this is a macro to the same operation.. rest of the changes look
> fine to me.
Yes it's equivalent.
Thanks,
Nick
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/