Hi Chris, On Friday 20 November 2009, Chris Mason wrote: > On Fri, Nov 20, 2009 at 07:50:06PM +0100, Goffredo Baroncelli wrote: > > Hi all, > > > > after the Chirs (Ball) email, I thought about a possible btrfs file-system > > layout, which may permit to snapshot the root and mount (if required) an old > > snapshot of the root. > > [ very clear description of a filesystem tree layout ] > > > > > > Any comments ? > > This is definitely possible, but not strictly required. We'll be able > to create an ioctl (or mount option) that replaces the default subvolume > ('.' in your examples) pointer with a pointer to another subvolume, and > an ioctl to delete the old root.
That was my first thought... but so the risk is to implement with ioctl(s) commands (rename, delete, list ) that a) already exist in the VFS abstraction. b) refer to objects that are like "directories" (in fact the differences between a volume and a directory are very small) > Basically it will end up hiding the extra layer of indirection your > proposal adds. Yes, my idea introduces an extra layer, that a) is different from all other file-systems b) is not useful if you don't use the snapshot at all And both a) and b) are not good point :(( > This doesn't mean your ideas were bad, my plan all along > has been to leave this up to the distros to work out with the users, and > give them enough tools that they have the flexibility to do what they > need. My concern is about the btrfs user interface. The biggest difficult that I had to learn the btrfs capabilities is its "user- interface". I have to admit to be not the smartest person, but I spent a lot of time in order to understand which was the difference between a btrfs subvolume creation and a "mkfs + mount". Finally I concluded that there no is difference (except the COW behaviour and other implementation detail). My impression was that in some area too often the VFS and btrfs do the same things. [*] The point is that if btrfs do the same things of VFS, this may be called as "flexibility". But the history has highlight that from a long term point of view is the orthogonality of the subsystems that leads to the flexibility of the system.. I definitively need to sleep. Now in Italy is deep night and it is too late to email about "orthogonality of the subsystems".. In any case, thank you Chris for your work for btrfs. And read my comment only as suggestion to improve btrfs. > -chris Goffredo [*] May be that my confusion is due to the fact that when btrfs creates a subvolume, two different actions were performed - a new subvolume is create (and definitely this is a btrfs competence) - the new subvolume is mounted in a new directory (and I think that this is a VFS competence). That raise me a question: what about to separate the subvolume creation from the subvolume mounting ? That definitely put the two kind of objects (directories and subvolume) in two different name-spaces: Btrfs will be responsible to create subvolume (and handle the COW/snapshot semantic), and the mounting will be responsible to the VFS. -- gpg key@ keyserver.linux.it: Goffredo Baroncelli (ghigo) <kreijackATinwind.it> Key fingerprint = 4769 7E51 5293 D36C 814E C054 BF04 F161 3DC5 0512 -- 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