From: Gregory Farnum Date: Thu, 11 Dec 2014 04:39:37 +0000 (-0800) Subject: Merge pull request #3038 from ceph/wip-mds-readonly X-Git-Tag: v0.91~52^2~14 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a1eb443ee57bc71c0625f3e982751dfa344a935f;p=ceph.git Merge pull request #3038 from ceph/wip-mds-readonly Wip mds readonly Reviewed-by: Greg Farnum --- a1eb443ee57bc71c0625f3e982751dfa344a935f diff --cc src/client/Client.cc index 5cd6e861c30c,dffbb61645e2..19e5be68c3c6 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@@ -3345,8 -3358,21 +3355,18 @@@ 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::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) << " -> "