From 8467b3bec8bb35d5afd0370b2d2a2703e33dd686 Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Sat, 18 Oct 2014 12:15:03 -0400 Subject: [PATCH] contrib: add support for COLLAPSE_RANGE and ZERO_RANGE to falocate program Signed-off-by: Darrick J. Wong Signed-off-by: Theodore Ts'o --- contrib/fallocate.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/contrib/fallocate.c b/contrib/fallocate.c index 1f9b59a..01d4af7 100644 --- a/contrib/fallocate.c +++ b/contrib/fallocate.c @@ -36,6 +36,8 @@ // #include #define FALLOC_FL_KEEP_SIZE 0x01 #define FALLOC_FL_PUNCH_HOLE 0x02 /* de-allocates range */ +#define FALLOC_FL_COLLAPSE_RANGE 0x08 +#define FALLOC_FL_ZERO_RANGE 0x10 void usage(void) { @@ -95,7 +97,7 @@ int main(int argc, char **argv) int error; int tflag = 0; - while ((opt = getopt(argc, argv, "npl:o:t")) != -1) { + while ((opt = getopt(argc, argv, "npl:o:tzc")) != -1) { switch(opt) { case 'n': /* do not change filesize */ @@ -106,6 +108,16 @@ int main(int argc, char **argv) falloc_mode = (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE); break; + case 'c': + /* collapse range mode */ + falloc_mode = (FALLOC_FL_COLLAPSE_RANGE | + FALLOC_FL_KEEP_SIZE); + break; + case 'z': + /* zero range mode */ + falloc_mode = (FALLOC_FL_ZERO_RANGE | + FALLOC_FL_KEEP_SIZE); + break; case 'l': length = cvtnum(optarg); break; -- 1.8.3.1