]> err.no Git - util-linux/commitdiff
lsblk: add --nodeps
authorKarel Zak <kzak@redhat.com>
Thu, 16 Dec 2010 11:47:30 +0000 (12:47 +0100)
committerKarel Zak <kzak@redhat.com>
Thu, 16 Dec 2010 11:47:30 +0000 (12:47 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
misc-utils/lsblk.8
misc-utils/lsblk.c

index 50362c6245f87642ca3e09f125a095131aef89c2..2f9c17f76777207d97ff5623c21ebe9affda6d02 100644 (file)
@@ -26,6 +26,9 @@ to get list of all available columns.
 List all block devices.
 .IP "\fB\-b, \-\-bytes\fP"
 Print the SIZE column in bytes rather than in human readable format.
+.IP "\fB\-d, \-\-nodeps\fP"
+Don't print device holders or slaves. For example "lsblk --nodeps /dev/sda" prints
+information about the sda device only.
 .IP "\fB\-e, \-\-exclude \fIlist\fP
 Exclude devices by comma delimited list of major device numbers. Note that RAM
 disks (major=1) are excluded by default.
index cdfce42f1b0a6db2c4e5ce15501cedd44500d804..c07e30a7170f6405e461f4d07bfa1febe8f67e7f 100644 (file)
@@ -118,6 +118,7 @@ struct lsblk {
        struct tt *tt;          /* output table */
        int all_devices:1;      /* print all devices */
        int bytes:1;            /* print SIZE in bytes */
+       int nodeps:1;           /* don't print slaves/holders */
 };
 
 struct lsblk *lsblk;   /* global handler */
@@ -693,6 +694,9 @@ static int list_holders(struct blkdev_cxt *cxt)
        assert(cxt);
        assert(cxt->sysfs_fd >= 0);
 
+       if (lsblk->nodeps)
+               return 0;
+
        if (!cxt->nholders)
                return 0;
 
@@ -853,6 +857,7 @@ static void __attribute__((__noreturn__)) help(FILE *out)
                "\nOptions:\n"
                " -a, --all            print all devices\n"
                " -b, --bytes          print SIZE in bytes rather than in human readable format\n"
+               " -d, --nodeps         don't print slaves or holders\n"
                " -e, --exclude <list> exclude devices by major number (default: RAM disks)\n"
                " -f, --fs             output info about filesystems\n"
                " -h, --help           usage information (this)\n"
@@ -888,6 +893,8 @@ int main(int argc, char *argv[])
 
        struct option longopts[] = {
                { "all",        0, 0, 'a' },
+               { "bytes",      0, 0, 'b' },
+               { "nodeps",     0, 0, 'd' },
                { "help",       0, 0, 'h' },
                { "output",     1, 0, 'o' },
                { "perms",      0, 0, 'm' },
@@ -908,7 +915,7 @@ int main(int argc, char *argv[])
        lsblk = &_ls;
        memset(lsblk, 0, sizeof(*lsblk));
 
-       while((c = getopt_long(argc, argv, "abe:fhlnmo:irt", longopts, NULL)) != -1) {
+       while((c = getopt_long(argc, argv, "abde:fhlnmo:irt", longopts, NULL)) != -1) {
                switch(c) {
                case 'a':
                        lsblk->all_devices = 1;
@@ -916,6 +923,9 @@ int main(int argc, char *argv[])
                case 'b':
                        lsblk->bytes = 1;
                        break;
+               case 'd':
+                       lsblk->nodeps = 1;
+                       break;
                case 'e':
                        parse_excludes(optarg);
                        break;