]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #3121 from ceph/wip-10277
authorGregory Farnum <greg@gregs42.com>
Fri, 19 Dec 2014 22:45:44 +0000 (14:45 -0800)
committerGregory Farnum <greg@gregs42.com>
Fri, 19 Dec 2014 22:45:44 +0000 (14:45 -0800)
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
1  2 
src/client/Client.cc
src/client/Client.h
src/client/fuse_ll.cc

index 11222b4d90c46182b0a6d9d72c61a793cda7ab09,a85b63580eed74965001b05370f7aae5ed5af7f4..b7a87115ecfbeec92568bbb66e4e02b5085d6bc6
@@@ -3463,18 -3351,11 +3469,21 @@@ void Client::trim_caps(MetaSession *s, 
      }
    }
    s->s_cap_iterator = NULL;
+   if (s->caps.size() > max)
+     _invalidate_kernel_dcache();
  }
  
 +void Client::force_session_readonly(MetaSession *s)
 +{
 +  s->readonly = true;
 +  for (xlist<Cap*>::iterator p = s->caps.begin(); !p.end(); ++p) {
 +    Inode *in = (*p)->inode;
 +    if (in->caps_wanted() & CEPH_CAP_FILE_WR)
 +      signal_cond_list(in->waitfor_caps);
 +  }
 +}
 +
  void Client::mark_caps_dirty(Inode *in, int caps)
  {
    ldout(cct, 10) << "mark_caps_dirty " << *in << " " << ccap_string(in->dirty_caps) << " -> "
Simple merge
Simple merge