}
-int Client::get_caps(Inode *in, int need, int want, int *got, loff_t endoff)
+int Client::get_caps(Inode *in, int need, int want, int *phave, loff_t endoff)
{
while (1) {
if (endoff > 0 &&
<< " but not " << ccap_string(butnot) << " revoking " << ccap_string(revoking)
<< dendl;
if ((revoking & butnot) == 0) {
- *got = need | (have & want);
+ *phave = need | (have & want);
in->get_cap_ref(need);
return 0;
}
//bool lazy = f->mode == CEPH_FILE_MODE_LAZY;
- int got;
- int r = get_caps(in, CEPH_CAP_FILE_RD, CEPH_CAP_FILE_CACHE, &got, -1);
+ int have;
+ int r = get_caps(in, CEPH_CAP_FILE_RD, CEPH_CAP_FILE_CACHE, &have, -1);
if (r < 0)
return r;
movepos = true;
}
- if (got & CEPH_CAP_FILE_CACHE)
+ if (have & CEPH_CAP_FILE_CACHE)
r = _read_async(f, offset, size, bl);
else
r = _read_sync(f, offset, size, bl);
bl.push_back( bp );
uint64_t endoff = offset + size;
- int got;
- int r = get_caps(in, CEPH_CAP_FILE_WR, CEPH_CAP_FILE_BUFFER, &got, endoff);
+ int have;
+ int r = get_caps(in, CEPH_CAP_FILE_WR, CEPH_CAP_FILE_BUFFER, &have, endoff);
if (r < 0)
return r;
ldout(cct, 10) << " snaprealm " << *in->snaprealm << dendl;
- if (cct->_conf->client_oc && (got & CEPH_CAP_FILE_BUFFER)) {
+ if (cct->_conf->client_oc && (have & CEPH_CAP_FILE_BUFFER)) {
// do buffered write
if (!in->oset.dirty_or_tx)
get_cap_ref(in, CEPH_CAP_FILE_BUFFER);
void flush_caps();
void flush_caps(Inode *in, int mds);
void kick_flushing_caps(int mds);
- int get_caps(Inode *in, int need, int want, int *got, loff_t endoff);
+ int get_caps(Inode *in, int need, int want, int *have, loff_t endoff);
void maybe_update_snaprealm(SnapRealm *realm, snapid_t snap_created, snapid_t snap_highwater,
vector<snapid_t>& snaps);