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@canb.auug.org.au>
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@canb.auug.org.au>
---
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);
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);
d_instantiate(dentry, inode);
err = v9fs_fid_add(dentry, fid);
if (err < 0)
@@ -233,7 +233,7 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
err = PTR_ERR(inode);
goto error;
}
- dentry->d_op = &v9fs_dentry_operations;
+ d_set_d_op(dentry, &v9fs_dentry_operations);
...