[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20101215111423.6ba822eb.sfr@canb.auug.org.au>
Date: Wed, 15 Dec 2010 11:14:23 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Sage Weil <sage@...dream.net>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Herb Shiu <herb_shiu@...oudcomputing.com>
Subject: linux-next: manual merge of the ceph tree with Linus' tree
Hi Sage,
Today's linux-next merge of the ceph tree got a conflict in
fs/ceph/mds_client.c between commit
25933abdd8c562182ca6dc9f8c4c2cc8265c3a80 ("ceph: Handle file locks in
replies from the MDS") from Linus' tree and commit
cba1a66d511d46c426ea02c322293b48f3b88cf2 ("ceph: implement DIRLAYOUTHASH
feature to get dir layout from MDS") from the ceph tree.
I fixed it up (hopefully correctly, see below) and can carry this fix as
necessary.
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
diff --cc fs/ceph/mds_client.c
index 38800ea,bb9ff98..0000000
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@@ -202,38 -212,6 +211,38 @@@ out_bad
}
/*
+ * parse fcntl F_GETLK results
+ */
+static int parse_reply_info_filelock(void **p, void *end,
+ struct ceph_mds_reply_info_parsed *info)
+{
+ if (*p + sizeof(*info->filelock_reply) > end)
+ goto bad;
+
+ info->filelock_reply = *p;
+ *p += sizeof(*info->filelock_reply);
+
+ if (unlikely(*p != end))
+ goto bad;
+ return 0;
+
+bad:
+ return -EIO;
+}
+
+/*
+ * parse extra results
+ */
+static int parse_reply_info_extra(void **p, void *end,
- struct ceph_mds_reply_info_parsed *info)
++ struct ceph_mds_reply_info_parsed *info, int features)
+{
+ if (info->head->op == CEPH_MDS_OP_GETFILELOCK)
+ return parse_reply_info_filelock(p, end, info);
+ else
- return parse_reply_info_dir(p, end, info);
++ return parse_reply_info_dir(p, end, info, features);
+}
+
+/*
* parse entire mds reply
*/
static int parse_reply_info(struct ceph_msg *msg,
@@@ -255,10 -234,10 +265,10 @@@
goto out_bad;
}
- /* dir content */
+ /* extra */
ceph_decode_32_safe(&p, end, len, bad);
if (len > 0) {
- err = parse_reply_info_extra(&p, p+len, info);
- err = parse_reply_info_dir(&p, p+len, info, features);
++ err = parse_reply_info_extra(&p, p+len, info, features);
if (err < 0)
goto out_bad;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists