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@xxxxxxxxxx> --- 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 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs