Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Aug 2015 09:57:39 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r286445 - in head: sbin/swapon share/man/man5
Message-ID:  <201508080957.t789vdX3066745@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pjd
Date: Sat Aug  8 09:57:38 2015
New Revision: 286445
URL: https://svnweb.freebsd.org/changeset/base/286445

Log:
  Allow to disable BIO_DELETE passthru in fstab for swap-on-geli devices by
  passing 'notrim' option.
  
  PR:		198863
  Submitted by:	Matthew D. Fuller fullermd at over-yonder dot net

Modified:
  head/sbin/swapon/swapon.c
  head/share/man/man5/fstab.5

Modified: head/sbin/swapon/swapon.c
==============================================================================
--- head/sbin/swapon/swapon.c	Sat Aug  8 09:51:38 2015	(r286444)
+++ head/sbin/swapon/swapon.c	Sat Aug  8 09:57:38 2015	(r286445)
@@ -313,7 +313,7 @@ static char *
 swap_on_geli_args(const char *mntops)
 {
 	const char *aalgo, *ealgo, *keylen_str, *sectorsize_str;
-	const char *aflag, *eflag, *lflag, *sflag;
+	const char *aflag, *eflag, *lflag, *Tflag, *sflag;
 	char *p, *args, *token, *string, *ops;
 	int argsize, pagesize;
 	size_t pagesize_len;
@@ -321,7 +321,7 @@ swap_on_geli_args(const char *mntops)
 
 	/* Use built-in defaults for geli(8). */
 	aalgo = ealgo = keylen_str = "";
-	aflag = eflag = lflag = "";
+	aflag = eflag = lflag = Tflag = "";
 
 	/* We will always specify sectorsize. */
 	sflag = " -s ";
@@ -365,6 +365,8 @@ swap_on_geli_args(const char *mntops)
 					free(ops);
 					return (NULL);
 				}
+			} else if ((p = strstr(token, "notrim")) == token) {
+				Tflag = " -T ";
 			} else if (strcmp(token, "sw") != 0) {
 				warnx("Invalid option: %s", token);
 				free(ops);
@@ -387,8 +389,8 @@ swap_on_geli_args(const char *mntops)
 		sectorsize_str = p;
 	}
 
-	argsize = asprintf(&args, "%s%s%s%s%s%s%s%s -d",
-	    aflag, aalgo, eflag, ealgo, lflag, keylen_str,
+	argsize = asprintf(&args, "%s%s%s%s%s%s%s%s%s -d",
+	    aflag, aalgo, eflag, ealgo, lflag, keylen_str, Tflag,
 	    sflag, sectorsize_str);
 
 	free(ops);

Modified: head/share/man/man5/fstab.5
==============================================================================
--- head/share/man/man5/fstab.5	Sat Aug  8 09:51:38 2015	(r286444)
+++ head/share/man/man5/fstab.5	Sat Aug  8 09:57:38 2015	(r286445)
@@ -242,6 +242,7 @@ The
 .Dq ealgo ,
 .Dq aalgo ,
 .Dq keylen ,
+.Dq notrim ,
 and
 .Dq sectorsize
 options may be passed to control those



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508080957.t789vdX3066745>