ms-nfs41-client/daemon
Casey Bodley d0ff37a195 pnfs: strategy for merging layout segments
when processing new layout segments from a LAYOUTGET response, layout_update_range() first attempts to merge each new segment into existing segments before calling layout_ordered_insert().  two segments are eligible for merging if their ranges overlap, and all other relevant fields (iomode, stripe unit, deviceid, filehandles, etc) match

when a new segment is merged with an existing segment, the existing segment's extended range may cause it to overlap with another existing segment; additional merging may then be necessary.  but merging an existing segment with another existing segment results in the the first segment being removed/freed, so this type of merging can -only- be performed when no io threads are referencing the layout.  pnfs_layout_io_finished() calls layout_state_merge() to finish any merging that was delayed during io

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
2012-05-03 11:45:56 -04:00
..
acl.c fixing localdomain_name declaration in acl.c 2012-03-19 15:04:44 -04:00
callback_server.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
callback_xdr.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
daemon_debug.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
daemon_debug.h license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
delegation.c open and create accept pointer to attributes 2012-03-29 16:16:55 -04:00
delegation.h open and create accept pointer to attributes 2012-03-29 16:16:55 -04:00
ea.c ea: QueryEaInfo support for index, restart, single 2012-05-03 10:58:42 -04:00
from_kernel.h implement getattr for FileNetworkOpenInformation 2012-04-20 12:42:36 -04:00
getattr.c cosmetic: move ea get and set upcalls to separate file 2012-05-03 10:58:01 -04:00
idmap.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
idmap.h license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
list.h license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
lock.c locks: serialize lock requests 2012-05-02 18:36:15 -04:00
lookup.c check pathlen on referrals 2012-04-26 16:13:45 -04:00
makefile fresh git tree for public release 2010-10-12 10:15:48 -04:00
mount.c volume: cache volume attributes on mount 2012-04-20 15:03:14 -04:00
name_cache.c increasing namecache size to 256K 2012-05-02 18:53:38 -04:00
name_cache.h license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
namespace.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
nfs41.h ea: QueryEaInfo support for index, restart, single 2012-05-03 10:58:42 -04:00
nfs41_callback.h license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
nfs41_client.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
nfs41_compound.c [cosmetic] removed unused define 2012-03-19 15:04:39 -04:00
nfs41_compound.h license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
nfs41_const.h increasing maxfilename to 255 2012-05-02 18:54:21 -04:00
nfs41_daemon.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
nfs41_ops.c ea: refactor SetEaInfo for use on open 2012-05-03 10:58:24 -04:00
nfs41_ops.h ea: query each superblock for named attr support 2012-04-09 15:01:12 -04:00
nfs41_rpc.c in rpc_reconnect respect original needcb value 2012-03-19 15:04:36 -04:00
nfs41_server.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
nfs41_session.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
nfs41_superblock.c volume: cache volume attributes on mount 2012-04-20 15:03:14 -04:00
nfs41_types.h handling hidden system archive file attributes 2012-04-02 12:49:44 -04:00
nfs41_xdr.c [readdir] make sure buffer produces nul-terminated str 2012-04-26 11:07:27 -04:00
nfs41_xdr.h license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
open.c use readdir to generate ea list 2012-05-03 10:58:36 -04:00
pnfs.h pnfs: store a list of layout segments 2012-05-03 11:45:50 -04:00
pnfs_debug.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
pnfs_device.c pnfs: simplified logic for calculating next stripe unit 2012-05-03 11:45:36 -04:00
pnfs_io.c pnfs: store a list of layout segments 2012-05-03 11:45:50 -04:00
pnfs_layout.c pnfs: strategy for merging layout segments 2012-05-03 11:45:56 -04:00
readdir.c leaving one max_component len constant 2012-04-30 11:57:34 -04:00
readwrite.c pnfs: prepare layout under a single lock 2012-05-03 11:45:29 -04:00
recovery.c pnfs: store a list of layout segments 2012-05-03 11:45:50 -04:00
recovery.h license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
service.c build: pacified compiler warnings in x86/x64 2011-11-02 12:08:48 -04:00
service.h first stab at nfsd as a service 2010-10-12 10:36:03 -04:00
setattr.c cosmetic: move ea get and set upcalls to separate file 2012-05-03 10:58:01 -04:00
sources idmap.c for ldap caching and configuration 2010-11-08 12:54:40 -05:00
symlink.c open and create accept pointer to attributes 2012-03-29 16:16:55 -04:00
tree.h replace rbtree implementation with tree.h from freebsd 2010-12-01 10:25:29 -05:00
upcall.c license changed to LGPL: added COPYING file, changed source file comments 2012-03-19 12:24:43 -04:00
upcall.h ea: QueryEaInfo support for index, restart, single 2012-05-03 10:58:42 -04:00
util.c changing error code when path is too long 2012-04-26 11:06:31 -04:00
util.h implement getattr for FileNetworkOpenInformation 2012-04-20 12:42:36 -04:00
volume.c [volume] fixing FsAttributes volume query 2012-04-25 11:37:24 -04:00