]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: do null snap flush when processing embeded cap releases
authorYan, Zheng <zyan@redhat.com>
Tue, 14 Apr 2015 03:41:46 +0000 (11:41 +0800)
committerYan, Zheng <zyan@redhat.com>
Tue, 21 Apr 2015 05:56:16 +0000 (13:56 +0800)
Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/mds/Locker.cc

index 9af0fe25e54274ce80b8d6c52552561821d25ad7..1eb102b71899d07b92ba7a49b5e87b81b0826ae3 100644 (file)
@@ -2722,6 +2722,12 @@ void Locker::process_request_cap_release(MDRequestRef& mdr, client_t client, con
     caps &= cap->issued();
   }
   cap->confirm_receipt(seq, caps);
+
+  if (!in->client_need_snapflush.empty() &&
+      (cap->issued() & CEPH_CAP_ANY_FILE_WR) == 0) {
+    _do_null_snapflush(in, client);
+  }
+
   adjust_cap_wanted(cap, wanted, issue_seq);
   
   if (mdr)