[PATCH] [RFC] xfsprogs: add -p for hole punching to falloc command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux