diff options
| author | Ravishankar N <ravishankar@redhat.com> | 2016-07-28 20:42:45 +0530 |
|---|---|---|
| committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-07-29 23:03:52 -0700 |
| commit | fe1054110ac54750ca0333a727d83b14a98e165e (patch) | |
| tree | a747d706d951e3141ee56eff1af19c22a33276c5 /api/src | |
| parent | c579303bfc4704187b1a41f658b8b3dc75b55c56 (diff) | |
posix: leverage FALLOC_FL_ZERO_RANGE in zerofill fop
Backport of http://review.gluster.org/#/c/15037/
posix_zerofill() implements zerofilling of a given (offset,length) by
doing a writev in a loop followed by an optional fsync on the file.
fallocate(2) has a FALLOC_FL_ZERO_RANGE flag which does away with all
this and provides the same result (from a userspace application point of
view) with a single syscall. This patch attempts the zerofill with the
latter and falls back to the former if it fails.
Tested using a libgfapi based C program on XFS and observed using gdb
that posix_zerofill()'s call to fallocate with FALLOC_FL_ZERO_RANGE was
a success.
Change-Id: Iceaf0cbc57c52dac63540872e8538d79e8dee631
BUG: 1361483
Signed-off-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-on: http://review.gluster.org/15044
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'api/src')
0 files changed, 0 insertions, 0 deletions
