>>>>> "dm" == David Magda <dma...@ee.ryerson.ca> writes:

    dm> is this what POSIX actually specifies?

i doubt it.  If it did, it would basically mandate a log-structured /
COW filesystem, which, although not a _bad_ idea, is way too far from
a settled debate to be enshrining in a mandatory ``standard'' (ex.,
the database fragmentation problems with LFS, WaFL, ZFS.  And the
large number of important deployed non-COW filesystems on POSIX
systems).  

There's no other so-far-demonstrated way than log-structured/COW to
achieve this property which some people think they're entitled to take
for granted: ``after a reboot, the system must appear as though it did
not reorder any writes.  The filesystem must recover to some exact
state that it passed through in the minutes leading up to the crash,
some state as observed from the POSIX userland (above all write
caches).''

It's a nice property.  Nine years ago when i was trying to get Linux
users to try NetBSD, I flogged this as a great virtue of LFS.  And if
I were designing a non-POSIX operating system to replace Unix, I'd
probably promise developers this property.  But achieving it is just
too constraining to belong in POSIX.

If you can find some application that can safely disable some safety
feature when it knows it's running on ZFS that it needs to keep on
other filesystems and thus perform absurdly faster on ZFS with no
risk, then you can demonstrate the worth of promising this property.
The fsync() that i'm sure KDE will add into all their broken apps is
such an example, but I doubt it will be ``absurdly faster'' enough to
get ZFS any attention.  Maybe something to do with virtual disk
backing stores for VM's?

But I don't think pushing exaggerated expectations as ``obvious'' in
front of people who don't know the nasty details yet, nor overstating
POSIX's minimal crash requirements, is going to work.  There are just
too many smart people ready to defend the non-log-stuctured
write-in-place filesystems.  And I believe it *is* possible to write a
correct database or MTA, even with the level of guarantee those
systems provide (provide in practice, not provide as specified by
POSIX).

And the guarantees ARE minimal---just:

 http://www.google.com/search?q=POSIX+%22crash+consistency%22

and you'll find even people against T'so's who want to change ext4
still agree POSIX is on T'so's side.

My own opinion is that the apps are unportable and need to be fixed,
and that what te side against T'so wants changed is so poorly stated
it's no more than ad-hoc ``make the apps not broken, because otherwise
anything which does the exact same thing as the broken app we just
found will also be broken!!!'' it's not a clearly articulatable
guarantee like that AIUI provided by transaction groups.

But linux app developers never seem to give much of a flying shit
whether their apps work on notLinux, which is why they think it's
``practical'' to change ext4 rather than the nonconformant app, so
dragging out the POSIX horse for flogging in support of ``change
ext4'' looks highly hypocritical, while flogging the same horse to
support ``ZFS is the only POSIXly correct filesystem on the planet''
is flatly incorrect but at least not hypocritical. :)

Attachment: pgp6S7cxYCPf9.pgp
Description: PGP signature

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to