Robert White posted on Wed, 26 Nov 2014 14:08:14 -0800 as excerpted: > On 11/25/2014 07:22 PM, Duncan wrote: >>>From my perspective, however, btrfs is simply incompatible with lvm >> snapshots, because the basic assumptions are incompatible. Btrfs >> assumes UUIDs will be exactly what they say on the label, /unique/, >> while lvm's snapshot feature directly breaks that uniqueness by copying >> the (former) UUID, thus making the former UUID no longer unique and >> thus no longer truly UUID. Thus, part of the lvm /feature/ of >> snapshots is in direct contradiction to a basic assumption of btrfs, >> that UUIDs are exactly that, unique, making that feature directly >> incompatible with btrfs on a very basic level. > > A finer point here. LVM doesn't "copy" the UUID. AN LVM snapshot is a > copy-on-write entity so it _exposes_ the single sector(s) of the > superblock(s) in both views of the underlying storage.
I /hate/ it when this happens, which is why my posts often end up so long. People keep saying shorten them, but when I try, invariably I end up shortcutting something like this and get called on it! =:^( So, umm... kinda late now, but read that "copy" as if it had a footnote attached, saying "Yes, I know it's not actual copy, it's two views of the same thing using COW, but my point is, from the btrfs perspective it's a copy, the "universally UNIQUE ID" no longer looks "unique" and thus no longer can be properly called a UUID at all." Which kinda makes most of the rest of what you said, which I agree with in general were it the case that I actually thought of it as a literal copy, unnecessary... Tho I can't fault you for catching and pointing out my shortcut as an error, because you're absolutely correct in that case, and I'd almost certainly be doing the same thing were the situation reversed. > So while you may have a point about btrfs being unprepared for LVM, > neither party is particularly "at fault" in any way. > > The "damn you photocopier for making photocopies so identically" nature > of your problem with LVM seems to be leading you to misplaced > conclusions. Well, to the extent that I tried to take an unwarranted logical shortcut and didn't properly describe it... But... I'd still say LVM is "at fault" to the extent that anyone is, as it /knows/ it's dealing with UUIDs because after all that's part of what's /on/ what it's snapshotting, and it doesn't make any effort to deal with the situation, despite the at least theoretical (and now in fact) confusion that may occur when former UUIDs are no longer unique and thus no longer UUIDs. However, the point remains, they are pretty much incompatible, in that one assumes "unique" means that a second one won't pop up elsewhere and depends on exactly that, while the functionality of the other is exactly that, to make another view of the same thing, including the otherwise unique ID, pop up elsewhere, with COW semantics. > If you are waiting for someone to "code it up" perhaps you should do so. I'm not sure if that was the singular or plural "you", but in any case, it won't be /me/, because I'm not a coder, simply another sysadmin willing to guinea-pig this fascinating new filesystem toy. =:^) > As previously stated XFS solved this problem by providing a tool that > would change the UUID of a file system. This tool cold then be pointed > at either (or both) the original and/or snapshot volumes as needed. I think that'll eventually happen. Actually, I see it's on the wiki project ideas page, now (see 1.2.25 and 1.2.26, online/offline UUID changes, respectively): https://btrfs.wiki.kernel.org/index.php/Project_ideas There's even POC code. =:^) Wiki page history says Kdave added that on 06 Oct. 2014, so the entry is reasonably new, and the POC's encouraging, but will it go anywhere from there? > Given that BTRFS want's to play in the same level of abstraction as LVM, > its kind of a given that they'll butt heads over things like conflicting > definitions of what it means to take a snapshot. Agreed. Actually, given btrfs is already doing much of it, it'd be interesting if it eventually got the ability to specify where subvolumes went and limit them in size (ideally more directly than the existing btrfs quotas related functionality does, etc, thus avoiding having to rely on LVM for that and eliminating the need for it in scenarios where that's desired. Couple that with the better snapshot handling that is already in the works, and would there /still/ be a need for LVM under btrfs then; for what if so, and could it too be integrated into btrfs? -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman -- 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