]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't do_cap_update() if not inode auth
authorSage Weil <sage@newdream.net>
Thu, 11 Mar 2010 23:39:55 +0000 (15:39 -0800)
committerSage Weil <sage@newdream.net>
Thu, 11 Mar 2010 23:39:55 +0000 (15:39 -0800)
I'm surprised this one didn't bite sooner.

src/mds/Locker.cc

index dde2b3d89afa73972a10c43a37de5e5821ab1b1d..7954949b020532be678dcbd8d3e873eff5fefdc1 100644 (file)
@@ -1759,7 +1759,8 @@ void Locker::handle_client_caps(MClientCaps *m)
       if (m->get_op() == CEPH_CAP_OP_DROP)
        can_issue = false;
       
-      if (_do_cap_update(in, cap, m->get_dirty(), follows, m, ack)) {
+      if (in->is_auth() &&
+         _do_cap_update(in, cap, m->get_dirty(), follows, m, ack)) {
        // updated, cap msg is delayed
        cap->inc_suppress();
        eval(in, CEPH_CAP_LOCKS);