diff options
author | kib <kib@FreeBSD.org> | 2011-09-06 10:19:01 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2011-09-06 10:19:01 +0000 |
commit | 3867ad03de4ff7dcaff09fc37aaed18d9eeaac00 (patch) | |
tree | d4da7dfacfbc9bfe8798bdb0866976cef27fb92a /sbin/mdmfs | |
parent | 6184ef6122298d90e6be72044f916d1356b1f089 (diff) | |
download | FreeBSD-src-3867ad03de4ff7dcaff09fc37aaed18d9eeaac00.zip FreeBSD-src-3867ad03de4ff7dcaff09fc37aaed18d9eeaac00.tar.gz |
dd -t switch for mdmfs to enable TRIM on the configured filesystem.
While there, fix minor style issues.
Submitted by: Alex Kozlov <spam rm-rf kiev ua>
MFC after: 1 week
Approved by: re (bz)
Diffstat (limited to 'sbin/mdmfs')
-rw-r--r-- | sbin/mdmfs/mdmfs.8 | 11 | ||||
-rw-r--r-- | sbin/mdmfs/mdmfs.c | 11 |
2 files changed, 16 insertions, 6 deletions
diff --git a/sbin/mdmfs/mdmfs.8 b/sbin/mdmfs/mdmfs.8 index ef8e596..f2db7da 100644 --- a/sbin/mdmfs/mdmfs.8 +++ b/sbin/mdmfs/mdmfs.8 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2007 +.Dd September 4, 2011 .Dt MDMFS 8 .Os .Sh NAME @@ -36,7 +36,7 @@ driver .Sh SYNOPSIS .Nm -.Op Fl DLlMNPSUX +.Op Fl DLlMNPStUX .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar blocks-per-cylinder-group @@ -224,6 +224,13 @@ and the optional .Xr malloc 9 backed disks .Pq Dv MD_MALLOC . +.It Fl t +Turn on the TRIM enable flag for +.Xr newfs 8 . +The +.Xr md 4 +device supports the BIO_DELETE command, enabling the TRIM on created +filesystem allows return of freed memory to the system pool. .It Fl U Enable soft-updates on the file system. This is the default, and is accepted only diff --git a/sbin/mdmfs/mdmfs.c b/sbin/mdmfs/mdmfs.c index bdd880b..ef45040 100644 --- a/sbin/mdmfs/mdmfs.c +++ b/sbin/mdmfs/mdmfs.c @@ -127,7 +127,7 @@ main(int argc, char **argv) } while ((ch = getopt(argc, argv, - "a:b:Cc:Dd:E:e:F:f:hi:LlMm:NnO:o:Pp:Ss:t:Uv:w:X")) != -1) + "a:b:Cc:Dd:E:e:F:f:hi:LlMm:NnO:o:Pp:Ss:tUv:w:X")) != -1) switch (ch) { case 'a': argappend(&newfs_arg, "-a %s", optarg); @@ -212,6 +212,9 @@ main(int argc, char **argv) case 's': argappend(&mdconfig_arg, "-s %s", optarg); break; + case 't': + argappend(&newfs_arg, "-t"); + break; case 'U': softdep = true; break; @@ -282,7 +285,7 @@ argappend(char **dstp, const char *fmt, ...) { char *old, *new; va_list ap; - + old = *dstp; assert(old != NULL); @@ -417,7 +420,7 @@ do_mdconfig_detach(void) rv = run(NULL, "%s -d -u %s%d", path_mdconfig, mdname, unit); if (rv && debug) /* This is allowed to fail. */ warnx("mdconfig (detach) exited with error code %d (ignored)", - rv); + rv); } /* @@ -656,7 +659,7 @@ usage(void) { fprintf(stderr, -"usage: %s [-DLlMNnPSUX] [-a maxcontig] [-b block-size]\n" +"usage: %s [-DLlMNnPStUX] [-a maxcontig] [-b block-size]\n" "\t[-c blocks-per-cylinder-group][-d max-extent-size] [-E path-mdconfig]\n" "\t[-e maxbpg] [-F file] [-f frag-size] [-i bytes] [-m percent-free]\n" "\t[-O optimization] [-o mount-options]\n" |