summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d7d143e)
Previously, if an inode changed while it was being committed, we would
stall all future commits. Now allow those commits to proceed once the
first commit is done.
g_mutex_lock(inode->lock);
inode->change_commit = inode->change_pending;
g_mutex_lock(inode->lock);
inode->change_commit = inode->change_pending;
+ inode->change_pending = 0;
if (inode->change_count == inode->change_commit) {
/* If inode is no longer dirty... */
inode->change_time = 0;
if (inode->change_count == inode->change_commit) {
/* If inode is no longer dirty... */
inode->change_time = 0;
- inode->change_pending = 0;
}
g_mutex_unlock(inode->lock);
}
g_mutex_unlock(inode->lock);