Marcus Brinkmann <[EMAIL PROTECTED]> writes:

> causes a lot of disk activity.  Further tests showed that the disk is
> activated for each rm.  Is this a hard requirement?  In Linux, the loop
> above does not cause any disk activity (except at the beginning and
> maybe at the end), it seems to be done completely in the cache.

The Hurd is synchronizing the disk more carefully than Linux.

It must guarantee that the directory is updated to drop the link
*before* the inode refcnt is decremented and the inode possibly
cleared.

So it synchronously writes the directory, and then lets the inode get
cleared on the next regular sync.  

A better way is to properly order writes with the devices, which would
require having a table of which blocks depend on which, and the pagers
not writing blocks out of order; that's hard work, but would be nice.

Linux, IIRC, simply ignores the issue entirely, and hopes you don't
get screwed.

Thomas

_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to