[PATCH] [RFC] xfsprogs: add -p for hole punching to falloc command
Josef Bacik
josef at redhat.com
Fri Nov 12 15:55:05 CST 2010
Obviously this is highly dependant upon my current implementation of hole
punching via fallocate going in, but this is the support code for falloc to deal
with hole punching. This is necessary to run the xfstest I have to make sure
the punching stuff is working properly. Thanks,
Signed-off-by: Josef Bacik <josef at redhat.com>
---
io/prealloc.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/io/prealloc.c b/io/prealloc.c
index c8b7df6..4b14da7 100644
--- a/io/prealloc.c
+++ b/io/prealloc.c
@@ -153,12 +153,23 @@ fallocate_f(
xfs_flock64_t segment;
int mode = 0;
int c;
+ const char *opts;
- while ((c = getopt(argc, argv, "k")) != EOF) {
+#if defined (FALLOC_FL_PUNCH_HOLE)
+ opts = "kp";
+#else
+ opts = "k";
+#endif
+ while ((c = getopt(argc, argv, opts)) != EOF) {
switch (c) {
case 'k':
mode = FALLOC_FL_KEEP_SIZE;
break;
+#if defined (FALLOC_FL_PUNCH_HOLE)
+ case 'p':
+ mode = FALLOC_FL_PUNCH_HOLE;
+ break;
+#endif
default:
command_usage(&falloc_cmd);
}
@@ -236,7 +247,11 @@ prealloc_init(void)
falloc_cmd.argmin = 2;
falloc_cmd.argmax = -1;
falloc_cmd.flags = CMD_NOMAP_OK | CMD_FOREIGN_OK;
+#if defined (FALLOC_FL_PUNCH_HOLE)
+ falloc_cmd.args = _("[-k] [-p] off len");
+#else
falloc_cmd.args = _("[-k] off len");
+#endif
falloc_cmd.oneline =
_("allocates space associated with part of a file via fallocate");
--
1.6.6.1
More information about the xfs
mailing list