On Sat, Feb 23, 2013 at 10:46:51AM +0100, Bernhard Reutner-Fischer wrote: >On Fri, Feb 22, 2013 at 02:43:36PM +0200, [email protected] wrote: >>From: Malek Degachi <[email protected]> >> >>fstrim applet is a port from util-linux. >> >>"Trimming" your NAND/eMMC storage will restore the write performance back to >>normal >>after having slow down issues on sequential write and random write due to >>usage over time. >> >>Good reading on subject: >>http://forum.xda-developers.com/showthread.php?t=1971852 >> >>Signed-off-by: Eugene San (eugenesan) <[email protected]> >>--- >> include/applets.src.h | 1 + >> util-linux/Config.src | 7 ++++ >> util-linux/Kbuild.src | 1 + >> util-linux/fstrim.c | 114 >> ++++++++++++++++++++++++++++++++++++++++++++++++++ >> 4 files changed, 123 insertions(+) >> create mode 100644 util-linux/fstrim.c >> >>diff --git a/include/applets.src.h b/include/applets.src.h >>index 29ab167..c9244fb 100644 >>--- a/include/applets.src.h >>+++ b/include/applets.src.h >>@@ -161,6 +161,7 @@ IF_FSCK(APPLET(fsck, BB_DIR_SBIN, BB_SUID_DROP)) >> //IF_E2FSCK(APPLET_ODDNAME(fsck.ext2, e2fsck, BB_DIR_SBIN, BB_SUID_DROP, >> fsck_ext2)) >> //IF_E2FSCK(APPLET_ODDNAME(fsck.ext3, e2fsck, BB_DIR_SBIN, BB_SUID_DROP, >> fsck_ext3)) >> IF_FSCK_MINIX(APPLET_ODDNAME(fsck.minix, fsck_minix, BB_DIR_SBIN, >> BB_SUID_DROP, fsck_minix)) >>+IF_FSTRIM(APPLET(fstrim, BB_DIR_SBIN, BB_SUID_DROP)) >> IF_FSYNC(APPLET_NOFORK(fsync, fsync, BB_DIR_BIN, BB_SUID_DROP, fsync)) >> IF_FTPD(APPLET(ftpd, BB_DIR_USR_SBIN, BB_SUID_DROP)) >> IF_FTPGET(APPLET_ODDNAME(ftpget, ftpgetput, BB_DIR_USR_BIN, BB_SUID_DROP, >> ftpget)) >>diff --git a/util-linux/Config.src b/util-linux/Config.src >>index 6c1b928..a82817c 100644 >>--- a/util-linux/Config.src >>+++ b/util-linux/Config.src >>@@ -246,6 +246,13 @@ config FSCK_MINIX >> check for and attempt to repair any corruption that occurs to a minix >> filesystem. >> >>+config FSTRIM >>+ bool "fstrim" >>+ default y >>+ select PLATFORM_LINUX > >Doesn't that work on android, too? > >>diff --git a/util-linux/fstrim.c b/util-linux/fstrim.c >>new file mode 100644 >>index 0000000..915de06 >>--- /dev/null >>+++ b/util-linux/fstrim.c > >>+static const struct suffix_mult fstrim_sfx[] = { >>+ { "KiB", 1024 }, >>+ { "kiB", 1024 }, >>+ { "K", 1024 }, >>+ { "k", 1024 }, >>+ { "MiB", 1048576 }, >>+ { "miB", 1048576 }, >>+ { "M", 1048576 }, >>+ { "m", 1048576 }, >>+ { "GiB", 1073741824 }, >>+ { "giB", 1073741824 }, >>+ { "G", 1073741824 }, >>+ { "g", 1073741824 }, >>+ { "KB", 1000 }, >>+ { "MB", 1000000 }, >>+ { "GB", 1000000000 }, >>+ { "", 0 } >>+}; > >>+ if (opts & OPT_v) >>+ printf("%s: %llu bytes was trimmed\n", argv[optind], >>range.len); > >Please use make_human_readable_str()
never mind. I meant xatoull_sfx with the default suffixes, but apparently we somehow lost support for a common suffix table (?). One could revisit git grep -E '(_s[u]*[f]+[i]*[xc]*)' cheers, _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
