[Bug 711799] Re: e2fsprogs wrongly identifies ext4 as mounted
Theodore Ts'o
tytso at mit.edu
Sun Apr 29 02:20:10 UTC 2012
Looking at the strace which Philipp provided, what is happening is that
an exclusive open of the device is returning EBUSY from the kernel:
open("/dev/sdb1", O_RDONLY|O_EXCL) = -1 EBUSY (Device or resource busy)
This means that either (a) the device is mounted, (b) some other program
has the device open, or (c) /dev/sdb1 is being used as part of a RAID
device by md, or (d) it is being used as a physical volume by LVM.
In any case, this isn't an e2fsck bug. The kernel is returning EBUSY;
e2fsck is refusing to check the file system because in any of the above
situations, it is dangerous to proceed. Why that's the case, you would
have to debug the system init scripts and/or any whacko upstartd or
systemd setups. All I can tell you is that with Ubuntu 10.04 and
Debian Testing using system V init script, it works just fine for me.
I would recommend using lsof to see what other daemon or program might
be holding /dev/sdb1 open. And also double checking to make sure
/dev/sdb1 isn't being used by md or lvm.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to e2fsprogs in Ubuntu.
https://bugs.launchpad.net/bugs/711799
Title:
e2fsprogs wrongly identifies ext4 as mounted
Status in “e2fsprogs” package in Ubuntu:
Confirmed
Bug description:
Binary package hint: e2fsprogs
After a crash of Ubuntu netbook, the machine hang with initramfs (I
have a /boot and /).
Booting with the same system (ubuntu 10.10) from thumb drive, I cannot fsck it:
$ sudo fsck /dev/sda2
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
fsck.ext4: Device or resource busy while trying to open /dev/sda2
Filesystem mounted or opened exclusively by another program?
But it is not mounted:
$ cat /proc/mounts
shows that it is not mounted; and it can't be unmounted.
dmesg knows what is going on:
$ dmesg | grep sda2
[ 6.513953] sda: sda1 [01;31m [Ksda2 [m [K sda3 < sda5 > sda4
[ 9.300388] EXT4-fs ( [01;31m [Ksda2 [m [K): INFO: recovery
required on readonly filesystem
[ 9.300398] EXT4-fs ( [01;31m [Ksda2 [m [K): write access will be
enabled during recovery
[ 9.312706] EXT4-fs warning (device [01;31m [Ksda2 [m [K):
ext4_clear_journal_err: Filesystem error recorded from previous mount:
IO failure
[ 9.312729] EXT4-fs warning (device [01;31m [Ksda2 [m [K):
ext4_clear_journal_err: Marking fs in need of filesystem check.
$
But this fsck does never materialise, and can't be done manually.
Finally, I tried to delete the journal, but to no avail, the "Device
or resource busy" stays. Is there any way to trick fsck into believing
me that it is not mounted?
If not, I still consider the behaviour somewhat wrong: if not in
/proc/mount, why does fsck say so?
And when I
sudo mount /dev/sda2 /mnt
it starts the mount process, but never finishes, and also it is
impossible to ever exit this process, I tried with Ctrl-C, Ctrl-Z, and
even with kill -9 from another console. Ubuntu isn't even able to shut
down then, but keeps trying forever.
In a nutshell, it is a bug in 10.10. I use the installer-CD written to the thumb drive (Startup Disk creator).
Confirmed: Because when I boot with a 9.04 thumb drive, I can easily open a terminal and run fsck. Done and over.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/e2fsprogs/+bug/711799/+subscriptions
More information about the foundations-bugs
mailing list