homectl: add option for controlling new luksOfflineDiscard user record field
This commit is contained in:
parent
5e86c82acd
commit
cba116991d
|
@ -2232,6 +2232,9 @@ static int help(int argc, char *argv[], void *userdata) {
|
||||||
" --fs-type=TYPE File system type to use in case of luks\n"
|
" --fs-type=TYPE File system type to use in case of luks\n"
|
||||||
" storage (ext4, xfs, btrfs)\n"
|
" storage (ext4, xfs, btrfs)\n"
|
||||||
" --luks-discard=BOOL Whether to use 'discard' feature of file system\n"
|
" --luks-discard=BOOL Whether to use 'discard' feature of file system\n"
|
||||||
|
" when activated (mounted)\n"
|
||||||
|
" --luks-offline-discard=BOOL\n"
|
||||||
|
" Whether to trim file on logout\n"
|
||||||
" --luks-cipher=CIPHER Cipher to use for LUKS encryption\n"
|
" --luks-cipher=CIPHER Cipher to use for LUKS encryption\n"
|
||||||
" --luks-cipher-mode=MODE Cipher mode to use for LUKS encryption\n"
|
" --luks-cipher-mode=MODE Cipher mode to use for LUKS encryption\n"
|
||||||
" --luks-volume-key-size=BITS\n"
|
" --luks-volume-key-size=BITS\n"
|
||||||
|
@ -2285,6 +2288,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||||
ARG_IMAGE_PATH,
|
ARG_IMAGE_PATH,
|
||||||
ARG_UMASK,
|
ARG_UMASK,
|
||||||
ARG_LUKS_DISCARD,
|
ARG_LUKS_DISCARD,
|
||||||
|
ARG_LUKS_OFFLINE_DISCARD,
|
||||||
ARG_JSON,
|
ARG_JSON,
|
||||||
ARG_SETENV,
|
ARG_SETENV,
|
||||||
ARG_TIMEZONE,
|
ARG_TIMEZONE,
|
||||||
|
@ -2378,6 +2382,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||||
{ "image-path", required_argument, NULL, ARG_IMAGE_PATH },
|
{ "image-path", required_argument, NULL, ARG_IMAGE_PATH },
|
||||||
{ "fs-type", required_argument, NULL, ARG_FS_TYPE },
|
{ "fs-type", required_argument, NULL, ARG_FS_TYPE },
|
||||||
{ "luks-discard", required_argument, NULL, ARG_LUKS_DISCARD },
|
{ "luks-discard", required_argument, NULL, ARG_LUKS_DISCARD },
|
||||||
|
{ "luks-offline-discard", required_argument, NULL, ARG_LUKS_OFFLINE_DISCARD },
|
||||||
{ "luks-cipher", required_argument, NULL, ARG_LUKS_CIPHER },
|
{ "luks-cipher", required_argument, NULL, ARG_LUKS_CIPHER },
|
||||||
{ "luks-cipher-mode", required_argument, NULL, ARG_LUKS_CIPHER_MODE },
|
{ "luks-cipher-mode", required_argument, NULL, ARG_LUKS_CIPHER_MODE },
|
||||||
{ "luks-volume-key-size", required_argument, NULL, ARG_LUKS_VOLUME_KEY_SIZE },
|
{ "luks-volume-key-size", required_argument, NULL, ARG_LUKS_VOLUME_KEY_SIZE },
|
||||||
|
@ -2947,6 +2952,25 @@ static int parse_argv(int argc, char *argv[]) {
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ARG_LUKS_OFFLINE_DISCARD:
|
||||||
|
if (isempty(optarg)) {
|
||||||
|
r = drop_from_identity("luksOfflineDiscard");
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
r = parse_boolean(optarg);
|
||||||
|
if (r < 0)
|
||||||
|
return log_error_errno(r, "Failed to parse --luks-offline-discard= parameter: %s", optarg);
|
||||||
|
|
||||||
|
r = json_variant_set_field_boolean(&arg_identity_extra, "luksOfflineDiscard", r);
|
||||||
|
if (r < 0)
|
||||||
|
return log_error_errno(r, "Failed to set offline discard field: %m");
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
case ARG_LUKS_VOLUME_KEY_SIZE:
|
case ARG_LUKS_VOLUME_KEY_SIZE:
|
||||||
case ARG_LUKS_PBKDF_PARALLEL_THREADS:
|
case ARG_LUKS_PBKDF_PARALLEL_THREADS:
|
||||||
case ARG_RATE_LIMIT_BURST: {
|
case ARG_RATE_LIMIT_BURST: {
|
||||||
|
|
Loading…
Reference in a new issue