diff options
author | vmallika <vmallika@redhat.com> | 2015-10-07 15:24:46 +0530 |
---|---|---|
committer | Raghavendra G <rgowdapp@redhat.com> | 2015-10-13 03:42:53 -0700 |
commit | 130190a3e1f2226883284aedbd63a9505fd0b702 (patch) | |
tree | 26ec2027f13cd764458a26358e420bbb2b7ff046 /xlators/protocol | |
parent | 0f5c3e88f145005f963172e3ada10dbf6d6a607c (diff) |
quota/marker: dir_count accounting is not atomic
This is a backport of http://review.gluster.org/#/c/11694/
Consider below scenario:
Quota enabled on pre-existing data
Now quota-crawl process will start healing xattrs
Now if write is performed where healing is not complete, there is a
possibility that 'update txn' is started before 'create xattr txn', in
this case dir count can be missed on a dir where quota size xattr is not
yet created.
Solution is to get size xattr and if xattr is missing, add 1 for
dir_count, this requires one additional fop if done in marker during
each update iteration
Better solution is to us xattrop GF_XATTROP_ADD_ARRAY64_WITH_DEFAULT
> Change-Id: Idc8978860a3914e70c98f96effeff52e9a24e6ba
> BUG: 1243798
> Signed-off-by: vmallika <vmallika@redhat.com>
> Reviewed-on: http://review.gluster.org/11694
> Tested-by: NetBSD Build System <jenkins@build.gluster.org>
> Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Change-Id: If553372c31093d86fabe5a2ae5044a2cff28c3dc
BUG: 1270769
Signed-off-by: vmallika <vmallika@redhat.com>
Reviewed-on: http://review.gluster.org/12341
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Diffstat (limited to 'xlators/protocol')
0 files changed, 0 insertions, 0 deletions