27 Sep, 2006
3 commits
-
Add missing \n to dprintk
Signed-off-by: Martin Bligh
Acked-by: Trond Myklebust
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
* Removing useless casts
* Removing useless wrapper
* Conversion from kmalloc+memset to kzallocSigned-off-by: Panagiotis Issaris
Acked-by: Dave Kleikamp
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Conversions from kmalloc+memset to kzalloc.
Signed-off-by: Panagiotis Issaris
Jffs2-bit-acked-by: David Woodhouse
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
23 Sep, 2006
3 commits
-
Replace xprt_create_proto/rpc_create_client with new rpc_create()
interface in the Network Lock Manager.Note that the semantics of NLM transports is now "hard" instead of "soft"
to provide a better guarantee that lock requests will get to the server.Test plan:
Repeated runs of Connectathon locking suite. Check network trace to ensure
NLM requests are working correctly.Signed-off-by: Chuck Lever
Signed-off-by: Trond Myklebust -
Remove some unused macros related to accessing an RPC peer address
Test plan:
Compile kernel with CONFIG_NFS option enabled.Signed-off-by: Chuck Lever
Signed-off-by: Trond Myklebust -
Hide the details of how the RPC client stores remote peer addresses from
the Network Lock Manager.Test plan:
Destructive testing (unplugging the network temporarily). Connectathon
with UDP and TCP.Signed-off-by: Chuck Lever
Signed-off-by: Trond Myklebust
25 Aug, 2006
1 commit
-
nlm_traverse_files() is not allowed to hold the nlm_file_mutex while calling
nlm_inspect file, since it may end up calling nlm_release_file() when
releaseing the blocks.Signed-off-by: Trond Myklebust
(cherry picked from e558d3cde986e04f68afe8c790ad68ef4b94587a commit)
04 Aug, 2006
1 commit
-
We never actually set the b_done field any more; it's always zero.
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust
(cherry picked from af8412d4283ef91356e65e0ed9b025b376aebded commit)
06 Jul, 2006
2 commits
-
Use FL_ACCESS flag to test and/or wait for local locks before we try
requesting a lock from the serverSigned-off-by: Trond Myklebust
-
Use the new behaviour of {flock,posix}_file_lock(F_UNLCK) to determine if
we held a lock, and only send the RPC request to the server if this was the
case.Signed-off-by: Trond Myklebust
01 Jul, 2006
1 commit
-
Signed-off-by: Jörn Engel
Signed-off-by: Adrian Bunk
09 Jun, 2006
2 commits
-
Currently it is possible for a task to remove its locks at the same time as
the NLM recovery thread is trying to recover them. This quickly leads to an
Oops.
Protect the locks using an rw semaphore while they are being recovered.Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
20 Apr, 2006
1 commit
-
Signed-off-by: Adrian Bunk
Cc: Trond Myklebust
Signed-off-by: Andrew Morton
Signed-off-by: Trond Myklebust
27 Mar, 2006
1 commit
-
Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.Signed-off-by: Ingo Molnar
Cc: Eric Van Hensbergen
Cc: Robert Love
Cc: Thomas Gleixner
Cc: David Woodhouse
Cc: Neil Brown
Cc: Trond Myklebust
Cc: Dave Kleikamp
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
26 Mar, 2006
1 commit
-
* git://git.linux-nfs.org/pub/linux/nfs-2.6: (103 commits)
SUNRPC,RPCSEC_GSS: spkm3--fix config dependencies
SUNRPC,RPCSEC_GSS: spkm3: import contexts using NID_cast5_cbc
LOCKD: Make nlmsvc_traverse_shares return void
LOCKD: nlmsvc_traverse_blocks return is unused
SUNRPC,RPCSEC_GSS: fix krb5 sequence numbers.
NFSv4: Dont list system.nfs4_acl for filesystems that don't support it.
SUNRPC,RPCSEC_GSS: remove unnecessary kmalloc of a checksum
SUNRPC: Ensure rpc_call_async() always calls tk_ops->rpc_release()
SUNRPC: Fix memory barriers for req->rq_received
NFS: Fix a race in nfs_sync_inode()
NFS: Clean up nfs_flush_list()
NFS: Fix a race with PG_private and nfs_release_page()
NFSv4: Ensure the callback daemon flushes signals
SUNRPC: Fix a 'Busy inodes' error in rpc_pipefs
NFS, NLM: Allow blocking locks to respect signals
NFS: Make nfs_fhget() return appropriate error values
NFSv4: Fix an oops in nfs4_fill_super
lockd: blocks should hold a reference to the nlm_file
NFSv4: SETCLIENTID_CONFIRM should handle NFS4ERR_DELAY/NFS4ERR_RESOURCE
NFSv4: Send the delegation stateid for SETATTR calls
...
24 Mar, 2006
1 commit
-
Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove a
duplicate of ARRAY_SIZE. Some trailing whitespaces are also deleted.Signed-off-by: Tobias Klauser
Cc: David Howells
Cc: Dave Kleikamp
Acked-by: Trond Myklebust
Cc: Neil Brown
Cc: Chris Mason
Cc: Jeff Mahoney
Cc: Christoph Hellwig
Cc: Nathan Scott
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
21 Mar, 2006
23 commits
-
The nlmsvc_traverse_shares return value is always zero, hence useless.
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust -
Note that we never return non-zero.
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust -
Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
Add a helper function to simplify the freeing of NLM client requests.
Signed-off-by: Trond Myklebust
-
The struct file_lock does not carry a properly initialised lock,
so don't copy it as if it were.Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
NLM_LCK_DENIED is a valid error return for an NLM_CANCEL call by the
client.Signed-off-by: Trond Myklebust
-
The patch "stop abusing file_lock_list introduces a couple of bugs since
the locks may be copied and need to be removed from the lists when they are
destroyed.Signed-off-by: Trond Myklebust
-
Currently lockd directly access the file_lock_list from fs/locks.c.
It does so to mark locks granted or reclaimable. This is very
suboptimal, because a) lockd needs to poke into locks.c internals, and
b) it needs to iterate over all locks in the system for marking locks
granted or reclaimable.This patch adds lists for granted and reclaimable locks to the nlm_host
structure instead, and adds locks to those.nlmclnt_lock:
now adds the lock to h_granted instead of setting the
NFS_LCK_GRANTED, still O(1)nlmclnt_mark_reclaim:
goes away completely, replaced by a list_splice_init.
Complexity reduced from O(locks in the system) to O(1)reclaimer:
iterates over h_reclaim now, complexity reduced from
O(locks in the system) to O(locks per nlm_host)Signed-off-by: Christoph Hellwig
Signed-off-by: Trond Myklebust -
When doing NLM_GRANTED requests, lockd may end up blocking if we use
rpc_create_client() due to the synchronous call to rpc_ping(). Instead, use
rpc_new_client().Signed-off-by: Trond Myklebust
-
Currently it uses nlmclnt_lookup_host(), which puts the resulting host
structure on a different list.Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
Otherwise, the block may disappear from underneath us when in
nlmsvc_retry_blocked.Signed-off-by: Trond Myklebust
-
Signed-off-by: Trond Myklebust
-
Currently lockd identifies its own locks using the FL_LOCKD flag. This
doesn't scale well to multiple lock managers--if we did this in nfsv4 too,
for example, we'd be left with only one free flag bit.Instead, we just check whether the file manager ops (fl_lmops) set on this
lock are our own.The only use for this is in nlm_traverse_locks, which uses it to find locks
that need cleaning up when freeing a host or a file.In the long run it might be nice to do reference counting instead of
traversing all the locks like this....Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust -
posix_test_lock() returns a pointer to a struct file_lock which is unprotected
and can be removed while in use by the caller. Move the conflicting lock from
the return to a parameter, and copy the conflicting lock.In most cases the caller ends up putting the copy of the conflicting lock on
the stack. On i386, sizeof(struct file_lock) appears to be about 100 bytes.
We're assuming that's reasonable.Signed-off-by: Andy Adamson
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust -
Reorganize nlmsvc_lock() to make full use of posix_lock_file(), which does
eveything nlmsvc_lock() needs - no need to call posix_test_lock(),
posix_locks_deadlock(), or posix_block_lock() separately.Signed-off-by: Andy Adamson
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust -
Reorganize nlmsvc_grant_blocked() to make full use of posix_lock_file(). Note
that there's no need for separate calls to posix_test_lock(),
posix_locks_deadlock(), or posix_block_lock().Signed-off-by: Andy Adamson
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust -
Slightly more consistent dprintk error reporting, consolidate some up()'s.
Signed-off-by: Andy Adamson
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust -
Clean-up: replace rpc_call() helper with direct call to rpc_call_sync.
This makes NFSv2 and NFSv3 synchronous calls more computationally
efficient, and reduces stack consumption in functions that used to
invoke rpc_call more than once.Test plan:
Compile kernel with CONFIG_NFS enabled. Connectathon on NFS version 2,
version 3, and version 4 mount points.Signed-off-by: Chuck Lever
Signed-off-by: Trond Myklebust -
Add fields to the rpc_procinfo struct that allow the display of a
human-readable name for each procedure in the rpc_iostats output.Also fix it so that the NFSv4 stats are broken up correctly by
sub-procedure number. NFSv4 uses only two real RPC procedures:
NULL, and COMPOUND.Test plan:
Mount with NFSv2, NFSv3, and NFSv4, and do "cat /proc/self/mountstats".Signed-off-by: Chuck Lever
Signed-off-by: Trond Myklebust