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
This commit is contained in:
Pawel Jakub Dawidek 2015-08-08 09:57:38 +00:00
parent 46e3447026
commit 445bda3f4f
2 changed files with 7 additions and 4 deletions

View File

@ -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);

View File

@ -242,6 +242,7 @@ The
.Dq ealgo ,
.Dq aalgo ,
.Dq keylen ,
.Dq notrim ,
and
.Dq sectorsize
options may be passed to control those