> It is difficult to answer your question without knowing what rewrite > actually does and how mailboxes are structured. But in an imaginary > world where a mailbox is a list of constant sized blocks (size<iounit) > a bunch of simultaneous appends and rewrites of existing blocks > would work perfectly well.
(your imaginary mailbox sounds like a wormhole that builds a filesystem inside a file.) a mailbox, if you recall from unix, is a bunch of messages concatinated into a file. each message is framed by a "From " line and a blank line. obviously, this is not efficient for big mailboxes. since i support users with GB+ mailboxes, i implemented a one-file-per message scheme which doesn't require append semantics, though it does use atomic open. - erik