Since I'm still being cc'd on this... :)
* Matt Dillon <[EMAIL PROTECTED]> [010206 11:56] wrote:
> :
> :This information is in fact correct. Have a look at the FreeBSD link(2)
> :man page:
> :
> :LINK(2) FreeBSD System Calls Manual
> :LINK(2)
>
> Andre, I think there *might* be a dozen people in the world that
> understand UFS/FFS better then I do, but none of them have posted to
> this thread.
>
> Believe me when I say that there is no metadata ordering guarentee
> in the case of a crash. Yes a standard UFS/FFS will do synchronous
> metadata updates for certain operations. No, this does not guarentee
> metadata ordering.
It does if it's a single threaded process doing the updates, or the
IPC doesn't allow one process to proceed until the first initiated
call is complete.
> There has been talk of providing system calls to allow user programs
> to request ordering semantics for certain operations, but nobody has
> actually implemented anything. Most of the discussion has been centered
> on having calls to guarentee file write ordering between a set of
> open descriptors for databases.
Sort of like process groups, a process can join in an IO-group and have
all journal entries tagged as belonging to the group, when an fsync is
done (or maybe fsync_ioid()) all those tagged entries can be flushed.
It's not that hard, it just takes some time. You also have to deal
with overlap, by either forcing a sync op, or allowing IO-groups
to be mixed creating dependancies where if IO-group 1 calls fsync,
it can't return until IO-group 2 is done. You then generate a new
generation count for each IO-group involved in the fsync.
well maybe. :)
--
-Alfred Perlstein - [[EMAIL PROTECTED]|[EMAIL PROTECTED]]
"I have the heart of a child; I keep it in a jar on my desk."
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message