diff options
author | Anand Avati <avati@redhat.com> | 2013-03-27 19:55:58 -0700 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-03-27 22:16:12 -0700 |
commit | 8909c28c1173e10fd2f10706bd8a0f2ca5b5d685 (patch) | |
tree | ec51c2507b2c50ca8bb01453c9645d49b38ee88e /extras | |
parent | ca10fdc81a72a71ac67ac9fc8c5ad5b92febd875 (diff) |
cluster/afr: fsync() guarantees POST-OP completion
AFR now provides a stronger guarantee that fsync() returns only
after completely finishing all the deferred/delayed POST-OP on that
open file.
To acheive this we make a stub out of the returning fsync and
register it with the "delayed" frame in afr_changelog_wake_resume().
The delayed frame, after getting woken up and finishing the POST-OP
will call_resume() the registered stub (which UNWINDs the fsync) at
the time of frame destruction.
This provides a guarantee that an application's (or FUSE) fsync()
returns only after finishing up all the previous transactions,
including delayed POST-OPs and UNLOCK.
Change-Id: Iaa955457e2f25088a144fde37ad0444277b5cf49
BUG: 927146
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/4737
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'extras')
0 files changed, 0 insertions, 0 deletions