Skip to contentSkip to conversation

o_direct-11 and blkdev-pagecache-8

DISCUSSION Andrea Arcangeli 1 participant 3 messages Aug 2, 2001 – Aug 5, 2001

lore
Share & tools
lore
#0 lore raw

Here the latest release against 2.4.8pre3.

For the blkdev-pagecache I decreased performance going to 1k I/O granularity to provide total backwards compatibility, otherwise it was not possible to read the last bytes of the device if the size of the device was not a multiple of 4k and there's no way to work around that without intensive changes :(, this in turn means the doing O_DIRECT on the blkdevice now has a constraint of 1k I/O granularity on the read/write API (not anymore the more restrictive 4k granularity).

The O_DIRECT patch includes a one liner I got from the GFS folks to update the i_size of the inode correctly.

They must be applyed in order:

	ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.8pre3/o_direct-11
	ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.8pre3/blkdev-pagecache-8

Now it would be nice to have a patch incremental to those so that rawio also uses the preallocated per-file iobuf (note: the preallocation should happen in the rawio layer, not in the vfs like we just do with the generic O_DIRECT).

Andrea

#1 lore raw

blkdev-pagecache-11

This new update 1) runs get_super after fsync_dev in invalidate_device to avoid sleeping before the lock_super in case do_sync == 1, 2) replaces the softblocksize bugcheck in ll_rw_block with an hardblocksize bugcheck, now the softblocksize is a purerly filesystem thing, completly unrelated to the other ways of doing I/O (this fixes false positives of such bugcheck after a mount of a 4k fs).

	ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.8pre4/blkdev-pagecache-10

as usual you must apply the o_direct patch first (the o_direct patch has no updates and it stays at the -11 revision):

	ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/patches/v2.4/2.4.8pre4/o_direct-11

Andrea