[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