- 10 Mar, 2005 40 commits
-
-
Trond Myklebust authored
Add a mechanism for the VFS layer to retry pathname resolution if a file system returns ESTALE at any point during the resolution process. Pathname resolution is retried once from the first component, using all real lookup requests. This provides effective recovery for most cases where files or directories have been replaced by other remote file system clients. It also provides a foundation to build a mechanism by which file system clients can fail over transparently to a replicated server. Test-plan: Combinations of rsync and "ls -l" on multiple clients. No stale file handles should be after directory trees are replaced. Standard performance tests; little or no loss of performance is expected. Created: Fri, 11 Feb 2005 16:46:19 -0500 Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
The RPC client now reports the maximum payload size supported by the chosen transport method. This is something a little less than 64KB for RPC over UDP, and about 2GB - 1 for RPC over TCP. The effective rsize and wsize values are not allowed to exceed the reported maximum RPC payload size. Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Remove broken_suid mount option (retry RPC after dropping privileges upon EACCES): no longer used and questionable w.r.t. security. Signed-off-by: Frank van Maarseveen <frankvm@frankvm.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
So we can distinguish between ENOMEM and EACCES errors. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Ensure that credentials that are referenced by an RPC task, but that have been booted out of the credcache may still be refreshed. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
gc_flavor is used only for looking up the security service, which is an integer value that never changes. Store the latter instead of the former. Fix up a couple of dodgy casts between gss_cred and rpc_cred. Replace them with the appropriate container_of(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
- Document the format of the gssd downcalls - Separate out "uid" field from rest of GSS context data struct since it will not be needed for the keyring-based contexts. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Most existing servers do not implement RPCSEC_GSS for either the lockd or statd daemons. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
This makes for an interesting situation in which programs compiled to use flock() and running on the server will not see the locks that are set by the clients. The clients will, however, see both POSIX and flock() locks set by other clients. It is the best you can do, given the limitations of the protocol. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
AUTH_UNIX credentials really only depend on the process uid/gid/groups information. In particular there is no dependency on any strict rpc_client specific information. Might as well share them all between all RPC clients. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
There is only one AUTH_NULL "credential". Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
This will make initialization of statically allocated caches simpler. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
The cr_auth field is currently used only in order to figure out the name of the credential's flavour in debugging printks. Replace with a dedicated pointer in the statically allocated rpc_credops instead. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Some RPC authentication flavours are not related to the uid (AUTH_NULL springs to mind). This patch moves control over the caching mechanism into the auth-specific code. Also ensure that expired creds are removed from the cache. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Move the initialization of auth->au_count into the flavour-specific code. Move the kfree(auth) into the flavour-specific code. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
The sunrpc module itself is referenced by other sources, so only the auth_gss credcaches need to increment their module refcount. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Sun's RPC library portmap client therefore defaults to AUTH_UNIX. Change our in-kernel client to follow that convention. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
RPC call async is supposed to return an error if and only if it failed to run the rpc_task. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Currently, if we restart an RPC call after having set an RPC delay (for instance in the case where an NFS EJUKEBOX error has occurred) the call to rpc_delete_timer() at the top of the rpc_execute() loop will kill off our timer. This patch causes rpc_delete_timer() to detect if the rpc_task is still queued on a wait queue, and refuse to delete the timer if this is the case. Problem diagnosed by Jan Sanislo and Olaf Kirch. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Trond Myklebust authored
Fix a bug whereby we are failing to test for permissions on opendir(). Optimize away permissions checks that request MAY_WRITE on directories. Ensure that VFS sets LOOKUP_CONTINUE before calling permission(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-
Matthew Wilcox authored
Use CONFIG_64BIT everywhere instead. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthew Wilcox authored
Indentation and header file ordering Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthew Wilcox authored
The EISA EEPROM driver was being initialised too early, before miscdevs can be registered. But EISA needs to be registered early -- before PCI. So stash the EEPROM address in a global variable at EISA init time, then pick it up later in the EISA EEPROM driver. Also ioremap() it, use readb instead of gsc_readb and rename the miscdev to not have a space in the name. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthew Wilcox authored
There can be only one Asp in the machine, so allocate its controller structure statically. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthew Wilcox authored
Ditch ccio_mem_ratio. "Ported" from similar change to sba driver. From: Joel Soete <soete.joel@tiscali.be> Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthew Wilcox authored
- PCI_DMA_BUS_IS_PHYS is only true if we don't have an IOMMU. Getting this wrong results in system panics when we run out of bounce buffers. - parisc_vmerge_boundary and parisc_vmerge_max_size need to be available on all machines, not just ones with GSC. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthew Wilcox authored
_dbg_write_trylock() needs to return an int. Also update Thibaut's email address Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-