linux-next: manual merge of the vfs-scale tree with the fuse tree

From: Stephen Rothwell
Date: Mon Dec 13 2010 - 19:52:50 EST


Hi Nick,

Today's linux-next merge of the vfs-scale tree got a conflict in
fs/fuse/inode.c between commit 07e77dca8a1f17a724a9b7449f0ca02e70e9d057
("fuse: separate queue for FORGET requests") from the fuse tree and
commit 63f9f95ab724a86391d1f5370aacacac5f87fadc ("fs: icache RCU free
inodes") from the vfs-scale tree.

I fixed it up (see below) and can carry the fix as necessary.
--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

diff --cc fs/fuse/inode.c
index 7ba4d35,a8b31da..0000000
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@@ -109,10 -111,24 +116,10 @@@ static void fuse_destroy_inode(struct i
struct fuse_inode *fi = get_fuse_inode(inode);
BUG_ON(!list_empty(&fi->write_files));
BUG_ON(!list_empty(&fi->queued_writes));
- if (fi->forget_req)
- fuse_request_free(fi->forget_req);
+ kfree(fi->forget);
- kmem_cache_free(fuse_inode_cachep, inode);
+ call_rcu(&inode->i_rcu, fuse_i_callback);
}

-void fuse_send_forget(struct fuse_conn *fc, struct fuse_req *req,
- u64 nodeid, u64 nlookup)
-{
- struct fuse_forget_in *inarg = &req->misc.forget_in;
- inarg->nlookup = nlookup;
- req->in.h.opcode = FUSE_FORGET;
- req->in.h.nodeid = nodeid;
- req->in.numargs = 1;
- req->in.args[0].size = sizeof(struct fuse_forget_in);
- req->in.args[0].value = inarg;
- fuse_request_send_noreply(fc, req);
-}
-
static void fuse_evict_inode(struct inode *inode)
{
truncate_inode_pages(&inode->i_data, 0);
--
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/