Benny Halevy
75247affd7
NFSv4.1: reject zero layout with zeroed stripe unit
...
Allowing stripe_unit==0 causes the client to crash later on
when dividing by zero.
Reported-by: Marc Eshel <eshel@almaden.ibm.com >
Signed-off-by: Benny Halevy <bhalevy@panasas.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:45 -05:00
Fred Isaman
a69aef1496
NFSv4.1: pnfs filelayout driver write
...
Allows the pnfs filelayout driver to write to the data servers.
Note that COMMIT to data servers will be implemented in a future
patch. To avoid improper behavior, for the moment any WRITE to a data
server that would also require a COMMIT to the data server is sent
NFS_FILE_SYNC.
Signed-off-by: Andy Adamson <andros@citi.umich.edu >
Signed-off-by: Dean Hildebrand <dhildeb@us.ibm.com >
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu >
Signed-off-by: Mingyang Guo <guomingyang@nrchpc.ac.cn >
Signed-off-by: Oleg Drokin <green@linuxhacker.ru >
Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com >
Signed-off-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Benny Halevy <bhalevy@panasas.com >
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:44 -05:00
Andy Adamson
0382b74409
NFSv4.1: implement generic pnfs layer write switch
...
Signed-off-by: Andy Adamson <andros@citi.umich.edu >
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com >
Signed-off-by: Dean Hildebrand <dhildeb@us.ibm.com >
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu >
Signed-off-by: J. Bruce Fields <bfields@fieldses.org >
Signed-off-by: Mike Sager <sager@netapp.com >
Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com >
Signed-off-by: Tao Guo <guotao@nrchpc.ac.cn >
Signed-off-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Benny Halevy <bhalevy@panasas.com >
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:44 -05:00
Andy Adamson
568e8c494d
NFSv4.1: turn off pNFS on ds connection failure
...
If a data server is unavailable, go through MDS.
Mark the deviceid containing the data server as a negative cache entry.
Do not try to connect to any data server on a deviceid marked as a negative
cache entry. Mark any layout that tries to use the marked deviceid as failed.
Inodes with a layout marked as fails will not use the layout for I/O, and will
not perform any more layoutgets.
Inodes without a layout will still do layoutget, but the layout will get
marked immediately.
Signed-off-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:43 -05:00
Christoph Hellwig
ea8eecdd11
NFSv4.1 move deviceid cache to filelayout driver
...
No need for generic cache with only one user.
Keep a simple hash of deviceids in the filelayout driver.
Signed-off-by: Christoph Hellwig <hch@infradead.org >
Acked-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:43 -05:00
Andy Adamson
cbdabc7f8b
NFSv4.1: filelayout async error handler
...
Use our own async error handler.
Mark the layout as failed and retry i/o through the MDS on specified errors.
Update the mds_offset in nfs_readpage_retry so that a failed short-read retry
to a DS gets correctly resent through the MDS.
Signed-off-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:43 -05:00
Andy Adamson
dc70d7b318
NFSv4.1: filelayout read
...
Attempt a pNFS file layout read by setting up the nfs_read_data struct and
calling nfs_initiate_read with the data server rpc client and the
filelayout rpc call ops.
Error handling is implemented in a subsequent patch.
Signed-off-by: Andy Adamson <andros@citi.umich.edu >
Signed-off-by: Dean Hildebrand <dhildeb@us.ibm.com >
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu >
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Mingyang Guo <guomingyang@nrchpc.ac.cn >
Signed-off-by: Oleg Drokin <green@linuxhacker.ru >
Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@netapp.com >
Tested-by: Guo Mingyang <guomingyang@nrchpc.ac.cn >
Signed-off-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Benny Halevy <bhalevy@panasas.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:43 -05:00
Fred Isaman
cfe7f4120f
NFSv4.1: filelayout i/o helpers
...
Prepare for filelayout_read_pagelist with helper functions that find the correct
data server, filehandle, and offset.
Signed-off-by: Andy Adamson <andros@citi.umich.edu >
Signed-off-by: Dean Hildebrand <dhildeb@us.ibm.com >
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Marc Eshel <eshel@almaden.ibm.com >
Signed-off-by: Mike Sager <sager@netapp.com >
Signed-off-by: Oleg Drokin <green@linuxhacker.ru >
Signed-off-by: Tao Guo <guotao@nrchpc.ac.cn >
Signed-off-by: Tigran Mkrtchyan <tigran@anahit.desy.de >
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de >
Signed-off-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Benny Halevy <bhalevy@panasas.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:42 -05:00
Fred Isaman
94ad1c80e2
NFSv4.1: coelesce across layout stripes
...
Add a pg_test layout driver hook which is used to avoid coelescing I/O across
layout stripes.
Signed-off-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Andy Adamson <andros@citi.umich.edu >
Signed-off-by: Dean Hildebrand <dhildeb@us.ibm.com >
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu >
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Benny Halevy <bhalevy@panasas.com >
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com >
Signed-off-by: Oleg Drokin <green@linuxhacker.ru >
Signed-off-by: Tao Guo <guotao@nrchpc.ac.cn >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-03-11 15:38:42 -05:00
Fred Isaman
b7edfaa198
pnfs: add prefix to struct pnfs_layout_hdr fields
...
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-01-06 14:46:31 -05:00
Fred Isaman
566052c53b
pnfs: add prefix to struct pnfs_layout_segment fields
...
While we are renaming all the fields, change lo->state to lo->plh_flags.
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2011-01-06 14:46:31 -05:00
Trond Myklebust
1c787096fc
NFSv4.1: Use more sensible names for 'initialize_mountpoint'
...
The initialize_mountpoint/uninitialise_mountpoint functions are really about
setting or clearing the layout driver to be used on this filesystem. Change
the names to the more descriptive 'set_layoutdriver/clear_layoutdriver'.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2010-10-24 18:07:11 -04:00
Andy Adamson
16b374ca43
NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure
...
Implement the driver's io_ops->alloc_lseg and free_lseg functions,
which integrate into the deviceid cache and calls out to
nfs4_proc_getdeviceinfo when necessary.
Signed-off-by: Andy Adamson <andros@netapp.com >
Signed-off-by: Dean Hildebrand <dhildebz@umich.edu >
Signed-off-by: Marc Eshel <eshel@almaden.ibm.com >
Signed-off-by: Mike Sager <sager@netapp.com >
Signed-off-by: Oleg Drokin <green@linuxhacker.ru >
Signed-off-by: Ricardo Labiaga <ricardo.labiaga@netapp.com >
Signed-off-by: Tao Guo <guotao@nrchpc.ac.cn >
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com >
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2010-10-24 18:07:11 -04:00
Dean Hildebrand
7ab672ce31
NFSv4.1: pnfs: filelayout: introduce minimal file layout driver
...
This driver just registers itself and supplies trivial mount/umount functions.
Signed-off-by: Dean Hildebrand <dhildebz@umich.edu >
Signed-off-by: Marc Eshel <eshel@almaden.ibm.com >
Signed-off-by: Benny Halevy <bhalevy@panasas.com >
Signed-off-by: Fred Isaman <iisaman@netapp.com >
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com >
2010-10-24 18:07:10 -04:00