Package: btrfs-tools
Version: 0.19+20111105-2
Severity: critical
Justification: breaks the whole system

btrfs-tools now ships only with btrfsck while missing symlink at
fsck.btrfs pointing to btrfsck.

$ ls -l /sbin/fsck*
-rwxr-xr-x 1 root root  31544 Feb 28 13:30 /sbin/fsck
-rwxr-xr-x 1 root root  14568 Feb 28 13:30 /sbin/fsck.cramfs
lrwxrwxrwx 1 root root      6 Apr 10 05:03 /sbin/fsck.ext2 -> e2fsck
lrwxrwxrwx 1 root root      6 Apr 10 05:03 /sbin/fsck.ext3 -> e2fsck
lrwxrwxrwx 1 root root      6 Apr 10 05:03 /sbin/fsck.ext4 -> e2fsck
lrwxrwxrwx 1 root root      6 Apr 10 05:03 /sbin/fsck.ext4dev -> e2fsck
lrwxrwxrwx 1 root root     12 Mar 12 20:23 /sbin/fsck.hfs -> fsck.hfsplus
-rwxr-xr-x 1 root root 194416 Mar 12 20:23 /sbin/fsck.hfsplus
-rwxr-xr-x 1 root root  31128 Feb 28 13:30 /sbin/fsck.minix
lrwxrwxrwx 1 root root      7 Oct 29 16:11 /sbin/fsck.msdos -> dosfsck
-rwxr-xr-x 1 root root    333 Mar 20 18:01 /sbin/fsck.nfs

This breaks expectation by fsck as documented in its manpage.

   In  actuality,  fsck  is simply a front-end for the various filesystem
   checkers (fsck.fstype) available under Linux.  The filesystem-specific
   checker  is searched for in /sbin first, then in /etc/fs and /etc, and
   finally in the directories listed in the  PATH  environment  variable.

As you know, /etc/init.d/checkroot.sh calls fsck with -t option during
system boot under normal situation.  In case of btrfs, -t option is
"btrfs" :-) which will be calling non-existing fsck.btrfs.

I found this problem while making fresh sid install with testing d-i CD
with btrfs as root filesystem for my toy-system.  After iniramfs, when
system checked rootfs with above, it spitted a message indicating missing
fsck.btrfs and stopped boot to gave me root password prompt.

I could get this system working by doing the following while at root
shell given in the above situation.

 # mount -t remount,rw /
 # cd /sbin
 # ln -sf btrfsck fsck.btrfs
 
As we could see from above examples for dosfsck and e2fsck, this is
standard practice to have this fsck.btrfs.  I do not think boot script
or fsck should make special exception for btrfs.

If upstream does not provide this link for now, you should add
debian/btrfs-tools.link with something like the following as work
around.
---
/sbin/btrfsck /sbin/fsck.btrfs
---

I am surprised no one seems to report this obvious problem yet.  Maybe
people are sane enough not to use btrfs as rootfs.  Or, I am afraid I
may be making some mistake or overlooking ... I hope not, though.

Regards,

Osamu

FYI: Below are for the system I used for filing this report.  I am sane
enough not to use btrfs as rootfs here :-)  But version of tools should
be equivalent since both are very current sid.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages btrfs-tools depends on:
ii  e2fslibs    1.42.2-2
ii  libc6       2.13-27
ii  libcomerr2  1.42.2-2
ii  libuuid1    2.20.1-4
ii  zlib1g      1:1.2.6.dfsg-2

btrfs-tools recommends no packages.

btrfs-tools suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to