From: Sage Weil Date: Wed, 23 Apr 2008 02:22:53 +0000 (-0700) Subject: mds: fix cap bit calculation X-Git-Tag: v0.2~132 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2e2db6365b079525fc6cd3853916f29fb4633ec5;p=ceph.git mds: fix cap bit calculation --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 620b239f74ad9..a1137f50448a4 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -578,7 +578,7 @@ bool Locker::issue_caps(CInode *in) // do not issue _new_ bits when size|mtime is projected int careful = CEPH_CAP_EXCL|CEPH_CAP_WRBUFFER|CEPH_CAP_RDCACHE; if (sizemtime_is_projected) - allowed &= careful & cap->issued(); // only allow if already issued + allowed &= ~careful | cap->issued(); // only allow "careful" bits if already issued int before = cap->pending(); long seq = cap->issue(cap->wanted() & allowed);