* linux-2.6.23-rc9-CITI_NFS4_ALL-1
@ 2007-10-05 15:21 J. Bruce Fields
2007-10-08 9:44 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Le Rouzic
0 siblings, 1 reply; 5+ messages in thread
From: J. Bruce Fields @ 2007-10-05 15:21 UTC (permalink / raw)
To: nfsv4, nfs
http://www.citi.umich.edu/projects/nfsv4/linux/kernel-patches/2.6.23-rc9-1/linux-2.6.23-rc9-CITI_NFS4_ALL-1.diff
This is pretty much all the NFS-related patches I know of pulled
together into one big patch:
- Trond's (nfs) 2.6.24-bound patches
- my (nfsd and locks.c) 2.6.24-bound patches
- Tom Tucker's server transport switch
- Olga's and my patches to support v4 delegations over krb5
I've given up on keeping track of the changes between successive
CITI_NFS4_ALL's, so I've just appended the summary list of changes
below. This is also available from
git://linux-nfs.org/~bfields master
Any comments or testing greatly appreciated.
--b.
Adrian Bunk (1):
[2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static
Andrew Morton (1):
nfsd warning fix
Christoph Hellwig (2):
nfsd: fix horrible indentation in nfsd_setattr
[NFS] [PATCH] nfs: tiny makefile cleanup
Chuck Lever (41):
SUNRPC: Fix a signed v. unsigned comparison in rpcbind's XDR routines
SUNRPC: Fix a signed v. unsigned comparison in net/sunrpc/xprtsock.c
SUNRPC: Use standard macros for printing IP addresses
SUNRPC: Free address buffers in a loop
SUNRPC: Add hex-formatted address support to rpc_peeraddr2str()
SUNRPC: Rename xs_format_peer_addresses
SUNRPC: add a function to format IPv6 addresses
SUNRPC: add support for IPv6 to the kernel's rpcbind client
SUNRPC: Introduce support for setting the port number in IPv6 addresses
SUNRPC: Rename xs_bind() to prepare for IPv6-specific bind method
SUNRPC: create an IPv6-savvy mechanism for binding to a reserved port
SUNRPC: Refactor a part of socket connect logic into a helper function
SUNRPC: Rename IPv4 connect workers
SUNRPC: create connect workers for IPv6
SUNRPC: Add IPv6 address support to net/sunrpc/xprtsock.c
SUNRPC: Add a helper for extracting the address using the correct type
SUNRPC: Split xs_reclassify_socket into an IPv4 and IPv6 version
SUNRPC: Add support for formatted universal addresses
SUNRPC: Fix generation of universal addresses for
SUNRPC: Only one dprintk is needed during client creation
SUNRPC: fix a signed v. unsigned comparison nit in rpc_bind_new_program
SUNRPC: Use correct argument type in memcpy()
SUNRPC: Make sure server name is reasonable before trying to print it
SUNRPC: Clean up in rpc_show_tasks
SUNRPC: Make rpcb_decode_getaddr more picky about universal addresses
SUNRPC: Retry bad rpcbind replies
SUNRPC: Add a new error code for retry waiting for another binder
SUNRPC: Split another new rpcbind retry error code from EACCES
SUNRPC: RPC bind failures should be permanent for NULL requests
NFS: Kernel mount client should use async bind
NFS: Add new 'mountaddr=' mount option
NFS: Convert printk's to dprintk's in fs/nfs/nfs?xdr.c
LOCKD: Convert printk's to dprintk's in lockd XDR routines
NFSD: Convert printk's to dprintk's in NFSD's nfs4xdr
NFS: Verify server address before invoking in-kernel mount client
NFS: Show "nointr" mount option
SUNRPC: Fix bytes-per-op accounting for RPC over UDP
NFS: Don't call nfs_renew_times() in nfs_dentry_iput()
NFS: Eliminate nfs_renew_times()
NFS: Eliminate nfs_refresh_verifier()
SUNRPC: Use correct type in buffer length calculations
Dr. David Alan Gilbert (1):
knfsd: Add source address to sunrpc svc errors
Fabio Olive Leite (1):
Re: [NFS] [PATCH] Attribute timeout handling and wrapping u32 jiffies
J. Bruce Fields (30):
locks: reverse order of posix_locks_conflict() arguments
locks: kill redundant local variable
locks: fix flock_lock_file() comment
Documentation: move mandatory locking documentation to filesystems/
locks: add warning about mandatory locking races
Documentation: move locks.txt in filesystems/
nfsd: remove IS_ISMNDLCK macro
nfsd: tone down inaccurate dprintk
nfsd: remove unused cache_for_each macro
knfsd: delete code made redundant by map_new_errors
knfsd: cleanup of nfsd4 cmp_* functions
knfsd: demote some printk()s to dprintk()s
knfsd: nfs4 name->id mapping not correctly parsing negative downcall
knfsd: spawn kernel thread to probe callback channel
knfsd: move nfsv4 slab creation/destruction to module init/exit
knfsd: fix callback rpc cred
knfsd: remove code duplication in nfsd4_setclientid()
svcgss: move init code into separate function
knfsd: let nfsd manage timing out its own leases
knfsd: don't shutdown callbacks until nfsv4 client is freed
knfsd: nfsv4 delegation recall should take reference on client
knfsd: query filesystem for NFSv4 getattr of FATTR4_MAXNAME
nfs: add server port to rpc_pipe info file
SUNRPC: Fix default hostname created in rpc_create()
Merge branch 'nfs-server-stable'
SUNRPC: allow gss callbacks to client
knfsd: support callbacks with flavors other than AUTH_UNIX
Merge branch 'locks'
Merge branch 'server-xprt-switch'
Add CITI_NFS4_ALL version to kernel version number
James Lentini (1):
[NFS] [PATCH] NFS: initialize default port in kernel mount client
Jeff Layton (1):
[NFS] [PATCH] NFS: show addr=ipaddr in /proc/mounts rather than
Jesper Juhl (1):
[23/37] Clean up duplicate includes in
Matthias Kaehlcke (1):
fs/locks.c: use list_for_each_entry() instead of list_for_each()
Olga Kornievskaia (1):
nfsd: pass client principal name in rsc downcall
Pavel Emelyanov (9):
Memory shortage can result in inconsistent flocks state
Use list_first_entry in locks_wake_up_blocks
locks: Fix potential OOPS in generic_setlease()
Cleanup macros for distinguishing mandatory locks
GFS2: clean up explicit check for mandatory locks
9PFS: clean up explicit check for mandatory locks
AFS: clean up explicit check for mandatory locks
NFS: clean up explicit check for mandatory locks
Rework /proc/locks via seq_files and seq_list helpers
Peter Staubach (2):
knfsd: 64 bit ino support for NFS server
64 bit ino support for NFS client
Tom Tucker (35):
svc: Add an svc transport class
svc: Make svc_sock the tcp/udp transport
svc: Change the svc_sock in the rqstp structure to a transport
svc: Add a max payload value to the transport
svc: Move sk_sendto and sk_recvfrom to svc_xprt_class
svc: Add transport specific xpo_release function
svc: Add per-transport delete functions
svc: Add xpo_prep_reply_hdr
svc: Add a transport function that checks for write space
svc: Move close processing to a single place
svc: Add xpo_accept transport function
svc: Add a generic transport svc_create_xprt function
svc: Change services to use new svc_create_xprt service
svc: Change sk_inuse to a kref
svc: Move sk_flags to the svc_xprt structure
svc: Move sk_server and sk_pool to svc_xprt
svc: Make close transport independent
svc: Move sk_reserved to svc_xprt
svc: Make the enqueue service transport neutral and export it.
svc: Make svc_send transport neutral
svc: Change svc_sock_received to svc_xprt_received and export it
svc: Remove sk_lastrecv
svc: Move the authinfo cache to svc_xprt.
svc: Make deferral processing xprt independent
svc: Move the sockaddr information to svc_xprt
svc: Make svc_sock_release svc_xprt_release
svc: Make svc_recv transport neutral
svc: Make svc_age_temp_sockets svc_age_temp_transports
svc: Move common create logic to common code
svc: Removing remaining references to rq_sock in rqstp
svc: Make svc_check_conn_limits xprt independent
svc: Move the xprt independent code to the svc_xprt.c file
svc: Add transport hdr size for defer/revisit
svc: Add /proc/sys/sunrpc/transport files
knfsd: Support adding transports by writing portlist file
Trond Myklebust (56):
NFS: Add the helper nfs_vm_page_mkwrite
NFS: Clean up write code...
NFS: Clean up nfs_writepages()
VFS: Remove writeback_control->fs_private
NFS: Clean up NFS writeback flush code
NFS: Writeback optimisation
NFS: Fall back to synchronous writes when a background write errors...
SUNRPC: Convert rpc_pipefs to use the generic filesystem notification hooks
NFSv4: Fix a bug in nfs4_validate_mount_data()
NFS: Add a helper to extract the nfs_open_context from a struct file
NFS: Replace file->private_data with calls to nfs_file_open_context()
NFSv4: Simplify _nfs4_do_access()
NFSv4: Make NFSv4 ACCESS calls return attributes too...
NFS: Fix over-conservative attribute invalidation in nfs_update_inode()
NFS: nfs_post_op_update_inode() should call nfs_refresh_inode()
NFS: fix nfs_verify_change_attribute
NFS: Fix dcache revalidation bugs
NFS: nfs_wcc_update_inode: directory caches are always invalidated
NFS: Don't force a dcache revalidation if nfs_wcc_update_inode succeeds
NFSv4: Don't use ctime/mtime for determining when to invalidate the caches
NFS: Don't use readdirplus data if the page cache is invalid
NFS: Fix atime revalidation in readdir()
NFS: Fix atime revalidation in read()
NFS: Fix the ESTALE "revalidation" in _nfs_revalidate_inode()
NFS: Remove bogus check of cache_change_attribute in nfs_update_inode
NFS: Fake up 'wcc' attributes to prevent cache invalidation after write
NFS: Fix the sign of the return value of nfs_save_change_attribute()
NFS: Fix nfs_verify_change_attribute()
NFS: Ensure nfs_instantiate() invalidates the parent dir on error
NFS: nfs_instantiate() should set the dentry verifier
NFS: Don't hash the negative dentry when optimising for an O_EXCL open
NFS: Fix a bug in nfs_open_revalidate()
NFS: Don't set cache_change_attribute in nfs_revalidate_mapping
NFS: Don't revalidate dentries on directory size or ctime changes
NFS: nfs_post_op_update_inode don't update cache_change_attribute
NFS: nfs_mark_for_revalidate don't update cache_change_attribute
NFS: don't cache the verifer across ->lookup() calls
NFS: Remove bogus nfs_mark_for_revalidate() in nfs_lookup
NFS: NFS_CACHEINV() should not test for nfs_caches_unstable()
NFS: Remove NFS_I(inode)->data_updates
NFS: Remove nfs_begin_data_update/nfs_end_data_update
NFS: Reset nfsi->last_updated only if the attribute changed
NFS: Optimise nfs_lookup_revalidate()
NFSv4: Don't revalidate the directory in nfs_atomic_lookup()
NFSv4: Use NFSv2/v3 rules for negative dentries in nfs_open_revalidate
NFSv4: Fix nfs_atomic_open() to set the verifier on negative dentries too
NFSv3: Always use directory post-op attributes in nfs3_proc_lookup
NFS: Remove the redundant nfs_reval_fsid()
NFS: Don't zap the readdir caches upon error
NFS: Be strict about dentry revalidation when doing exclusive create
NFS: Ensure that nfs_link() returns a hashed dentry
NFS: Simplify filehandle revalidation
NFS: Get rid of some obsolete macros
SUNRPC: Fix buggy UDP transmission
SUNRPC: Don't call xprt_release() if call_allocate fails
SUNRPC: Don't call xprt_release in call refresh
\"Talpey, Thomas\ (20):
SUNRPC: move per-transport rpcbind netid's
SUNRPC: export per-transport rpcbind netid's
NFS: move nfs_parsed_mount_data structure definition
NFS: use in-kernel mount argument structure for nfsv[23] mounts
NFS: use in-kernel mount argument structure for nfsv4 mounts
SUNRPC: mark bulk read/write data in xdrbuf
SUNRPC: add EXPORT_SYMBOL_GPL for generic transport functions
SUNRPC: Provide a new API for registering transport implementations
SUNRPC: Finish API to load RPC transport implementations dynamically
SUNRPC: rename the rpc_xprtsock_create structure
SUNRPC: rearrange RPC sockets definitions
NFS/SUNRPC: support transport protocol naming
NFS/SUNRPC: use transport protocol naming
NFS - print accurate transport protocol
RPCRDMA: Kconfig and header file with rpcrdma protocol definitions
NFS: support RDMA mounts
RPCRDMA: rpc rdma transport switch
RPCRDMA: rpc rdma protocol implementation
RPCRDMA: rpc rdma verbs interface implementation
SUNRPC: Add RDMA dependency to SUNRPC_XPRT_RDMA
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: linux-2.6.23-rc9-CITI_NFS4_ALL-1 2007-10-05 15:21 linux-2.6.23-rc9-CITI_NFS4_ALL-1 J. Bruce Fields @ 2007-10-08 9:44 ` Le Rouzic 2007-10-09 15:17 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Trond Myklebust 0 siblings, 1 reply; 5+ messages in thread From: Le Rouzic @ 2007-10-08 9:44 UTC (permalink / raw) To: J. Bruce Fields; +Cc: nfs, nfsv4 Hi, Running 2.6.23-rc9-CITI_NFS4_ALL-1 on two Intel X86_64 two ways machines as= client and server, the runtest (-b) of the basic commands of the connectathon suite gi= ves the following errors: ./runtests -b -t /mnt/nosec1/test_nfs1_nfs4_gb /test6: readdir ./test6: (/mnt/nosec1/test_nfs1_nfs4_gb) unlinked 'file.0' dir entry read pass 1 ./test6: (/mnt/nosec1/test_nfs1_nfs4_gb) Test failed with 1 errors Bug has been registered at: Bug: = http://bugzilla.linux-nfs.org/show_bug.cgi?id=3D148 = Cheers J. Bruce Fields a =E9crit : >http://www.citi.umich.edu/projects/nfsv4/linux/kernel-patches/2.6.23-rc9-1= /linux-2.6.23-rc9-CITI_NFS4_ALL-1.diff > >This is pretty much all the NFS-related patches I know of pulled >together into one big patch: > - Trond's (nfs) 2.6.24-bound patches > - my (nfsd and locks.c) 2.6.24-bound patches > - Tom Tucker's server transport switch > - Olga's and my patches to support v4 delegations over krb5 > >I've given up on keeping track of the changes between successive >CITI_NFS4_ALL's, so I've just appended the summary list of changes >below. This is also available from > > git://linux-nfs.org/~bfields master > >Any comments or testing greatly appreciated. > >--b. > >Adrian Bunk (1): > [2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static > >Andrew Morton (1): > nfsd warning fix > >Christoph Hellwig (2): > nfsd: fix horrible indentation in nfsd_setattr > [NFS] [PATCH] nfs: tiny makefile cleanup > >Chuck Lever (41): > SUNRPC: Fix a signed v. unsigned comparison in rpcbind's XDR routines > SUNRPC: Fix a signed v. unsigned comparison in net/sunrpc/xprtsock.c > SUNRPC: Use standard macros for printing IP addresses > SUNRPC: Free address buffers in a loop > SUNRPC: Add hex-formatted address support to rpc_peeraddr2str() > SUNRPC: Rename xs_format_peer_addresses > SUNRPC: add a function to format IPv6 addresses > SUNRPC: add support for IPv6 to the kernel's rpcbind client > SUNRPC: Introduce support for setting the port number in IPv6 addres= ses > SUNRPC: Rename xs_bind() to prepare for IPv6-specific bind method > SUNRPC: create an IPv6-savvy mechanism for binding to a reserved port > SUNRPC: Refactor a part of socket connect logic into a helper functi= on > SUNRPC: Rename IPv4 connect workers > SUNRPC: create connect workers for IPv6 > SUNRPC: Add IPv6 address support to net/sunrpc/xprtsock.c > SUNRPC: Add a helper for extracting the address using the correct ty= pe > SUNRPC: Split xs_reclassify_socket into an IPv4 and IPv6 version > SUNRPC: Add support for formatted universal addresses > SUNRPC: Fix generation of universal addresses for > SUNRPC: Only one dprintk is needed during client creation > SUNRPC: fix a signed v. unsigned comparison nit in rpc_bind_new_prog= ram > SUNRPC: Use correct argument type in memcpy() > SUNRPC: Make sure server name is reasonable before trying to print it > SUNRPC: Clean up in rpc_show_tasks > SUNRPC: Make rpcb_decode_getaddr more picky about universal addresses > SUNRPC: Retry bad rpcbind replies > SUNRPC: Add a new error code for retry waiting for another binder > SUNRPC: Split another new rpcbind retry error code from EACCES > SUNRPC: RPC bind failures should be permanent for NULL requests > NFS: Kernel mount client should use async bind > NFS: Add new 'mountaddr=3D' mount option > NFS: Convert printk's to dprintk's in fs/nfs/nfs?xdr.c > LOCKD: Convert printk's to dprintk's in lockd XDR routines > NFSD: Convert printk's to dprintk's in NFSD's nfs4xdr > NFS: Verify server address before invoking in-kernel mount client > NFS: Show "nointr" mount option > SUNRPC: Fix bytes-per-op accounting for RPC over UDP > NFS: Don't call nfs_renew_times() in nfs_dentry_iput() > NFS: Eliminate nfs_renew_times() > NFS: Eliminate nfs_refresh_verifier() > SUNRPC: Use correct type in buffer length calculations > >Dr. David Alan Gilbert (1): > knfsd: Add source address to sunrpc svc errors > >Fabio Olive Leite (1): > Re: [NFS] [PATCH] Attribute timeout handling and wrapping u32 jiffies > >J. Bruce Fields (30): > locks: reverse order of posix_locks_conflict() arguments > locks: kill redundant local variable > locks: fix flock_lock_file() comment > Documentation: move mandatory locking documentation to filesystems/ > locks: add warning about mandatory locking races > Documentation: move locks.txt in filesystems/ > nfsd: remove IS_ISMNDLCK macro > nfsd: tone down inaccurate dprintk > nfsd: remove unused cache_for_each macro > knfsd: delete code made redundant by map_new_errors > knfsd: cleanup of nfsd4 cmp_* functions > knfsd: demote some printk()s to dprintk()s > knfsd: nfs4 name->id mapping not correctly parsing negative downcall > knfsd: spawn kernel thread to probe callback channel > knfsd: move nfsv4 slab creation/destruction to module init/exit > knfsd: fix callback rpc cred > knfsd: remove code duplication in nfsd4_setclientid() > svcgss: move init code into separate function > knfsd: let nfsd manage timing out its own leases > knfsd: don't shutdown callbacks until nfsv4 client is freed > knfsd: nfsv4 delegation recall should take reference on client > knfsd: query filesystem for NFSv4 getattr of FATTR4_MAXNAME > nfs: add server port to rpc_pipe info file > SUNRPC: Fix default hostname created in rpc_create() > Merge branch 'nfs-server-stable' > SUNRPC: allow gss callbacks to client > knfsd: support callbacks with flavors other than AUTH_UNIX > Merge branch 'locks' > Merge branch 'server-xprt-switch' > Add CITI_NFS4_ALL version to kernel version number > >James Lentini (1): > [NFS] [PATCH] NFS: initialize default port in kernel mount client > >Jeff Layton (1): > [NFS] [PATCH] NFS: show addr=3Dipaddr in /proc/mounts rather than > >Jesper Juhl (1): > [23/37] Clean up duplicate includes in > >Matthias Kaehlcke (1): > fs/locks.c: use list_for_each_entry() instead of list_for_each() > >Olga Kornievskaia (1): > nfsd: pass client principal name in rsc downcall > >Pavel Emelyanov (9): > Memory shortage can result in inconsistent flocks state > Use list_first_entry in locks_wake_up_blocks > locks: Fix potential OOPS in generic_setlease() > Cleanup macros for distinguishing mandatory locks > GFS2: clean up explicit check for mandatory locks > 9PFS: clean up explicit check for mandatory locks > AFS: clean up explicit check for mandatory locks > NFS: clean up explicit check for mandatory locks > Rework /proc/locks via seq_files and seq_list helpers > >Peter Staubach (2): > knfsd: 64 bit ino support for NFS server > 64 bit ino support for NFS client > >Tom Tucker (35): > svc: Add an svc transport class > svc: Make svc_sock the tcp/udp transport > svc: Change the svc_sock in the rqstp structure to a transport > svc: Add a max payload value to the transport > svc: Move sk_sendto and sk_recvfrom to svc_xprt_class > svc: Add transport specific xpo_release function > svc: Add per-transport delete functions > svc: Add xpo_prep_reply_hdr > svc: Add a transport function that checks for write space > svc: Move close processing to a single place > svc: Add xpo_accept transport function > svc: Add a generic transport svc_create_xprt function > svc: Change services to use new svc_create_xprt service > svc: Change sk_inuse to a kref > svc: Move sk_flags to the svc_xprt structure > svc: Move sk_server and sk_pool to svc_xprt > svc: Make close transport independent > svc: Move sk_reserved to svc_xprt > svc: Make the enqueue service transport neutral and export it. > svc: Make svc_send transport neutral > svc: Change svc_sock_received to svc_xprt_received and export it > svc: Remove sk_lastrecv > svc: Move the authinfo cache to svc_xprt. > svc: Make deferral processing xprt independent > svc: Move the sockaddr information to svc_xprt > svc: Make svc_sock_release svc_xprt_release > svc: Make svc_recv transport neutral > svc: Make svc_age_temp_sockets svc_age_temp_transports > svc: Move common create logic to common code > svc: Removing remaining references to rq_sock in rqstp > svc: Make svc_check_conn_limits xprt independent > svc: Move the xprt independent code to the svc_xprt.c file > svc: Add transport hdr size for defer/revisit > svc: Add /proc/sys/sunrpc/transport files > knfsd: Support adding transports by writing portlist file > >Trond Myklebust (56): > NFS: Add the helper nfs_vm_page_mkwrite > NFS: Clean up write code... > NFS: Clean up nfs_writepages() > VFS: Remove writeback_control->fs_private > NFS: Clean up NFS writeback flush code > NFS: Writeback optimisation > NFS: Fall back to synchronous writes when a background write errors.= .. > SUNRPC: Convert rpc_pipefs to use the generic filesystem notificatio= n hooks > NFSv4: Fix a bug in nfs4_validate_mount_data() > NFS: Add a helper to extract the nfs_open_context from a struct file > NFS: Replace file->private_data with calls to nfs_file_open_context() > NFSv4: Simplify _nfs4_do_access() > NFSv4: Make NFSv4 ACCESS calls return attributes too... > NFS: Fix over-conservative attribute invalidation in nfs_update_inod= e() > NFS: nfs_post_op_update_inode() should call nfs_refresh_inode() > NFS: fix nfs_verify_change_attribute > NFS: Fix dcache revalidation bugs > NFS: nfs_wcc_update_inode: directory caches are always invalidated > NFS: Don't force a dcache revalidation if nfs_wcc_update_inode succe= eds > NFSv4: Don't use ctime/mtime for determining when to invalidate the = caches > NFS: Don't use readdirplus data if the page cache is invalid > NFS: Fix atime revalidation in readdir() > NFS: Fix atime revalidation in read() > NFS: Fix the ESTALE "revalidation" in _nfs_revalidate_inode() > NFS: Remove bogus check of cache_change_attribute in nfs_update_inode > NFS: Fake up 'wcc' attributes to prevent cache invalidation after wr= ite > NFS: Fix the sign of the return value of nfs_save_change_attribute() > NFS: Fix nfs_verify_change_attribute() > NFS: Ensure nfs_instantiate() invalidates the parent dir on error > NFS: nfs_instantiate() should set the dentry verifier > NFS: Don't hash the negative dentry when optimising for an O_EXCL op= en > NFS: Fix a bug in nfs_open_revalidate() > NFS: Don't set cache_change_attribute in nfs_revalidate_mapping > NFS: Don't revalidate dentries on directory size or ctime changes > NFS: nfs_post_op_update_inode don't update cache_change_attribute > NFS: nfs_mark_for_revalidate don't update cache_change_attribute > NFS: don't cache the verifer across ->lookup() calls > NFS: Remove bogus nfs_mark_for_revalidate() in nfs_lookup > NFS: NFS_CACHEINV() should not test for nfs_caches_unstable() > NFS: Remove NFS_I(inode)->data_updates > NFS: Remove nfs_begin_data_update/nfs_end_data_update > NFS: Reset nfsi->last_updated only if the attribute changed > NFS: Optimise nfs_lookup_revalidate() > NFSv4: Don't revalidate the directory in nfs_atomic_lookup() > NFSv4: Use NFSv2/v3 rules for negative dentries in nfs_open_revalida= te > NFSv4: Fix nfs_atomic_open() to set the verifier on negative dentrie= s too > NFSv3: Always use directory post-op attributes in nfs3_proc_lookup > NFS: Remove the redundant nfs_reval_fsid() > NFS: Don't zap the readdir caches upon error > NFS: Be strict about dentry revalidation when doing exclusive create > NFS: Ensure that nfs_link() returns a hashed dentry > NFS: Simplify filehandle revalidation > NFS: Get rid of some obsolete macros > SUNRPC: Fix buggy UDP transmission > SUNRPC: Don't call xprt_release() if call_allocate fails > SUNRPC: Don't call xprt_release in call refresh > >\"Talpey, Thomas\ (20): > SUNRPC: move per-transport rpcbind netid's > SUNRPC: export per-transport rpcbind netid's > NFS: move nfs_parsed_mount_data structure definition > NFS: use in-kernel mount argument structure for nfsv[23] mounts > NFS: use in-kernel mount argument structure for nfsv4 mounts > SUNRPC: mark bulk read/write data in xdrbuf > SUNRPC: add EXPORT_SYMBOL_GPL for generic transport functions > SUNRPC: Provide a new API for registering transport implementations > SUNRPC: Finish API to load RPC transport implementations dynamically > SUNRPC: rename the rpc_xprtsock_create structure > SUNRPC: rearrange RPC sockets definitions > NFS/SUNRPC: support transport protocol naming > NFS/SUNRPC: use transport protocol naming > NFS - print accurate transport protocol > RPCRDMA: Kconfig and header file with rpcrdma protocol definitions > NFS: support RDMA mounts > RPCRDMA: rpc rdma transport switch > RPCRDMA: rpc rdma protocol implementation > RPCRDMA: rpc rdma verbs interface implementation > SUNRPC: Add RDMA dependency to SUNRPC_XPRT_RDMA > >_______________________________________________ >NFSv4 mailing list >NFSv4@linux-nfs.org >http://linux-nfs.org/cgi-bin/mailman/listinfo/nfsv4 > > = > -- = ----------------------------------------------------------------- Company : Bull, Architect of an Open World TM (www.bull.com) Name : Aime Le Rouzic = Mail : Bull - BP 208 - 38432 Echirolles Cedex - France E-Mail : aime.le-rouzic@bull.net Phone : 33 (4) 76.29.75.51 Fax : 33 (4) 76.29.75.18 ----------------------------------------------------------------- = ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: linux-2.6.23-rc9-CITI_NFS4_ALL-1 2007-10-08 9:44 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Le Rouzic @ 2007-10-09 15:17 ` Trond Myklebust 2007-10-09 15:24 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 J. Bruce Fields 2007-10-09 16:11 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Le Rouzic 0 siblings, 2 replies; 5+ messages in thread From: Trond Myklebust @ 2007-10-09 15:17 UTC (permalink / raw) To: Le Rouzic; +Cc: J. Bruce Fields, nfsv4, nfs [-- Attachment #1: Type: text/plain, Size: 702 bytes --] On Mon, 2007-10-08 at 11:44 +0200, Le Rouzic wrote: > Hi, > > Running 2.6.23-rc9-CITI_NFS4_ALL-1 on two Intel X86_64 two ways machines as client and > server, the runtest (-b) of the basic commands of the connectathon suite gives > the following errors: > > ./runtests -b -t /mnt/nosec1/test_nfs1_nfs4_gb > /test6: readdir > ./test6: (/mnt/nosec1/test_nfs1_nfs4_gb) unlinked 'file.0' dir entry > read pass 1 > ./test6: (/mnt/nosec1/test_nfs1_nfs4_gb) Test failed with 1 errors > > > Bug has been registered at: > > Bug: > http://bugzilla.linux-nfs.org/show_bug.cgi?id=148 > > Cheers I believe that applying the following 2 patches should fix this problem. Cheers Trond [-- Attachment #2: linux-2.6.23-128-nfs_use_nfs_refresh_inode.dif --] [-- Type: message/rfc822, Size: 1800 bytes --] From: Trond Myklebust <Trond.Myklebust@netapp.com> Subject: No Subject Date: Mon, 8 Oct 2007 14:10:31 -0400 Message-ID: <1191943060.8739.10.camel@heimdal.trondhjem.org> nfs_post_op_update_inode() is really only meant to be used if we expect the inode and its attributes to have changed in some way. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> --- fs/nfs/nfs3proc.c | 3 +-- fs/nfs/nfs4proc.c | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c index 6e05f6c..4cdc236 100644 --- a/fs/nfs/nfs3proc.c +++ b/fs/nfs/nfs3proc.c @@ -777,8 +777,7 @@ static int nfs3_commit_done(struct rpc_task *task, struct nfs_write_data *data) { if (nfs3_async_handle_jukebox(task, data->inode)) return -EAGAIN; - if (task->tk_status >= 0) - nfs_post_op_update_inode(data->inode, data->res.fattr); + nfs_refresh_inode(data->inode, data->res.fattr); return 0; } diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 52af5a7..30d5dd5 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -2475,8 +2475,7 @@ static int nfs4_commit_done(struct rpc_task *task, struct nfs_write_data *data) rpc_restart_call(task); return -EAGAIN; } - if (task->tk_status >= 0) - nfs_post_op_update_inode(inode, data->res.fattr); + nfs_refresh_inode(inode, data->res.fattr); return 0; } @@ -3046,7 +3045,7 @@ static int _nfs4_proc_delegreturn(struct inode *inode, struct rpc_cred *cred, co if (status == 0) { status = data->rpc_status; if (status == 0) - nfs_post_op_update_inode(inode, &data->fattr); + nfs_refresh_inode(inode, &data->fattr); } rpc_put_task(task); return status; [-- Attachment #3: linux-2.6.23-129-nfs_fix_connectathon_failure.dif --] [-- Type: message/rfc822, Size: 2331 bytes --] From: Trond Myklebust <Trond.Myklebust@netapp.com> Subject: No Subject Date: Mon, 8 Oct 2007 09:24:22 -0400 Message-ID: <1191943060.8739.11.camel@heimdal.trondhjem.org> We're failing basic test6 against Linux servers because they lack a correct change attribute. The fix is to assume that we always want to invalidate the readdir caches when we call update_changeattr and/or nfs_post_op_update_inode on a directory. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> --- fs/nfs/inode.c | 10 +++++++++- fs/nfs/nfs4proc.c | 10 ++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 4693879..c44cd02 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -876,11 +876,19 @@ int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr) { struct nfs_inode *nfsi = NFS_I(inode); - if (fattr->valid & NFS_ATTR_FATTR) + if (fattr->valid & NFS_ATTR_FATTR) { + if (S_ISDIR(inode->i_mode)) { + spin_lock(&inode->i_lock); + nfsi->cache_validity |= NFS_INO_INVALID_DATA; + spin_unlock(&inode->i_lock); + } return nfs_refresh_inode(inode, fattr); + } spin_lock(&inode->i_lock); nfsi->cache_validity |= NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE; + if (S_ISDIR(inode->i_mode)) + nfsi->cache_validity |= NFS_INO_INVALID_DATA; spin_unlock(&inode->i_lock); return 0; } diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 30d5dd5..cb99fd9 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -208,12 +208,10 @@ static void update_changeattr(struct inode *dir, struct nfs4_change_info *cinfo) struct nfs_inode *nfsi = NFS_I(dir); spin_lock(&dir->i_lock); - if (cinfo->after != nfsi->change_attr) { - nfsi->cache_validity |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE|NFS_INO_INVALID_DATA; - if (!cinfo->atomic || cinfo->before != nfsi->change_attr) - nfsi->cache_change_attribute = jiffies; - nfsi->change_attr = cinfo->after; - } + nfsi->cache_validity |= NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE|NFS_INO_INVALID_DATA; + if (!cinfo->atomic || cinfo->before != nfsi->change_attr) + nfsi->cache_change_attribute = jiffies; + nfsi->change_attr = cinfo->after; spin_unlock(&dir->i_lock); } [-- Attachment #4: Type: text/plain, Size: 314 bytes --] ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ [-- Attachment #5: Type: text/plain, Size: 140 bytes --] _______________________________________________ NFS maillist - NFS@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: linux-2.6.23-rc9-CITI_NFS4_ALL-1 2007-10-09 15:17 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Trond Myklebust @ 2007-10-09 15:24 ` J. Bruce Fields 2007-10-09 16:11 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Le Rouzic 1 sibling, 0 replies; 5+ messages in thread From: J. Bruce Fields @ 2007-10-09 15:24 UTC (permalink / raw) To: Trond Myklebust; +Cc: nfsv4, Le Rouzic, nfs On Tue, Oct 09, 2007 at 11:17:40AM -0400, Trond Myklebust wrote: > > On Mon, 2007-10-08 at 11:44 +0200, Le Rouzic wrote: > > Hi, > > > > Running 2.6.23-rc9-CITI_NFS4_ALL-1 on two Intel X86_64 two ways machines as client and > > server, the runtest (-b) of the basic commands of the connectathon suite gives > > the following errors: > > > > ./runtests -b -t /mnt/nosec1/test_nfs1_nfs4_gb > > /test6: readdir > > ./test6: (/mnt/nosec1/test_nfs1_nfs4_gb) unlinked 'file.0' dir entry > > read pass 1 > > ./test6: (/mnt/nosec1/test_nfs1_nfs4_gb) Test failed with 1 errors > > > > > > Bug has been registered at: > > > > Bug: > > http://bugzilla.linux-nfs.org/show_bug.cgi?id=148 > > > > Cheers > > I believe that applying the following 2 patches should fix this problem. Thanks for taking care of this, Trond.... I've been wondering whether to keep putting out these patches. Looks like they're still getting some testing, so I guess I should! The name doesn't make as much sense any more, but oh well. --b. ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ NFS maillist - NFS@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: linux-2.6.23-rc9-CITI_NFS4_ALL-1 2007-10-09 15:17 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Trond Myklebust 2007-10-09 15:24 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 J. Bruce Fields @ 2007-10-09 16:11 ` Le Rouzic 1 sibling, 0 replies; 5+ messages in thread From: Le Rouzic @ 2007-10-09 16:11 UTC (permalink / raw) To: Trond Myklebust; +Cc: nfsv4, nfs Trond Myklebust a =E9crit : >On Mon, 2007-10-08 at 11:44 +0200, Le Rouzic wrote: > = > >>Hi, >> >>Running 2.6.23-rc9-CITI_NFS4_ALL-1 on two Intel X86_64 two ways machines = as client and >>server, the runtest (-b) of the basic commands of the connectathon suite = gives >>the following errors: >> >>./runtests -b -t /mnt/nosec1/test_nfs1_nfs4_gb >>/test6: readdir >> ./test6: (/mnt/nosec1/test_nfs1_nfs4_gb) unlinked 'file.0' dir en= try >>read pass 1 >> ./test6: (/mnt/nosec1/test_nfs1_nfs4_gb) Test failed with 1 errors >> >> >>Bug has been registered at: >> >>Bug: = >> http://bugzilla.linux-nfs.org/show_bug.cgi?id=3D148 = >> >>Cheers >> = >> > >I believe that applying the following 2 patches should fix this problem. > >Cheers > Trond > = > Hi, They do . We can close the bug at least for this test. Cheers > = > > > ------------------------------------------------------------------------ > > Sujet: > No Subject > Exp=E9diteur: > Trond Myklebust <Trond.Myklebust@netapp.com> > Date: > Mon, 8 Oct 2007 14:10:31 -0400 > > >nfs_post_op_update_inode() is really only meant to be used if we expect the >inode and its attributes to have changed in some way. > >Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> >--- > > fs/nfs/nfs3proc.c | 3 +-- > fs/nfs/nfs4proc.c | 5 ++--- > 2 files changed, 3 insertions(+), 5 deletions(-) > >diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c >index 6e05f6c..4cdc236 100644 >--- a/fs/nfs/nfs3proc.c >+++ b/fs/nfs/nfs3proc.c >@@ -777,8 +777,7 @@ static int nfs3_commit_done(struct rpc_task *task, str= uct nfs_write_data *data) > { > if (nfs3_async_handle_jukebox(task, data->inode)) > return -EAGAIN; >- if (task->tk_status >=3D 0) >- nfs_post_op_update_inode(data->inode, data->res.fattr); >+ nfs_refresh_inode(data->inode, data->res.fattr); > return 0; > } > = >diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c >index 52af5a7..30d5dd5 100644 >--- a/fs/nfs/nfs4proc.c >+++ b/fs/nfs/nfs4proc.c >@@ -2475,8 +2475,7 @@ static int nfs4_commit_done(struct rpc_task *task, s= truct nfs_write_data *data) > rpc_restart_call(task); > return -EAGAIN; > } >- if (task->tk_status >=3D 0) >- nfs_post_op_update_inode(inode, data->res.fattr); >+ nfs_refresh_inode(inode, data->res.fattr); > return 0; > } > = >@@ -3046,7 +3045,7 @@ static int _nfs4_proc_delegreturn(struct inode *inod= e, struct rpc_cred *cred, co > if (status =3D=3D 0) { > status =3D data->rpc_status; > if (status =3D=3D 0) >- nfs_post_op_update_inode(inode, &data->fattr); >+ nfs_refresh_inode(inode, &data->fattr); > } > rpc_put_task(task); > return status; > = > > > ------------------------------------------------------------------------ > > Sujet: > No Subject > Exp=E9diteur: > Trond Myklebust <Trond.Myklebust@netapp.com> > Date: > Mon, 8 Oct 2007 09:24:22 -0400 > > >We're failing basic test6 against Linux servers because they lack a correct >change attribute. The fix is to assume that we always want to invalidate >the readdir caches when we call update_changeattr and/or >nfs_post_op_update_inode on a directory. > >Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> >--- > > fs/nfs/inode.c | 10 +++++++++- > fs/nfs/nfs4proc.c | 10 ++++------ > 2 files changed, 13 insertions(+), 7 deletions(-) > >diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c >index 4693879..c44cd02 100644 >--- a/fs/nfs/inode.c >+++ b/fs/nfs/inode.c >@@ -876,11 +876,19 @@ int nfs_post_op_update_inode(struct inode *inode, st= ruct nfs_fattr *fattr) > { > struct nfs_inode *nfsi =3D NFS_I(inode); > = >- if (fattr->valid & NFS_ATTR_FATTR) >+ if (fattr->valid & NFS_ATTR_FATTR) { >+ if (S_ISDIR(inode->i_mode)) { >+ spin_lock(&inode->i_lock); >+ nfsi->cache_validity |=3D NFS_INO_INVALID_DATA; >+ spin_unlock(&inode->i_lock); >+ } > return nfs_refresh_inode(inode, fattr); >+ } > = > spin_lock(&inode->i_lock); > nfsi->cache_validity |=3D NFS_INO_INVALID_ACCESS|NFS_INO_INVALID_ATTR|NF= S_INO_REVAL_PAGECACHE; >+ if (S_ISDIR(inode->i_mode)) >+ nfsi->cache_validity |=3D NFS_INO_INVALID_DATA; > spin_unlock(&inode->i_lock); > return 0; > } >diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c >index 30d5dd5..cb99fd9 100644 >--- a/fs/nfs/nfs4proc.c >+++ b/fs/nfs/nfs4proc.c >@@ -208,12 +208,10 @@ static void update_changeattr(struct inode *dir, str= uct nfs4_change_info *cinfo) > struct nfs_inode *nfsi =3D NFS_I(dir); > = > spin_lock(&dir->i_lock); >- if (cinfo->after !=3D nfsi->change_attr) { >- nfsi->cache_validity |=3D NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE|= NFS_INO_INVALID_DATA; >- if (!cinfo->atomic || cinfo->before !=3D nfsi->change_attr) >- nfsi->cache_change_attribute =3D jiffies; >- nfsi->change_attr =3D cinfo->after; >- } >+ nfsi->cache_validity |=3D NFS_INO_INVALID_ATTR|NFS_INO_REVAL_PAGECACHE|N= FS_INO_INVALID_DATA; >+ if (!cinfo->atomic || cinfo->before !=3D nfsi->change_attr) >+ nfsi->cache_change_attribute =3D jiffies; >+ nfsi->change_attr =3D cinfo->after; > spin_unlock(&dir->i_lock); > } > = > = > -- = ----------------------------------------------------------------- Company : Bull, Architect of an Open World TM (www.bull.com) Name : Aime Le Rouzic = Mail : Bull - BP 208 - 38432 Echirolles Cedex - France E-Mail : aime.le-rouzic@bull.net Phone : 33 (4) 76.29.75.51 Fax : 33 (4) 76.29.75.18 ----------------------------------------------------------------- = ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-10-09 16:11 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-10-05 15:21 linux-2.6.23-rc9-CITI_NFS4_ALL-1 J. Bruce Fields 2007-10-08 9:44 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Le Rouzic 2007-10-09 15:17 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Trond Myklebust 2007-10-09 15:24 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 J. Bruce Fields 2007-10-09 16:11 ` linux-2.6.23-rc9-CITI_NFS4_ALL-1 Le Rouzic
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox