We will still hold wrlocks and xlocks until journal entry commits.
v0.7
- ENOSPC
-- async metadata ops
+- fully async file creation
v0.8
- cas?
on cdir store is sufficient if mdlog survives...
- or what the hell, full trace?
- mds scrubbing
-/- rados scrubbing
timer
wrlock_finish(*mut->wrlocks.begin(), mut);
}
+void Locker::drop_rdlocks(Mutation *mut)
+{
+ while (!mut->rdlocks.empty())
+ rdlock_finish(*mut->rdlocks.begin(), mut);
+}
+
// generics
void drop_locks(Mutation *mut);
void set_xlocks_done(Mutation *mut);
+ void drop_rdlocks(Mutation *mut);
void eval_gather(SimpleLock *lock);
void eval_cap_gather(CInode *in);
// mark xlocks "done", indicating that we are exposing uncommitted changes
mds->locker->set_xlocks_done(mdr);
+ mds->locker->drop_rdlocks(mdr);
mdr->did_early_reply = true;
}