summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2017-04-08 19:43:20 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2017-04-12 21:34:08 +0200
commit3018cdcaa7aa258a432738b95077098985fb0c74 (patch)
tree8296b28baa222eb05139e53d506d52041ac04282 /lib
parent109532290138d3b8b535457150052b6bda4f797c (diff)
downloadlvm2-3018cdcaa7aa258a432738b95077098985fb0c74.tar.gz
fsadm: support configurable full path
Just like with other tools lvm2 is using allow to define fully configurable path. Default is selected by $PREFIX/sbin/fsadm
Diffstat (limited to 'lib')
-rw-r--r--lib/config/config_settings.h4
-rw-r--r--lib/config/defaults.h2
-rw-r--r--lib/metadata/lv_manip.c8
3 files changed, 10 insertions, 4 deletions
diff --git a/lib/config/config_settings.h b/lib/config/config_settings.h
index b7017227b..3b0eebbc4 100644
--- a/lib/config/config_settings.h
+++ b/lib/config/config_settings.h
@@ -1035,6 +1035,10 @@ cfg_array(global_cache_check_options_CFG, "cache_check_options", global_CFG_SECT
cfg_array(global_cache_repair_options_CFG, "cache_repair_options", global_CFG_SECTION, CFG_ALLOW_EMPTY | CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_CACHE_REPAIR_OPTIONS_CONFIG, vsn(2, 2, 108), NULL, 0, NULL,
"List of options passed to the cache_repair command.\n")
+cfg(global_fsadm_executable_CFG, "fsadm_executable", global_CFG_SECTION, CFG_DEFAULT_COMMENTED, CFG_TYPE_STRING, DEFAULT_FSADM_PATH, vsn(2, 2, 170), "@FSADM_PATH@", 0, NULL,
+ "The full path to the fsadm command.\n"
+ "LVM uses this command to help with lvresize -r operations.\n")
+
cfg(global_system_id_source_CFG, "system_id_source", global_CFG_SECTION, 0, CFG_TYPE_STRING, DEFAULT_SYSTEM_ID_SOURCE, vsn(2, 2, 117), NULL, 0, NULL,
"The method LVM uses to set the local system ID.\n"
"Volume Groups can also be given a system ID (by vgcreate, vgchange,\n"
diff --git a/lib/config/defaults.h b/lib/config/defaults.h
index 2340636cc..b5d9983f5 100644
--- a/lib/config/defaults.h
+++ b/lib/config/defaults.h
@@ -135,6 +135,8 @@
#define DEFAULT_CACHE_METADATA_FORMAT CACHE_METADATA_FORMAT_UNSELECTED /* Autodetect */
#define DEFAULT_CACHE_MODE "writethrough"
+#define DEFAULT_FSADM_PATH FSADM_PATH
+
#define DEFAULT_UMASK 0077
#define DEFAULT_FORMAT "lvm2"
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c
index 0dfbad415..50f516777 100644
--- a/lib/metadata/lv_manip.c
+++ b/lib/metadata/lv_manip.c
@@ -4567,13 +4567,13 @@ static int _request_confirmation(const struct logical_volume *lv,
}
enum fsadm_cmd_e { FSADM_CMD_CHECK, FSADM_CMD_RESIZE };
-#define FSADM_CMD "fsadm"
+
#define FSADM_CMD_MAX_ARGS 6
#define FSADM_CHECK_FAILS_FOR_MOUNTED 3 /* shell exist status code */
/*
- * FSADM_CMD --dry-run --verbose --force check lv_path
- * FSADM_CMD --dry-run --verbose --force resize lv_path size
+ * fsadm --dry-run --verbose --force check lv_path
+ * fsadm --dry-run --verbose --force resize lv_path size
*/
static int _fsadm_cmd(enum fsadm_cmd_e fcmd,
struct logical_volume *lv,
@@ -4588,7 +4588,7 @@ static int _fsadm_cmd(enum fsadm_cmd_e fcmd,
const char *argv[FSADM_CMD_MAX_ARGS + 2];
unsigned i = 0;
- argv[i++] = FSADM_CMD;
+ argv[i++] = find_config_tree_str(cmd, global_fsadm_executable_CFG, NULL);
if (test_mode())
argv[i++] = "--dry-run";