Re: [RFC][PATCH 1/2] Add a super operation for writeback

Christian Stroetmann
2014-06-03T05:31:19Z

On the 3rd of June 2014 05:39, Dave Chinner wrote:
> On Mon, Jun 02, 2014 at 10:30:07AM +0200, Christian Stroetmann wrote:
>> When I followed the advice of Dave Chinner:
>> "We're not going to merge that page forking stuff (like you were
>> told at LSF 2013 more than a year ago:
>> http://lwn.net/Articles/548091/) without rigorous design review and
>> a demonstration of the solutions to all the hard corner cases it
>> has"
>> given in his e-mail related with the presentation of the latest
>> version of the Tux3 file system (see [1]) and read the linked
>> article, I found in the second comments:
>> "Parts of this almost sound like it either a.) overlaps with or b.)
>> would benefit greatly from something similar to Featherstitch
>> [[2]]."
>>
>> Could it be that we have with Featherstitch a general solution
>> already that is said to be even "file system agnostic"?
>> Honestly, I thought that something like this would make its way into
>> the Linux code base.
> Here's what I said about the last proposal (a few months ago) for
> integrating featherstitch into the kernel:
>
> http://www.spinics.net/lists/linux-fsdevel/msg72799.html
>
> It's not a viable solution.
>
> Cheers,
>
> Dave.

How annoying, I did not remember your e-mail of the referenced thread
"[Lsf-pc] [LSF/MM TOPIC] atomic block device" despite I saved it on
local disk. Thanks a lot for the reminder.

I also directly saw the problem with the research prototype
Featherstitch, specifically the point "All the filesystem modules it has
are built into the featherstitch kernel module, and called through a VFS
shim layer". But it is just a prototype and its concept of abstraction
has not to be copied 1:1 into the Linux code base.

In general, I do not believe that the complexity problems of soft
updates, atomic writes, and related techniques can be solved by
hand/manually. So my suggestion is to automatically handle the
complexity problem of e.g. dependancies in a way that is comparable to
a(n on-the-fly) file-system compiler so to say that works on a very
large dependancy graph (having several billions of graph vertices
actually). And at this point an abstraction like it is given with
Featherstitch helps to feed and control this special FS compiler.

Actually, I have to follow the discussion further on the one hand and go
deeper into the highly complex problem space on the other hand.

With all the best
Christian