13 Jul, 2011
3 commits
-
Mark all deviceids established under an expired MDS clientid as invalid.
Stop all new i/o through DS and send through the MDS.
Don't use any new LAYOUTGETs that use the invalid deviceid. Purge all layouts
established under the expired MDS clientid.
Remove the MDS clientid deviceid and data servers referenceSigned-off-by: Andy Adamson
Signed-off-by: Trond Myklebust -
This parses and stores all addresses associated with each data server,
laying the groundwork for supporting multipath to data servers.- Skips over addresses that cannot be parsed (ie IPv6 addrs if v6 is not
enabled). Only fails if none of the addresses are recognizable
- Currently only uses the first address that parsed cleanly
- Tested against pynfs server (modified to support multipath)Signed-off-by: Weston Andros Adamson
Signed-off-by: Trond Myklebust -
Handle ipv6 remote addresses from GETDEVICEINFO
- supports netid "tcp" for ipv4 and "tcp6" for ipv6 as rfc 5665 specifies
- added ds_remotestr to avoid having to handle different AFs in every dprintk
- tested against pynfs 4.1 server, submitting ipv6 support patch to pynfs
- tested with IPv6 disabled, it compiles cleanly and relies on rpc_pton to
refuse to accept IPv6 addressesSigned-off-by: Weston Andros Adamson
Signed-off-by: Trond Myklebust
30 May, 2011
1 commit
-
Use the pnfs_layoutdriver_type both as a qualifier for the deviceid,
distinguishing deviceid from different layout types on the server,
and for freeing the layout-driver allocated structure containing the
nfs4_deviceid_node.[BUG in _deviceid_purge_client]
[layout_driver MUST set free_deviceid_node if using dev-cache]
[let ver < 4.1 compile]
Signed-off-by: Boaz Harrosh
[removed EXPORT_SYMBOL_GPL(nfs4_deviceid_purge_client)]
Signed-off-by: Benny Halevy
29 May, 2011
2 commits
-
Move deviceid cache from the pnfs files layout driver to the
generic layer in preparation for the objects layout driver.Signed-off-by: Benny Halevy
-
deviceids are unique per server, per layout type.
Therefore, in the global cache in the files layout driver
deviceids from different servers may clash so we need
to qualify them with a struct nfs_client that represents
the nfs server that returned the deviceid.Introduced in 2.6.39 commit ea8eecdd
"NFSv4.1 move deviceid cache to filelayout driver"Signed-off-by: Benny Halevy
12 May, 2011
1 commit
-
Currently, writebacks may end up recursing back into the filesystem due to
GFP_KERNEL direct reclaims in the pnfs subsystem.Signed-off-by: Trond Myklebust
31 Mar, 2011
1 commit
-
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi
24 Mar, 2011
1 commit
-
Create a preallocated list header to hold nfs_pages for each
non-MDS COMMIT destination. Note this is not necessarily each DS,
but is basically each pair.Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust
12 Mar, 2011
3 commits
-
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
Signed-off-by: Trond Myklebust -
No need for generic cache with only one user.
Keep a simple hash of deviceids in the filelayout driver.Signed-off-by: Christoph Hellwig
Acked-by: Andy Adamson
Signed-off-by: Trond Myklebust -
Prepare for filelayout_read_pagelist with helper functions that find the correct
data server, filehandle, and offset.Signed-off-by: Andy Adamson
Signed-off-by: Dean Hildebrand
Signed-off-by: Fred Isaman
Signed-off-by: Marc Eshel
Signed-off-by: Mike Sager
Signed-off-by: Oleg Drokin
Signed-off-by: Tao Guo
Signed-off-by: Tigran Mkrtchyan
Signed-off-by: Tigran Mkrtchyan
Signed-off-by: Andy Adamson
Signed-off-by: Benny Halevy
Signed-off-by: Trond Myklebust
25 Oct, 2010
1 commit
-
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
Signed-off-by: Dean Hildebrand
Signed-off-by: Marc Eshel
Signed-off-by: Mike Sager
Signed-off-by: Oleg Drokin
Signed-off-by: Ricardo Labiaga
Signed-off-by: Tao Guo
Signed-off-by: Boaz Harrosh
Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust