From: Chris Mason <chris.mason@oracle.com>
To: btrfs-devel@arbitraryconstant.com
Cc: linux-btrfs@vger.kernel.org
Subject: Re: btrfs device management
Date: Sun, 8 Jun 2008 21:45:59 -0400 [thread overview]
Message-ID: <200806082145.59734.chris.mason@oracle.com> (raw)
In-Reply-To: <62325.68.145.107.21.1212882817.squirrel@avalon.arbitraryconstant.com>
On Saturday 07 June 2008, btrfs-devel@arbitraryconstant.com wrote:
> Hello,
>
> I've noticed one mounts btrfs filesystems by device name (eg /dev/sda1),
> even in a multi-device filesystem. I see there's a uuid for the filesystem
> in btrfs_super_block, so this is safe to do even if the devices change
> names in the future, but it's somewhat sub-optimal in that one's fstab
> won't necessarily continue to work. Even if the devices themselves have
> uuid's that get used in fstab, a given device could just as easily go away
> in the future.
>
> I also see the standard Linux mount command is used here, and it's clearly
> designed around the assumption of a 1:1 relationship between block devices
> and filesystems, with multi-device stuff happening at another layer. One
> assumes the btrfs code in the kernel just grabs the uuid from that device
> and uses it to assemble the filesystem from whatever devices are also
> members.
>
> My question is: are there plans to support mounting by uuid of the
> filesystem directly, or by providing something like /dev/btrfs/XXXXX to
> make the mount command happy? Wherever this has been done in Linux to date
> (eg filesystems, software RAID, LVMs, etc) it's almost always been a good
> thing, it would be a step down to eg worry about what order drives were
> plugged in.
>
> Thanks for any responses. :)
Btrfs does something similar to LVM for device management, there is a scanning
program that finds btrfs volumes and populates a kernel table matching
filesystem uuid to devices. So, if /dev/sdb becomes /dev/sdc, btrfs will
still do the right thing.
Btrfs doesn't actually store device path names in the FS metadata, so it has
no idea that /dev/sdb is part of your FS. It just scans super blocks and is
able to mount them wherever it finds them.
This means the device you pass to mount is going to move around as the devices
move which is kind of awkward. Longer term, it'll move to a udev helper
style setup that puts links into a /dev/btrfs/by-uuid and /dev/btrfs/by-label
See the btrfs-show command for an example of how the scanning is done if
you're in a patching mood. It could populate the /dev/btrfs directory
directly.
-chris
next prev parent reply other threads:[~2008-06-09 1:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-07 23:53 btrfs device management btrfs-devel
2008-06-09 1:45 ` Chris Mason [this message]
2008-06-09 6:43 ` Christoph Hellwig
2008-06-09 10:06 ` Chris Mason
2008-06-09 13:45 ` Miguel Sousa Filipe
2008-06-09 13:52 ` Chris Mason
2008-06-09 15:37 ` Miguel Sousa Filipe
2008-06-09 16:19 ` Christian Hesse
2008-06-09 16:22 ` Chris Mason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200806082145.59734.chris.mason@oracle.com \
--to=chris.mason@oracle.com \
--cc=btrfs-devel@arbitraryconstant.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.