summaryrefslogtreecommitdiffstats
path: root/misc-utils
diff options
context:
space:
mode:
authorKarel Zak2018-09-14 15:57:45 +0200
committerKarel Zak2018-09-14 15:57:45 +0200
commit82dae67d1a902aec6aa164510717be027810bfe6 (patch)
tree974c5dc28e2a7e8b1ba987937ada27acf0ada06c /misc-utils
parentlsblk: use lsblk_ prefix mountpoint getter (diff)
downloadkernel-qcow2-util-linux-82dae67d1a902aec6aa164510717be027810bfe6.tar.gz
kernel-qcow2-util-linux-82dae67d1a902aec6aa164510717be027810bfe6.tar.xz
kernel-qcow2-util-linux-82dae67d1a902aec6aa164510717be027810bfe6.zip
lsblk: differentiate between swap and mount
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils')
-rw-r--r--misc-utils/lsblk-mnt.c10
-rw-r--r--misc-utils/lsblk.c2
-rw-r--r--misc-utils/lsblk.h3
3 files changed, 10 insertions, 5 deletions
diff --git a/misc-utils/lsblk-mnt.c b/misc-utils/lsblk-mnt.c
index 6bc634043..890675ed5 100644
--- a/misc-utils/lsblk-mnt.c
+++ b/misc-utils/lsblk-mnt.c
@@ -50,7 +50,7 @@ char *lsblk_device_get_mountpoint(struct blkdev_cxt *cxt)
assert(cxt);
assert(cxt->filename);
- if (cxt->is_mounted)
+ if (cxt->is_mounted || cxt->is_swap)
return cxt->mountpoint;
if (!mtab) {
@@ -79,8 +79,12 @@ char *lsblk_device_get_mountpoint(struct blkdev_cxt *cxt)
if (!fs)
fs = mnt_table_find_srcpath(mtab, cxt->filename, MNT_ITER_BACKWARD);
if (!fs) {
- cxt->mountpoint = is_active_swap(cxt->filename) ? xstrdup("[SWAP]") : NULL;
- cxt->is_mounted = 1;
+ if (is_active_swap(cxt->filename)) {
+ cxt->mountpoint = xstrdup("[SWAP]");
+ cxt->is_swap = 1;
+ } else
+ cxt->mountpoint = NULL;
+
return cxt->mountpoint;
}
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index d466a25b1..2a6044c0e 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -786,7 +786,7 @@ static char *get_vfs_attribute(struct blkdev_cxt *cxt, int id)
if (!cxt->fsstat.f_blocks) {
mnt = lsblk_device_get_mountpoint(cxt);
- if (!mnt)
+ if (!mnt || cxt->is_swap)
return NULL;
if (statvfs(mnt, &cxt->fsstat) != 0)
return NULL;
diff --git a/misc-utils/lsblk.h b/misc-utils/lsblk.h
index 8817314af..13e8e754d 100644
--- a/misc-utils/lsblk.h
+++ b/misc-utils/lsblk.h
@@ -89,7 +89,8 @@ struct blkdev_cxt {
uint64_t size; /* device size */
- unsigned int is_mounted : 1;
+ unsigned int is_mounted : 1,
+ is_swap : 1;
};
/* lsblk-mnt.c */