From: Yuri Weinstein Date: Sat, 9 Jun 2018 14:23:02 +0000 (-0700) Subject: Merge pull request #22354 from ukernel/luminous-24369 X-Git-Tag: v12.2.6~43 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cfae9187fb2f17a967469a7ac91c10340eb6557e;p=ceph.git Merge pull request #22354 from ukernel/luminous-24369 luminous: client: void sending mds request while holding cap reference Reviewed-by: Patrick Donnelly --- cfae9187fb2f17a967469a7ac91c10340eb6557e diff --cc src/client/Client.cc index 78fd9e9bc06d0,306413f50de1c..bf1cba22f1ac6 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@@ -9307,9 -9363,9 +9308,9 @@@ success // extend file? if (totalwritten + offset > in->size) { in->size = totalwritten + offset; - mark_caps_dirty(in, CEPH_CAP_FILE_WR); + in->mark_caps_dirty(CEPH_CAP_FILE_WR); - if (is_quota_bytes_approaching(in, f->actor_perms)) { + if (is_quota_bytes_approaching(in, quota_roots)) { check_caps(in, CHECK_CAPS_NODELAY); } else if (is_max_size_approaching(in)) { check_caps(in, 0); @@@ -12992,9 -13032,9 +12994,9 @@@ int Client::_fallocate(Fh *fh, int mode in->size = size; in->mtime = ceph_clock_now(); in->change_attr++; - mark_caps_dirty(in, CEPH_CAP_FILE_WR); + in->mark_caps_dirty(CEPH_CAP_FILE_WR); - if (is_quota_bytes_approaching(in, fh->actor_perms)) { + if (is_quota_bytes_approaching(in, quota_roots)) { check_caps(in, CHECK_CAPS_NODELAY); } else if (is_max_size_approaching(in)) { check_caps(in, 0);