summaryrefslogtreecommitdiffstats
path: root/tools/lvm.c
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2003-04-02 19:14:43 +0000
committerAlasdair Kergon <agk@redhat.com>2003-04-02 19:14:43 +0000
commit27f364af959c08b0f6e8973d1f82cafc23fbba11 (patch)
tree4fefd33b72baa53d1338a87ba8b525322297f2a6 /tools/lvm.c
parent34e0f798e36a3a0e1fb0f1256d16f59e690b7da5 (diff)
downloadlvm2-27f364af959c08b0f6e8973d1f82cafc23fbba11.tar.gz
lvm2-27f364af959c08b0f6e8973d1f82cafc23fbba11.tar.xz
lvm2-27f364af959c08b0f6e8973d1f82cafc23fbba11.zip
Allow for specification of major number as well as minor.
Diffstat (limited to 'tools/lvm.c')
-rw-r--r--tools/lvm.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tools/lvm.c b/tools/lvm.c
index b94e98a0..302c6aa4 100644
--- a/tools/lvm.c
+++ b/tools/lvm.c
@@ -213,6 +213,23 @@ int minor_arg(struct cmd_context *cmd, struct arg *a)
return 1;
}
+int major_arg(struct cmd_context *cmd, struct arg *a)
+{
+ char *ptr;
+
+ if (!_get_int_arg(a, &ptr) || (*ptr) || (a->sign == SIGN_MINUS))
+ return 0;
+
+ if (a->i_value > 255) {
+ log_error("Major number outside range 0-255");
+ return 0;
+ }
+
+ /* FIXME Also Check against /proc/devices */
+
+ return 1;
+}
+
int string_arg(struct cmd_context *cmd, struct arg *a)
{
return 1;