]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: CEPH_OSD_OP_WATCH return -ENOENT if !obs.exists
authorSamuel Just <sam.just@inktank.com>
Mon, 10 Mar 2014 20:01:36 +0000 (13:01 -0700)
committerSamuel Just <sam.just@inktank.com>
Tue, 11 Mar 2014 18:14:08 +0000 (11:14 -0700)
Fixes: #7671
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc

index 8ea8a624850c121637b26067ab7ce2b38a6f0da1..aec6e5f82bc521ba28c07b0bbd0f2064f7f6b66c 100644 (file)
@@ -3837,6 +3837,10 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector<OSDOp>& ops)
     case CEPH_OSD_OP_WATCH:
       ++ctx->num_write;
       {
+       if (!obs.exists) {
+         result = -ENOENT;
+         break;
+       }
         uint64_t cookie = op.watch.cookie;
        bool do_watch = op.watch.flag & 1;
         entity_name_t entity = ctx->reqid.name;