> Thanks for your bug report, but I'm not able to reproduce it and
> it lacks information needed to investigate it. (Tagged as such
> in a separate email to the bug tracking system.)

Sorry, I tried to include pretty much everything.

> Also adding -V (for verbose) would give some additional information.

Actually, the additional info is very limited (basically, showing
the invocation of f2ck.ext4) which is already after is_mounted()
has returned the wrong answer, so it wasn't helpful.

> 7320: libmount:     INIT: library debug mask: 0xffff
> 7320: libmount:     INIT: library version: 2.27.0
> 7320: libmount:     INIT:     feature: selinux
> 7320: libmount:     INIT:     feature: assert
> 7320: libmount:     INIT:     feature: debug
> Available "LIBMOUNT_DEBUG=<name>[,...]|<mask>" debug masks:
>    all      [0xffff] : info about all subsystems
>    cache    [0x0004] : paths and tags cache
>    cxt      [0x0200] : library context (handler)
>    diff     [0x0400] : mountinfo changes tracking
>    fs       [0x0040] : FS abstraction
>    help     [0x0001] : this help
>    locks    [0x0010] : mtab and utab locking
>    options  [0x0008] : mount options parsing
>    tab      [0x0020] : fstab, mtab, mounninfo routines
>    update   [0x0080] : mtab, utab updates
>    utils    [0x0100] : misc library utils
>    monitor  [0x0800] : mount tables monitor
> 7320: libmount:    CACHE: [0x9480048]: alloc
> fsck from util-linux 2.27.1
> 7320: libmount:      TAB: [0x9480068]: alloc
> 7320: libmount:      TAB: [0x9480068]: /etc/fstab: start parsing [entries=0, 
> filter=not]
> 7320: libmount:      TAB: [0x9480068]: add entry: /dev/sda2 /
> 7320: libmount:      TAB: [0x9480068]: add entry: UUID=[swap device] none
> 7320: libmount:      TAB: [0x9480068]: add entry: proc /proc
> 7320: libmount:      TAB: [0x9480068]: add entry: sys /sys
> 7320: libmount:      TAB: [0x9480068]: add entry: dev /dev
> 7320: libmount:      TAB: [0x9480068]: add entry: devpts /dev/pts
> 7320: libmount:      TAB: [0x9480068]: add entry: [network mount redacted]
> 7320: libmount:      TAB: [0x9480068]: add entry: /dev/sr0 /media/cdrom0
> 7320: libmount:      TAB: [0x9480068]: add entry: /dev/mmcblk0p1 /mnt
> 7320: libmount:       FS: [0x9480b30]: free [refcount=0]
> 7320: libmount:      TAB: [0x9480068]: /etc/fstab: stop parsing (9 entries)
> 7320: libmount:      TAB: [0x9480068]: parsing done [filename=/etc/fstab, 
> rc=0]
> 7320: libmount:    CACHE: [0x9480048]: canonicalize path /dev/sda2
> 7320: libmount:    CACHE: [0x9480048]: add entry [ 1] (path): /dev/sda2: 
> /dev/sda2
> 7320: libmount:      TAB: [0x9480068]: lookup TARGET: '/'
> 7320: libmount:      TAB: [0x9480130]: alloc
> 7320: libmount:      TAB: [0x9480130]: mtab parse: ignore mtab
> 7320: libmount:      TAB: [0x9480130]: mtab parse: #1 read mountinfo
> 7320: libmount:      TAB: [0x9480130]: /proc/self/mountinfo: start parsing 
> [entries=0, filter=not]
> 7320: libmount:      TAB: [0x9480130]: add entry: /dev/root /
> 7320: libmount:    CACHE: canonicalize path /proc/self/mountinfo
> 7320: libmount:      TAB: TID for /proc/self/mountinfo is 7320
> 7320: libmount:      TAB: [0x9480130]: root FS: 802
> 7320: libmount:    CACHE: [0x9480048]: canonicalize path 802
> 7320: libmount:    CACHE: [0x9480048]: add entry [ 2] (path): 802: 802
> 7320: libmount:      TAB: [0x9480130]: canonical root FS: 802

> This '802' business looks weird. Having your complete
> /proc/self/mountinfo would be useful.

The "802" is the root= argument passed to the kernel by the boot loader.
Major device 8, minor 2.  What I don't understand is why libmount thinks
it's a file name (in $PWD, no less).

13 0 8:2 / / rw,relatime - ext4 /dev/root rw,errors=remount-ro,data=ordered
14 13 0:13 / /sys rw,nosuid,nodev,noexec,relatime - sysfs sysfs rw
15 13 0:14 / /run rw,nosuid,noexec,relatime - tmpfs tmpfs 
rw,size=335456k,mode=755
16 15 0:15 / /run/lock rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs 
rw,size=5120k
17 13 0:4 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw
18 13 0:6 / /dev rw,nosuid,relatime - devtmpfs devtmpfs 
rw,size=10240k,nr_inodes=216237,mode=755
19 15 0:16 / /run/shm rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs 
rw,size=1454860k
20 18 0:11 / /dev/pts rw,nosuid,noexec,relatime - devpts devpts 
rw,gid=5,mode=620

> This is where things should return true for is_mounted(...) but
> apparently doesn't for you. In verbose mode you should get:
> "/dev/sda2 is mounted"

I get "is not mounted", followed by e2fsck saying "is mounted".

> Without access to your mountinfo there's not much I can do to help you
> out and without a proper submitter address I'm not able to reach you,

Oh, it's a proper address.  At first I was worried about spammers address
harvesing the BTS and created a separate address so it could be heavily
filtered, but then I discovered that spammers tend to filter out e-mail
addresses that include the word "spam"!

> so I'm closing this bug report. You need to find out what's broken
> on your system. Feel free to report back once you find it.

I'm trying, but the interface of libmount is a bit obscure.  There are
comments on all the external functions, but the overall design of the
interface and dependencies between the functions are hard to infer.

I can see how it *does* work with a debugger, but finding the problem
requires inferring how it's *supposed* to work, and that requires
more mind-reading.

Reply via email to