Whamcloud - gitweb
contrib/fallocate: add support for punch functionality
authorTheodore Ts'o <tytso@mit.edu>
Thu, 6 Dec 2012 16:21:44 +0000 (11:21 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 6 Dec 2012 16:21:44 +0000 (11:21 -0500)
Also fix the -o option so it works correctly (instead of core
dumping).

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
contrib/fallocate.c

index 0e8319f..1436b70 100644 (file)
@@ -35,6 +35,7 @@
 
 // #include <linux/falloc.h>
 #define FALLOC_FL_KEEP_SIZE    0x01
+#define FALLOC_FL_PUNCH_HOLE   0x02 /* de-allocates range */
 
 void usage(void)
 {
@@ -94,12 +95,17 @@ int main(int argc, char **argv)
        int     error;
        int     tflag = 0;
 
-       while ((opt = getopt(argc, argv, "nl:ot")) != -1) {
+       while ((opt = getopt(argc, argv, "npl:o:t")) != -1) {
                switch(opt) {
                case 'n':
                        /* do not change filesize */
                        falloc_mode = FALLOC_FL_KEEP_SIZE;
                        break;
+               case 'p':
+                       /* punch mode */
+                       falloc_mode = (FALLOC_FL_PUNCH_HOLE |
+                                      FALLOC_FL_KEEP_SIZE);
+                       break;
                case 'l':
                        length = cvtnum(optarg);
                        break;