From 7cf383f76862d012b81a93b7917558b47fe7e115 Mon Sep 17 00:00:00 2001 From: "Yan, Zheng" Date: Fri, 4 Jan 2013 15:30:10 +0800 Subject: [PATCH] --- yaml --- r: 359560 b: refs/heads/master c: 390306c38dd43908f7f7730229999790a773d1d5 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ceph/caps.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index ba946ddd0587..44ad3a036abc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 66f58691c5c820283dd7e4d6fe8649033ed43ceb +refs/heads/master: 390306c38dd43908f7f7730229999790a773d1d5 diff --git a/trunk/fs/ceph/caps.c b/trunk/fs/ceph/caps.c index 40b5bbe63a39..1e1e02055a2b 100644 --- a/trunk/fs/ceph/caps.c +++ b/trunk/fs/ceph/caps.c @@ -2429,7 +2429,9 @@ static void handle_cap_grant(struct inode *inode, struct ceph_mds_caps *grant, dout("mds wanted %s -> %s\n", ceph_cap_string(le32_to_cpu(grant->wanted)), ceph_cap_string(wanted)); - grant->wanted = cpu_to_le32(wanted); + /* imported cap may not have correct mds_wanted */ + if (le32_to_cpu(grant->op) == CEPH_CAP_OP_IMPORT) + check_caps = 1; } cap->seq = seq;