05 Jan, 2012
1 commit
-
This change modifies filelayout_get_dense_offset() to use the functions
in math64.h and thus avoid a 32-bit platform compile error trying to
use do_div() on an s64 type.Signed-off-by: Chris Metcalf
Reviewed-by: Boaz Harrosh
Signed-off-by: Trond Myklebust
07 Nov, 2011
1 commit
-
* 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
Revert "tracing: Include module.h in define_trace.h"
irq: don't put module.h into irq.h for tracking irqgen modules.
bluetooth: macroize two small inlines to avoid module.h
ip_vs.h: fix implicit use of module_get/module_put from module.h
nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
include: replace linux/module.h with "struct module" wherever possible
include: convert various register fcns to macros to avoid include chaining
crypto.h: remove unused crypto_tfm_alg_modname() inline
uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
pm_runtime.h: explicitly requires notifier.h
linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
miscdevice.h: fix up implicit use of lists and types
stop_machine.h: fix implicit use of smp.h for smp_processor_id
of: fix implicit use of errno.h in include/linux/of.h
of_platform.h: delete needless include
acpi: remove module.h include from platform/aclinux.h
miscdevice.h: delete unnecessary inclusion of module.h
device_cgroup.h: delete needless include
net: sch_generic remove redundant use of
net: inet_timewait_sock doesnt need
...Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
- drivers/media/dvb/frontends/dibx000_common.c
- drivers/media/video/{mt9m111.c,ov6650.c}
- drivers/mfd/ab3550-core.c
- include/linux/dmaengine.h
01 Nov, 2011
1 commit
-
Some files were using the complete module.h infrastructure without
actually including the header at all. Fix them up in advance so
once the implicit presence is removed, we won't get failures like this:CC [M] fs/nfsd/nfssvc.o
fs/nfsd/nfssvc.c: In function 'nfsd_create_serv':
fs/nfsd/nfssvc.c:335: error: 'THIS_MODULE' undeclared (first use in this function)
fs/nfsd/nfssvc.c:335: error: (Each undeclared identifier is reported only once
fs/nfsd/nfssvc.c:335: error: for each function it appears in.)
fs/nfsd/nfssvc.c: In function 'nfsd':
fs/nfsd/nfssvc.c:555: error: implicit declaration of function 'module_put_and_exit'
make[3]: *** [fs/nfsd/nfssvc.o] Error 1Signed-off-by: Paul Gortmaker
31 Oct, 2011
1 commit
-
Introduced by commit 16b374ca "NFSv4.1: pnfs: filelayout: add driver's
LAYOUTGET and GETDEVICEINFO infrastructure" (October 20, 2010).Signed-off-by: Chuck Lever
Signed-off-by: Trond Myklebust
20 Oct, 2011
1 commit
-
It can trivially be replaced with rpc_restart_call_prepare.
Signed-off-by: Trond Myklebust
19 Oct, 2011
1 commit
-
file layout and block layout both use it to set mark layout io failure
bit. So make it generic.Signed-off-by: Peng Tao
Signed-off-by: Jim Rees
Cc: stable@kernel.org [3.0]
Signed-off-by: Trond Myklebust
01 Aug, 2011
1 commit
-
No need to save it for every lseg.
[Needed in v3.0]
CC: Stable Tree
Signed-off-by: Peng Tao
Signed-off-by: Jim Rees
Signed-off-by: Trond Myklebust
16 Jul, 2011
1 commit
-
Embed the necessary alias into the module rather than waiting for
someone to add it to /etc/modprobe.confSigned-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust
15 Jul, 2011
3 commits
-
Use nfs_pageio_reset_read_mds and nfs_pageio_reset_write_mds instead of
completely reinitialising the struct nfs_pageio_descriptor.Signed-off-by: Trond Myklebust
-
...and ensure that we recoalese to take into account differences in
differences in block sizes when falling back to write through the MDS.Signed-off-by: Trond Myklebust
-
...and ensure that we recoalese to take into account differences in
block sizes when falling back to read through the MDS.Signed-off-by: Trond Myklebust
13 Jul, 2011
6 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 -
Ask for whole file layouts. Until support for layout segments is fully
supported in the file layout code, discard non-whole file layouts.Signed-off-by: Andy Adamson
Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust -
Signed-off-by: Trond Myklebust
-
Ensure that we always get a layout before setting up the i/o request.
Signed-off-by: Trond Myklebust
-
We need to ensure that the layouts are set up before we can decide to
coalesce requests. To do so, we want to further split up the struct
nfs_pageio_descriptor operations into an initialisation callback, a
coalescing test callback, and a 'do i/o' callback.This patch cleans up the existing callback methods before adding the
'initialisation' callback.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
29 Jun, 2011
1 commit
-
In current pnfs tree, all the layouts set mds_offset in their
.write_pagelist member.
mds_offset is only used by generic layer and should be handled by it.This patch is for upstream. It is needed in this -rc series to fix a
bug in objects layout_commit.I'll send patches for objects and blocks to be
squashed into current pnfs tree.TODO: It looks like the read path needs the same patch.
Signed-off-by: Boaz Harrosh
Signed-off-by: Trond Myklebust
21 Jun, 2011
1 commit
-
Otherwise we end up overflowing the rpc buffer size on the receive end.
Signed-off-by: Benny Halevy
Signed-off-by: Trond Myklebust
15 Jun, 2011
1 commit
-
Signed-off-by: Andy Adamson
cc:stable@kernel.org [2.6.39]
Signed-off-by: Trond Myklebust
30 May, 2011
5 commits
-
Signed-off-by: Benny Halevy
-
Signed-off-by: Benny Halevy
-
Initialize xdr_stream and xdr_buf using an array of page pointers
and length of buffer.Signed-off-by: Benny Halevy
-
pnfs deviceids are unique per server, per layout type.
struct nfs_client is currently used to distinguish deviceids from
different nfs servers, yet these may clash between different layout
types on the same server. Therefore, use the layout driver associated
with each deviceid at insertion time to look it up, unhash, or
delete it.Signed-off-by: Benny Halevy
-
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
3 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
-
Signed-off-by: Jim Rees
Signed-off-by: Benny Halevy
12 May, 2011
2 commits
-
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
-
Free the slot and resend the RPC with new session .
For nfs4_async_handle_error, return -EAGAIN and set the task->tk_status to 0
to restart the async rpc in the rpc_restart_call_prepare state which resets
the slot.For nfs4_handle_exception, retrying a call that uses nfs4_call_sync will
reset the slot via nfs41_call_sync_prepare.For open/close/lock/locku/delegreturn/layoutcommit/unlink/rename/write
cachethis is true, so these operations will not trigger an
NFS4ERR_RETRY_UNCACHED_REP.Signed-off-by: Andy Adamson
Signed-off-by: Trond Myklebust
25 Mar, 2011
1 commit
-
changes LAYOUTGET and GETDEVICEINFO XDR parsing to:
- not use vmap, which doesn't work on incoherent archs
- use xdr_stream parsing for all xdrSigned-off-by: Weston Andros Adamson
Signed-off-by: Trond Myklebust
24 Mar, 2011
5 commits
-
Now that all the infrastructure is in place, we will do the
right thing if we remove this special casing.Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust -
The filelayout driver sends LAYOUTCOMMIT only when COMMIT goes to
the data server (as opposed to the MDS) and the data server WRITE
is not NFS_FILE_SYNC.Only whole file layout support means that there is only one IOMODE_RW layout
segment.Signed-off-by: Andy Adamson
Signed-off-by: Alexandros Batsakis
Signed-off-by: Boaz Harrosh
Signed-off-by: Dean Hildebrand
Signed-off-by: Fred Isaman
Signed-off-by: Mingyang Guo
Signed-off-by: Tao Guo
Signed-off-by: Zhang Jingwang
Tested-by: Boaz Harrosh
Signed-off-by: Benny Halevy
Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust -
Implement all the hooks created in the previous patches.
This requires exporting quite a few functions and adding a few
structure fields.Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust -
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 -
Move it up to avoid forward declaration in later patch.
Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust
12 Mar, 2011
4 commits
-
Allowing stripe_unit==0 causes the client to crash later on
when dividing by zero.Reported-by: Marc Eshel
Signed-off-by: Benny Halevy
Signed-off-by: Trond Myklebust -
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
Signed-off-by: Dean Hildebrand
Signed-off-by: Fred Isaman
Signed-off-by: Mingyang Guo
Signed-off-by: Oleg Drokin
Signed-off-by: Ricardo Labiaga
Signed-off-by: Andy Adamson
Signed-off-by: Benny Halevy
Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust -
Signed-off-by: Andy Adamson
Signed-off-by: Boaz Harrosh
Signed-off-by: Dean Hildebrand
Signed-off-by: Fred Isaman
Signed-off-by: J. Bruce Fields
Signed-off-by: Mike Sager
Signed-off-by: Ricardo Labiaga
Signed-off-by: Tao Guo
Signed-off-by: Andy Adamson
Signed-off-by: Benny Halevy
Signed-off-by: Fred Isaman
Signed-off-by: Trond Myklebust -
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