summaryrefslogtreecommitdiffstats
path: root/misc-utils/lsblk.c
diff options
context:
space:
mode:
authorKarel Zak2018-09-14 15:41:39 +0200
committerKarel Zak2018-09-14 15:41:39 +0200
commitcfb715ed1d9df215a8fc5d8f887048d46019c2cc (patch)
tree5fab5829ed2d879c3ab7c8abd3f5026fe2992b3e /misc-utils/lsblk.c
parentlsblk: add lsblk.h (diff)
downloadkernel-qcow2-util-linux-cfb715ed1d9df215a8fc5d8f887048d46019c2cc.tar.gz
kernel-qcow2-util-linux-cfb715ed1d9df215a8fc5d8f887048d46019c2cc.tar.xz
kernel-qcow2-util-linux-cfb715ed1d9df215a8fc5d8f887048d46019c2cc.zip
lsblk: move mount stuff to lsblk-mnt.c
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'misc-utils/lsblk.c')
-rw-r--r--misc-utils/lsblk.c107
1 files changed, 0 insertions, 107 deletions
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index 75ddd70ee..de31f3832 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -245,9 +245,6 @@ static size_t nexcludes;
static int includes[256];
static size_t nincludes;
-static struct libmnt_table *mtab, *swaps;
-static struct libmnt_cache *mntcache;
-
#ifdef HAVE_LIBUDEV
static struct udev *udev;
#endif
@@ -396,106 +393,6 @@ static char *get_device_path(struct blkdev_cxt *cxt)
return xstrdup(path);
}
-static int table_parser_errcb(struct libmnt_table *tb __attribute__((__unused__)),
- const char *filename, int line)
-{
- if (filename)
- warnx(_("%s: parse error at line %d -- ignored"), filename, line);
- return 1;
-}
-
-static int is_active_swap(const char *filename)
-{
- if (!swaps) {
- swaps = mnt_new_table();
- if (!swaps)
- return 0;
- if (!mntcache)
- mntcache = mnt_new_cache();
-
- mnt_table_set_parser_errcb(swaps, table_parser_errcb);
- mnt_table_set_cache(swaps, mntcache);
-
- if (!lsblk->sysroot)
- mnt_table_parse_swaps(swaps, NULL);
- else {
- char buf[PATH_MAX];
- snprintf(buf, sizeof(buf), "%s" _PATH_PROC_SWAPS, lsblk->sysroot);
- mnt_table_parse_swaps(swaps, buf);
- }
- }
-
- return mnt_table_find_srcpath(swaps, filename, MNT_ITER_BACKWARD) != NULL;
-}
-
-static char *get_device_mountpoint(struct blkdev_cxt *cxt)
-{
- struct libmnt_fs *fs;
- const char *fsroot;
-
- assert(cxt);
- assert(cxt->filename);
-
- if (cxt->is_mounted)
- return cxt->mountpoint;
-
- if (!mtab) {
- mtab = mnt_new_table();
- if (!mtab)
- return NULL;
- if (!mntcache)
- mntcache = mnt_new_cache();
-
- mnt_table_set_parser_errcb(mtab, table_parser_errcb);
- mnt_table_set_cache(mtab, mntcache);
-
- if (!lsblk->sysroot)
- mnt_table_parse_mtab(mtab, NULL);
- else {
- char buf[PATH_MAX];
- snprintf(buf, sizeof(buf), "%s" _PATH_PROC_MOUNTINFO, lsblk->sysroot);
- mnt_table_parse_mtab(mtab, buf);
- }
- }
-
- /* Note that maj:min in /proc/self/mountinfo does not have to match with
- * devno as returned by stat(), so we have to try devname too
- */
- fs = mnt_table_find_devno(mtab, makedev(cxt->maj, cxt->min), MNT_ITER_BACKWARD);
- 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;
- return cxt->mountpoint;
- }
-
- /* found */
- fsroot = mnt_fs_get_root(fs);
- if (fsroot && strcmp(fsroot, "/") != 0) {
- /* hmm.. we found bind mount or btrfs subvolume, let's try to
- * get real FS root mountpoint */
- struct libmnt_fs *rfs;
- struct libmnt_iter *itr = mnt_new_iter(MNT_ITER_BACKWARD);
-
- mnt_table_set_iter(mtab, itr, fs);
- while (mnt_table_next_fs(mtab, itr, &rfs) == 0) {
- fsroot = mnt_fs_get_root(rfs);
- if ((!fsroot || strcmp(fsroot, "/") == 0)
- && mnt_fs_match_source(rfs, cxt->filename, mntcache)) {
- fs = rfs;
- break;
- }
- }
- mnt_free_iter(itr);
- }
-
- DBG(DEV, ul_debugobj(cxt, "mountpoint: %s", mnt_fs_get_target(fs)));
- cxt->mountpoint = xstrdup(mnt_fs_get_target(fs));
- cxt->is_mounted = 1;
- return cxt->mountpoint;
-}
-
#ifndef HAVE_LIBUDEV
static int get_udev_properties(struct blkdev_cxt *cxt
__attribute__((__unused__)))
@@ -1970,7 +1867,6 @@ int main(int argc, char *argv[])
lsblk->sort_hidden = 1;
}
- mnt_init_debug(0);
scols_init_debug(0);
ul_path_init_debug();
@@ -2059,9 +1955,6 @@ leave:
scols_unref_table(lsblk->table);
- mnt_unref_table(mtab);
- mnt_unref_table(swaps);
- mnt_unref_cache(mntcache);
#ifdef HAVE_LIBUDEV
udev_unref(udev);
#endif