Re: journaling filesystem

David Woodhouse (
Thu, 14 May 1998 02:03:38 +0200 said:
> While Tagged Queuing does allow for ordering, we should not be
> assuming SCSI at this level. For example, the DAC960 PCI RAID
> Controller driver I'm currently working on is a block level device
> driver (the same level as IDE and SCSI)

Yep, each type of block device needs addressing separately. I believe that IDE
will just do as it's told, and respect the order you give it. We've now
established that SCSI can be forced to behave itself, too. Every block device
on which you want a JFS to be 100% safe will have to support some kind of
synchronisation, even if it's just to disable all write caching or
allow the kernel to flush the write cache when it wants to.

> and the controller provides no
> mechanism for write ordering. Assuming that either write-through
> caching is used or write-back with the battery backup unit, the
> controller will guarantee that once the OS has been told the write has
> completed successfully then the disks will be updated eventually
> unless enough of a hardware failure occurs.

In that case we'll need a mechanism for detecting the battery backup unit, and
enabling write-through operation if it's absent. That should suffice.

If we could provide the same kind of control on all devices (partial ordering,
complete cache flush, whatever) then a single strategy could be used to ensure
consistency on each type of device. Otherwise we might have to implement
slightly different filesystem routines, depending on the type of device it's
on. We may well want to do things slightly differently, depending on the
facilities available from the block device.

---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
finger for PGP key.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to