Hi! I''m currently writing a btrfs-rescue tool and therefor began to study the btrfs-on-disk structures in detail. The root tree contains a ROOT_ITEM entry for *every* subvolume in the whole file system, but only DIR_ITEM entries for subvolumes that were created in the root directory of the filesystem. If we have a destroyed root directory, there is no way to access subvolumes stored deeper in the fs-tree by name. It might be nice to have the ability to mount a subvolume by object-id. A simple tool could list all available subvolumes with their object-ids, generation numbers, and so on. Greetings, Michael -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, 2010-12-09 at 14:51 +0100, Michael Niederle wrote:> Hi! > > I''m currently writing a btrfs-rescue tool and therefor began to study the > btrfs-on-disk structures in detail. > > The root tree contains a ROOT_ITEM entry for *every* subvolume in the whole > file system, but only DIR_ITEM entries for subvolumes that were created in the > root directory of the filesystem. > > If we have a destroyed root directory, there is no way to access subvolumes > stored deeper in the fs-tree by name. It might be nice to have the ability to > mount a subvolume by object-id. A simple tool could list all available > subvolumes with their object-ids, generation numbers, and so on.Unless I misunderstand something, this is actually already possible; just poorly documented. You can use the ''subvolid='' mount option to mount by object id; the object id can be found using the tool btrfs subvolume list <filesystem> The subvolid= mount option was missing from the wiki, so I''ve just added it: https://btrfs.wiki.kernel.org/index.php/Getting_started#Mount_Options -- Calvin Walton <calvin.walton@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi, Calvin! Thanks a lot for this information and for updating the wiki! The option works - on healthy disks ... I will continue writing my rescue-tool. I also wrote a btrfs_subvolumes command that displays all subvolumes of an unmounted filesystem. This helps a lot if mounting the filesystem leads to a crash! Greetings, Michael -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html