On Tue, Oct 18, 2022 at 11:54 AM Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > But no, we absolutely do *not* want to emulate that particular horror > anywhere else. Side note: if DM people go "Hmm, a lot of our management really does have the exact same issues as 'mount()' and friends, and doing the same things as mount does with the whole string interface and logging sounds like a good idea", I want to nip that in the bud. It's most definitely *not* a good idea. The mount thing is nasty, it's just that we've always had the odd string interface, and it's just grown from "const void *data" to be a whole complicated set of context handling. So don't even think about duplicating that thing. Now, if some "inspired" person then thinks that instead of duplicating it, you really would want to do device mapper *as* a filesystem and actually using the fsconfig() model directly and natively, that is at least conceptually not necessarily wrong. At what point does a "translate disk blocks and munge contents" turn from "map devices into other devices" to a "map devices into a filesystem"? We've had loop devices forever, and they already show how filesystems and block devices can be a mixed concept. And no, I'm not seriously suggesting that as a "do this instead". I'm just saying that from an interface standpoint, we _do_ have an interface that is kind of doing this, and that is already an area where a lot of people think there is a lot of commonalities (ie a number of filesystems end up doing their own device mapping internally, and people used to say "layering violation - please use dm for that" before they got used/resigned to it because the filesystem people really wanted to control the mapping). In the absence of that kind of unification, just use 'errno'. Linus -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel