bool stale;
public:
- int updating; // do not release or expire until all updates commit
-
snapid_t client_follows;
version_t client_xattr_version;
_pending(0), _issued(0), _num_revoke(0),
last_sent(0),
mseq(0),
- suppress(0), stale(false), updating(0),
+ suppress(0), stale(false),
client_follows(0), client_xattr_version(0),
session_caps_item(this), snaprealm_caps_item(this) { }
//check_rdcaps_list();
}
- bool can_expire() {
- return updating == 0;
- }
-
ceph_seq_t get_last_seq() { return last_sent; }
ceph_seq_t get_last_issue() { return last_issue; }
mut->apply();
- if (cap)
- cap->updating--;
-
if (ack)
mds->send_message_client(ack, client);
mdcache->predirty_journal_parents(mut, &le->metablob, in, 0, PREDIRTY_PRIMARY, 0, follows);
mdcache->journal_dirty_inode(mut, &le->metablob, in, follows);
- cap->updating++;
-
mds->mdlog->submit_entry(le);
mds->mdlog->wait_for_sync(new C_Locker_FileUpdate_finish(this, in, mut, change_max,
client, cap, ack));