summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-07-06 09:21:47 -0700
committerSage Weil <sage@inktank.com>2013-07-06 09:22:29 -0700
commitb684fcfd7a47001286548e28d99e3f920e9bab5b (patch)
tree0c5a813d48efb0c68e2cb94359a6bbb11a449fd9
parentdb2bb270e93ed44f9252d65d1d4c9b36875d0ea5 (diff)
downloadceph-wip-mds-lazyio-cuttlefish.tar.gz
mds: do not allow GLAZYIO in mix->sync statewip-mds-lazyio-cuttlefish
GLAZYIO is not allowed in SYNC, so we cannot allow it in the preceding gather state. I verified the other GLAZYIO rules look ok. We should make a validater to confirm that no gather state includes caps that its target state does not... or at least assert as much in eval_gather(). Backport: cuttlefish Signed-off-by: Sage Weil <sage@inktank.com> (cherry picked from commit b88938e5a646fbf175a7135e872bcb2d1afafbb8)
-rw-r--r--src/mds/locks.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mds/locks.c b/src/mds/locks.c
index c7dd5bec0ee..fdc6b263d5d 100644
--- a/src/mds/locks.c
+++ b/src/mds/locks.c
@@ -91,8 +91,8 @@ const struct sm_state_t filelock[LOCK_MAX] = {
[LOCK_SYNC] = { 0, false, LOCK_SYNC, ANY, 0, ANY, 0, 0, ANY, 0, CEPH_CAP_GSHARED|CEPH_CAP_GCACHE|CEPH_CAP_GRD,0,0,CEPH_CAP_GSHARED|CEPH_CAP_GCACHE|CEPH_CAP_GRD },
[LOCK_LOCK_SYNC] = { LOCK_SYNC, false, LOCK_LOCK, AUTH, 0, 0, 0, 0, 0, 0, CEPH_CAP_GCACHE,0,0,0 },
[LOCK_EXCL_SYNC] = { LOCK_SYNC, true, LOCK_LOCK, 0, 0, 0, 0, XCL, 0, 0, 0,CEPH_CAP_GSHARED|CEPH_CAP_GCACHE|CEPH_CAP_GRD,0,0 },
- [LOCK_MIX_SYNC] = { LOCK_SYNC, false, LOCK_MIX_SYNC2,0,0, 0, 0, 0, 0, 0, CEPH_CAP_GRD|CEPH_CAP_GLAZYIO,0,0,CEPH_CAP_GRD },
- [LOCK_MIX_SYNC2] = { LOCK_SYNC, false, 0, 0, 0, 0, 0, 0, 0, 0, CEPH_CAP_GRD|CEPH_CAP_GLAZYIO,0,0,CEPH_CAP_GRD },
+ [LOCK_MIX_SYNC] = { LOCK_SYNC, false, LOCK_MIX_SYNC2,0,0, 0, 0, 0, 0, 0, CEPH_CAP_GRD,0,0,CEPH_CAP_GRD },
+ [LOCK_MIX_SYNC2] = { LOCK_SYNC, false, 0, 0, 0, 0, 0, 0, 0, 0, CEPH_CAP_GRD,0,0,CEPH_CAP_GRD },
[LOCK_SNAP_SYNC] = { LOCK_SYNC, false, LOCK_LOCK, 0, 0, 0, 0, AUTH,0, 0, 0,0,0,0 },
[LOCK_XSYN_SYNC] = { LOCK_SYNC, true, LOCK_LOCK, AUTH, 0, AUTH,0, 0, 0, 0, 0,CEPH_CAP_GCACHE,0,0 },