diff --git a/src/mds/locks.c b/src/mds/locks.c index e66c6810095..19cc795a0e8 100644 --- a/src/mds/locks.c +++ b/src/mds/locks.c @@ -22,7 +22,7 @@ struct sm_state_t simplelock[20] = { [LOCK_SYNC_LOCK] = { LOCK_LOCK, false, LOCK_LOCK, ANY, 0, 0, 0, 0, 0, 0,0,0 }, [LOCK_EXCL_LOCK] = { LOCK_LOCK, false, LOCK_LOCK, 0, 0, 0, 0, 0, 0, 0,0,0 }, - [LOCK_XLOCK] = { 0, false, LOCK_LOCK, 0, XCL, 0, 0, 0, 0, 0,0,0 }, + [LOCK_XLOCK] = { LOCK_SYNC, false, LOCK_LOCK, 0, XCL, 0, 0, 0, 0, 0,0,0 }, [LOCK_XLOCKDONE] = { LOCK_SYNC, false, LOCK_LOCK, XCL, XCL, XCL, 0, XCL, XCL, 0,0,0 }, [LOCK_LOCK_XLOCK]= { LOCK_XLOCK,false, LOCK_LOCK, 0, 0, 0, 0, 0, 0, 0,0,0 }, @@ -88,7 +88,7 @@ struct sm_state_t filelock[30] = { [LOCK_EXCL_LOCK] = { LOCK_LOCK, false, LOCK_LOCK, 0, 0, 0, 0, 0, 0, CEPH_CAP_GRDCACHE|CEPH_CAP_GWRBUFFER,0,CEPH_CAP_GRDCACHE }, [LOCK_MIX_LOCK] = { LOCK_LOCK, false, LOCK_LOCK, AUTH, 0, 0, 0, 0, 0, 0,0,0 }, - [LOCK_XLOCK] = { 0, false, LOCK_LOCK, 0, XCL, 0, 0, 0, 0, 0,0,0 }, + [LOCK_XLOCK] = { LOCK_SYNC, false, LOCK_LOCK, 0, XCL, 0, 0, 0, 0, 0,0,0 }, [LOCK_XLOCKDONE] = { LOCK_SYNC, false, LOCK_LOCK, XCL, XCL, XCL, 0, XCL, XCL, 0,0,0 }, [LOCK_MIX] = { 0, false, LOCK_MIX, 0, 0, FW, ANY, 0, 0, CEPH_CAP_GRD|CEPH_CAP_GWR,0,CEPH_CAP_GRD },