Re: Ext4 and the "30 second window of death"

From: Matthew Garrett
Date: Thu Apr 02 2009 - 20:01:19 EST


On Thu, Apr 02, 2009 at 07:38:06PM -0400, Theodore Tso wrote:

> What's been frustrating about this whole controversy is this implicit
> assumptions that users and applications should never change, and the
> filesystem should magically accomodate and Do The Right Thing.

This is the attitude that I have a significant problem with. Filesystems
exist to serve applications. Without applications, there's no reason to
have a filesystem. If a filesystem doesn't provide the behaviour that
applications want then that filesystem has no reason to exist. The aim
isn't to produce a platonically ideal filesystem. The aim is to produce
a filesystem that behaves well given the applications that use it.

Disagreeing with the behaviour of applications is a perfectly sensible
thing to do. However, it's something that should be done at the *start*
of a filesystem development cycle. Getting agreement from a broad
section of application developers means that you get to write a
filesystem that embodies a different set of assumptions and everyone
wins. Writing a filesystem and then bitching about application behaviour
after it's been merged to mainline is just pathological.

> The problem is, this is what the application programmers are telling
> the filesystem developers. They refuse to change their programs; and
> the features they want are sometimes mutually contradictory, or at
> least result in a overconstrained problem --- and then they throw the
> whole mess at the filesystem developers' feet and say, "you fix it!"

Which application developers did you speak to? Because, frankly, the
majority of the ones I know felt that ext3 embodied the pony that they'd
always dreamed of as a five year old. Stephen gave them that pony almost
a decade ago and now you're trying to take it to the glue factory. I
remember almost crying at that bit on Animal Farm, so I'm really not
surprised that you're getting pushback here.

> I'm not saying the filesystems are blameless, but give us a little
> slack, guys; we NEED some help from the application developers here.

Then having a discussion with application developers over the
expectations they can have would be a good first step. Just pointing at
POSIX isn't good enough - POSIX allows a bunch of behaviours
sufficiently pathological that a filesystem implementing them would be
less useful than /dev/null. We need to have a worthwhile conversation
about what guarantees Linux will provide above and beyond POSIX. The
filesystem summit next week isn't going to be that conversation. Perhaps
something to try at Plumbers?

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/