diff options
author | Neil Brown <neilb@suse.de> | 2006-08-11 18:00:05 +1000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2006-08-11 18:00:05 +1000 |
commit | 38098016cae12b5e840b3a5a24b0c5120a83971c (patch) | |
tree | 7d284c2cfbd34c92c9d08843d42e936e857aa5f4 /mdadm.c | |
parent | 0a6e1c6743122c3fb060ced194ce5f08690b31e6 (diff) | |
download | mdadm-38098016cae12b5e840b3a5a24b0c5120a83971c.tar.gz mdadm-38098016cae12b5e840b3a5a24b0c5120a83971c.tar.xz mdadm-38098016cae12b5e840b3a5a24b0c5120a83971c.zip |
Allow symlink creation to be disabled from command line or mdadm.conf
Diffstat (limited to 'mdadm.c')
-rw-r--r-- | mdadm.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -75,6 +75,7 @@ int main(int argc, char *argv[]) int force = 0; int test = 0; int assume_clean = 0; + char *symlinks = NULL; /* autof indicates whether and how to create device node. * bottom 3 bits are style. Rest (when shifted) are number of parts * 0 - unset @@ -499,6 +500,12 @@ int main(int argc, char *argv[]) autof = parse_auto(optarg, "--auto flag", 0); continue; + case O(CREATE,Symlinks): + case O(BUILD,Symlinks): + case O(ASSEMBLE,Symlinks): /* auto creation of symlinks in /dev to /dev/md */ + symlinks = optarg; + continue; + case O(BUILD,'f'): /* force honouring '-n 1' */ case O(GROW,'f'): /* ditto */ case O(CREATE,'f'): /* force honouring of device list */ @@ -858,6 +865,19 @@ int main(int argc, char *argv[]) fputs(Usage, stderr); exit(2); } + + if (symlinks) { + struct createinfo *ci = conf_get_create_info(); + + if (strcasecmp(symlinks, "yes") == 0) + ci->symlinks = 1; + else if (strcasecmp(symlinks, "no") == 0) + ci->symlinks = 0; + else { + fprintf(stderr, Name ": option --symlinks must be 'no' or 'yes'\n"); + exit(2); + } + } /* Ok, got the option parsing out of the way * hopefully it's mostly right but there might be some stuff * missing |