From: Patrick Donnelly Date: Sun, 20 May 2018 23:52:25 +0000 (-0700) Subject: Merge PR #22045 into master X-Git-Tag: v14.0.0~82 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=ad55214d3b883cedbd4be3487d9f8e1d6d21a991;p=ceph-ci.git Merge PR #22045 into master * refs/pull/22045/head: client: cleanup Cap init Reviewed-by: Sage Weil --- ad55214d3b883cedbd4be3487d9f8e1d6d21a991 diff --cc src/client/Client.cc index 832070dac64,56fc4564646..0c45980d3fa --- a/src/client/Client.cc +++ b/src/client/Client.cc @@@ -4089,11 -4086,10 +4086,11 @@@ void Client::trim_caps(MetaSession *s, uint64_t trimmed = 0; auto p = s->caps.begin(); - std::set anchor; /* prevent put_inode from deleting all caps during traversal */ + std::set to_trim; /* this avoids caps other than the one we're + * looking at from getting deleted during traversal. */ while ((caps_size - trimmed) > max && !p.end()) { Cap *cap = *p; - InodeRef in(cap->inode); + InodeRef in(&cap->inode); // Increment p early because it will be invalidated if cap // is deleted inside remove_cap