[git commit] tune2fs: add support for -C MOUNT_COUNT. +40 bytes. Closes 3901.

Denys Vlasenko vda.linux at googlemail.com
Sun Sep 11 18:08:12 UTC 2011


commit: http://git.busybox.net/busybox/commit/?id=46aa5e0859646a1e8f96282b0ab2c362c7565a85
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 e2fsprogs/tune2fs.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/e2fsprogs/tune2fs.c b/e2fsprogs/tune2fs.c
index 9daec54..020bdaa 100644
--- a/e2fsprogs/tune2fs.c
+++ b/e2fsprogs/tune2fs.c
@@ -28,12 +28,13 @@ do { \
 	(sizeof(field) == 4 ? SWAP_LE32(field) : BUG_wrong_field_size())
 
 //usage:#define tune2fs_trivial_usage
-//usage:       "[-c MOUNT_CNT] "
+//usage:       "[-c MAX_MOUNT_COUNT] "
 ////usage:     "[-e errors-behavior] [-g group] "
 //usage:       "[-i DAYS] "
 ////usage:     "[-j] [-J journal-options] [-l] [-s sparse-flag] "
 ////usage:     "[-m reserved-blocks-percent] [-o [^]mount-options[,...]] "
-////usage:     "[-r reserved-blocks-count] [-u user] [-C mount-count] "
+////usage:     "[-r reserved-blocks-count] [-u user] "
+//usage:       "[-C MOUNT_COUNT] "
 //usage:       "[-L LABEL] "
 ////usage:     "[-M last-mounted-dir] [-O [^]feature[,...]] "
 ////usage:     "[-T last-check-time] [-U UUID] "
@@ -46,18 +47,19 @@ enum {
 	OPT_L = 1 << 0, // label
 	OPT_c = 1 << 1, // max mount count
 	OPT_i = 1 << 2, // check interval
+	OPT_C = 1 << 3, // current mount count
 };
 
 int tune2fs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int tune2fs_main(int argc UNUSED_PARAM, char **argv)
 {
 	unsigned opts;
-	const char *label, *str_c, *str_i;
+	const char *label, *str_c, *str_i, *str_C;
 	struct ext2_super_block *sb;
 	int fd;
 
 	opt_complementary = "=1";
-	opts = getopt32(argv, "L:c:i:", &label, &str_c, &str_i);
+	opts = getopt32(argv, "L:c:i:C:", &label, &str_c, &str_i, &str_C);
 	if (!opts)
 		bb_show_usage();
 	argv += optind; // argv[0] -- device
@@ -71,6 +73,11 @@ int tune2fs_main(int argc UNUSED_PARAM, char **argv)
 	// mangle superblock
 	//STORE_LE(sb->s_wtime, time(NULL)); - why bother?
 
+	if (opts & OPT_C) {
+		int n = xatoi_range(str_C, 1, 0xfffe);
+		STORE_LE(sb->s_mnt_count, (unsigned)n);
+	}
+
 	// set the label
 	if (opts & OPT_L)
 		safe_strncpy((char *)sb->s_volume_name, label, sizeof(sb->s_volume_name));
-- 
1.7.3.4



More information about the busybox-cvs mailing list