On Mon, 2012-03-26 at 10:51 +0200, Karel Zak wrote:
> On Sat, Mar 24, 2012 at 06:21:05PM +0000, Hugo Mills wrote:
> >    As Sadner says, you have to run "btrfs dev scan" before you try to
> > mount the FS. If you have root on btrfs, this will have to go in an
> > initrd; otherwise, it can go in your initscripts anywhere before the
> > non-root filesystem mounts.
> > 
> >    Basically, the kernel needs to know which devices hold which btrfs
> > filesystems (organised by UUID) before it tries to mount them. So,
> > there's an ioctl that is used for sending that data to the kernel, and
> > a userspace tool (btrfs dev scan) that enumerates all of the block
> > devices it can see, looks for a btrfs superblock on them, and tells
> > the kernel.
> 
>  Please, move all this logic to udev rules where we already scans all
>  devices. It's really bad to scan all device more than once. We spent
>  years to fix this problem for LVM, I don't think that btrfs has to
>  repeat the same mistakes.

Oh, this is already possible to do with udev rules, quite easily. In
fact, dracut ships with the appropriate udev rules, which it uses to
initialize btrfs filesystems in the initramfs:

http://git.kernel.org/?p=boot/dracut/dracut.git;a=blob;f=modules.d/90btrfs/80-btrfs.rules;hb=HEAD

which would be suitable with minor modifications for use in a system
udev installation as well.

-- 
Calvin Walton <calvin.wal...@kepstin.ca>

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to