pnfs: Use byte-range for layoutget
commitfb3296eb4636763918edef2d22e45b85b15d4518
authorBenny Halevy <bhalevy@panasas.com>
Sun, 22 May 2011 16:47:26 +0000 (22 19:47 +0300)
committerBoaz Harrosh <bharrosh@panasas.com>
Sun, 29 May 2011 17:52:32 +0000 (29 20:52 +0300)
tree31c85255ccfa03cbca2d1e4e52028e489276a73b
parentf7da7a129d57bfe0f74573dc03531c63e1360fae
pnfs: Use byte-range for layoutget

Add offset and count parameters to pnfs_update_layout and use them to get
the layout in the pageio path.

Order cache layout segments in the following order:
* offset (ascending)
* length (descending)
* iomode (RW before READ)

Test byte range against the layout segment in use in pnfs_{read,write}_pg_test
so not to coalesce pages not using the same layout segment.

[fix lseg ordering]
[clean up pnfs_find_lseg lseg arg]
[remove unnecessary FIXME]
[fix ordering in pnfs_insert_layout]
[clean up pnfs_insert_layout]
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
fs/nfs/pnfs.c
fs/nfs/pnfs.h
fs/nfs/read.c
fs/nfs/write.c