diff options
author | vmallika <vmallika@redhat.com> | 2015-03-20 14:25:58 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-03-31 23:38:42 -0700 |
commit | 3d4203fe3acad47f0a29ebe094b3e427b13f363f (patch) | |
tree | ae8b9ff2290cc57c75a8d273cd0fa2d908445933 /run-tests.sh | |
parent | d6b6c32ac7f0a6b3d77009aec8bdd0cd289bd0ff (diff) |
quota: enhancement of build ancestry
There can a small race window where marker accounting will
be missed.
Consider below example where NFS mount is used
and bricks are restarted and a write operation is performed
Currently:
T1: lookup from protocol server, quota will initiate ancestry build
T2: opendir FOP from ancestry build
T3: write FOP from client
T4: write_cbk
T5: marker initiate accounting.
There will be a problem here and txn aborts,
because build_ancestry is not complete
and parent not found for an inode
T6: opendir_cbk
T7: initiate readdirp, posix builds ancestry in readdirp
With this patch, now calling readdirp on anonoymous fd
during build ancestry:
T1: lookup from protocol server, quota will initiate ancestry build
T2: readirp FOP from ancestry build, posix builds ancestry in
readdirp
T3: write FOP from client
T4: write_cbk
T5: marker initiate accounting.
No problem here as build ancestry was performed at T1
Change-Id: I2c262c86f34f6c574940a6b8772d94f2bade9465
BUG: 1184885
Signed-off-by: vmallika <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/9954
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Tested-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'run-tests.sh')
0 files changed, 0 insertions, 0 deletions