Evgeniy Polyakov wrote: > Al Boldi (a1426z@xxxxxxxxx) wrote: > > Look at ZFS; it illegally violates layering by combining md/dm/lvm with > > the fs, but it does this based on a realistic understanding of the > > problems involved, which enables it to improve performance, flexibility, > > and functionality specific to its use case. > > > > This implies that there are two distinct forces at work here: > > > > 1. Layer components > > 2. Use-Case composers > > > > Layer components should technically not implement any use case (other > > than providing a plumbing framework), as that would incur unnecessary > > dependencies, which could reduce its generality and thus reusability. > > > > Use-Case composers can now leverage layer components from across the > > layering hierarchy, to yield a specific use case implementation. > > > > DRBD is such a Use-Case composer, as is mdm / dm / lvm and any fs in > > general, whereas aoe / nbd / loop and the VFS / FUSE are examples of > > layer components. > > > > It follows that Use-case composers, like DRBD, need common functionality > > that should be factored out into layer components, and then recompose to > > implement a specific use case. > > Out of curiosity, did you try ndb+dm+raid1 compared to drbd and/or zfs > on top of distributed storage (which is a urprise to me, that holy zfs > suppors that)? Actually, I may not have been very clear in my Use-Case composer description to mean internal in-kernel Use-Case composer as opposed to external Userland Use-Case composer. So, nbd+dm+raid1 would be an external Userland Use-Case composition, which obviously could have some drastic performance issues. DRBD and ZFS are examples of internal in-kernel Use-Case composers, which obviously could show some drastic performance improvements. Although you could allow in-kernel Use-Case composers to be run on top of Userland Use-Case composers, that wouldn't be the preferred mode of operation. Instead, you would for example recompose ZFS to incorporate an in-kernel distributed storage layer component, like nbd. All this boils down to refactoring Use-Case composers to produce layer components with both in-kernel and userland interfaces. Once we have that, it becomes a matter of plug-and-play to produce something awesome like ZFS. Thanks! -- Al - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html