Summary: | sys-apps/util-linux: mount seems to parse /etc/filesystems file incorrectly | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Dave Barton <dave.barton> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED FIXED | ||
Severity: | minor | ||
Priority: | Low | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | http://thread.gmane.org/gmane.linux.utilities.util-linux-ng/3025 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Dave Barton
2010-02-18 12:40:45 UTC
the issue is that the fs was probed (detected) and so mount didnt bother trying to mount it again based on the filesystem list. since your fs is corrupted enough that the probe logic detected that it was reiserfs, that entry was skipped in /proc/filesystems. ive sent an e-mail upstream about it. can you run `BLKID_DEBUG=0xffff mount ...` and post the output please (In reply to comment #2) > can you run `BLKID_DEBUG=0xffff mount ...` and post the output please > sxen2 ~ # BLKID_DEBUG=0xffff mount -vvvv /dev/vgxen/cocsp2_backup /mnt/lv_backup/ mount: fstab path: "/etc/fstab" mount: mtab path: "/etc/mtab" mount: lock path: "/etc/mtab~" mount: temp path: "/etc/mtab.tmp" mount: UID: 0 mount: eUID: 0 mount: spec: "/dev/mapper/vgxen-cocsp2_backup" mount: node: "/mnt/lv_backup/" mount: types: "(null)" mount: opts: "(null)" libblkid: debug mask set to 0xffff. reseting blkid_probe ready for low-probing, offset=0, size=42949672960 --> starting probing loop [idx=-1] linux_raid_member: call probefunc() ddf_raid_member: call probefunc() isw_raid_member: call probefunc() lsi_mega_raid_member: call probefunc() via_raid_member: call probefunc() silicon_medley_raid_member: call probefunc() nvidia_raid_member: call probefunc() promise_fasttrack_raid_member: call probefunc() highpoint_raid_member: call probefunc() adaptec_raid_member: call probefunc() jmicron_raid_member: call probefunc() swap: magic sboff=4086, kboff=0 swap: call probefunc() assigning UUID assigning TYPE <-- leaving probing loop (type=swap) [idx=18] --> starting probing loop [idx=18] reiserfs: magic sboff=52, kboff=64 reiserfs: call probefunc() assigning UUID assigning TYPE <-- leaving probing loop (type=reiserfs) [idx=25] --> starting probing loop [idx=25] ufs: call probefunc() sysv: call probefunc() <-- leaving probing loop (failed) [idx=49] ERROR: ambivalent result detected (2 filesystems)! mount: you didn't specify a filesystem type for /dev/mapper/vgxen-cocsp2_backup I will try all types mentioned in /etc/filesystems or /proc/filesystems Trying # mount: mount(2) syscall: source: "/dev/mapper/vgxen-cocsp2_backup", target: "/mnt/lv_backup/", filesystemtype: "#", mountflags: -1058209792, data: (null) mount: you must specify the filesystem type Just to try to keep the bug somewhat on track, the original problem is the behavior of `mount` when it's unable to determine the FS type for whatever reason. I think this might show what I mean slightly better; ----- mount: you didn't specify a filesystem type for /dev/mapper/vgxen-cocsp2_backup I will try all types mentioned in /etc/filesystems or /proc/filesystems Trying # mount: mount(2) syscall: source: "/dev/mapper/vgxen-cocsp2_backup", target: "/mnt/lv_backup/", filesystemtype: "#", mountflags: -1058209792, data: (null) Trying #cheesefs mount: mount(2) syscall: source: "/dev/mapper/vgxen-cocsp2_backup", target: "/mnt/lv_backup/", filesystemtype: "#cheesefs", mountflags: -1058209792, data: (null) mount: you must specify the filesystem type sxen2 ~ # cat /etc/filesystems # /etc/filesystems # reiserfs ext3 ext2 #cheesefs # * ----- `mount` is only attempted to mount filesystems using entries from the /etc/filesystems file that begin with a '#' character (ie comments). It's ignoring the wanted lines from the file. (In reply to comment #4) > Just to try to keep the bug somewhat on track, the original problem is the > behavior of `mount` when it's unable to determine the FS type for whatever > reason. I think this might show what I mean slightly better; > > ----- > mount: you didn't specify a filesystem type for /dev/mapper/vgxen-cocsp2_backup > I will try all types mentioned in /etc/filesystems or /proc/filesystems > Trying # > mount: mount(2) syscall: source: "/dev/mapper/vgxen-cocsp2_backup", target: > "/mnt/lv_backup/", filesystemtype: "#", mountflags: -1058209792, data: (null) > Trying #cheesefs > mount: mount(2) syscall: source: "/dev/mapper/vgxen-cocsp2_backup", target: > "/mnt/lv_backup/", filesystemtype: "#cheesefs", mountflags: -1058209792, data: > (null) > mount: you must specify the filesystem type > sxen2 ~ # cat /etc/filesystems > # /etc/filesystems > # > reiserfs > ext3 > ext2 > #cheesefs > # > * > ----- > > `mount` is only attempted to mount filesystems using entries from the > /etc/filesystems file that begin with a '#' character (ie comments). It's > ignoring the wanted lines from the file. > Re-read (and understood!) this time Comment #1. Please ignore my last comment. It's clearly ignoring the "wanted lines" from that file because it's already probed for those fs types and decided it isn't any of them (although it's actually two of them, somehow!) pretty sure this should be fixed in at least util-linux-2.19+ now |