On 12/02/2014 08:11 PM, Phillip Susi wrote: > On 12/2/2014 7:23 AM, Austin S Hemmelgarn wrote: >> Stupid thought, why don't we just add blacklisting based on device >> path like LVM has for pvscan? > > That isn't logic that belongs in the kernel, so that is going down the > path of yanking out the device auto probing from btrfs and instead > writing a mount.btrfs helper that can use policies like blacklisting > to auto locate all of the correct devices and pass them all to the > kernel at mount time. > I am thinking about that. Today the device discovery happens: a) when a device appears, two udev rules run "btrfs dev scan <device>"
/lib/udev/rules.d/70-btrfs.rules /lib/udev/rules.d/80-btrfs-lvm.rules b) during the boot it is ran a "btrfs device scan", which scan all the device (this happens in debian for other distros may be different) c) after a btrfs.mkfs, which starts a device scan on each devices of the new filesystem d) by the user Regarding a), the problem is simply solved adding a line like: ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", GOTO="btrfs_end" Regarding c), it is not a problem Regarding b) and d), the only solution that I found is to query the udev DB inside the "btrfs dev scan" program and to skip the devices with DM_UDEV_LOW_PRIORITY_FLAG==1. But implementing this, it would solve all the points a), b), c), d) with one shot ! BR G.Baroncelli P.S. This is the comment made by LVM by DM_UDEV_LOW_PRIORITY_FLAG: /* * DM_UDEV_LOW_PRIORITY_FLAG is set in case we need to instruct the * udev rules to give low priority to the device that is currently * processed. For example, this provides a way to select which symlinks * could be overwritten by high priority ones if their names are equal. * Common situation is a name based on FS UUID while using origin and * snapshot devices. */ #define DM_UDEV_LOW_PRIORITY_FLAG 0x0010 https://git.fedorahosted.org/cgit/lvm2.git/tree/libdm/libdevmapper.h#n1969 -- gpg @keyserver.linux.it: Goffredo Baroncelli <kreijackATinwind.it> Key fingerprint BBF5 1610 0B64 DAC6 5F7D 17B2 0EDA 9B37 8B82 E0B5 -- 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