- 20 May, 2003 35 commits
-
-
Alexander Viro authored
This adds a new seq_...() helper: seq_path(seq_file, mnt, dentry, escape) It spits the pathname into seq_file, does octal escapes for given set of characters, returns the number of characters it'd produced or -1 in case of error. Long names are handled gracefully - you don't need anything to do, generic seq_file logics will do the right thing. /proc/mounts and /proc/swaps are converted to use of seq_path(), some junk removed. /proc/pid/maps will be converted next.
-
Neil Brown authored
Most cache-lookups to find export information will cause an upcall, but currently the lookup to find the pseudo root for nfsv4 wont asthe cache-handle isn't made available. This patch makes it available and makes sure that if the upcall is made, the request is dropped (for now).
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> this open share state patch creates all the structures and hash tables needed to create and destroy share state on OPEN. a struct nfs4_stateowner is introduced. this is currently only used for share state, but will also be used as an anchor for byte-range lock state. e.g. it will be either an (open)stateowner or a (lock)stateower. a struct nfs4_stateid is introduced with holds stateid info for openfiles per (open)stateowner. this struct will also hold byte-range lock info for (lock)stateowners. ownerstr_hashtbl[] holds nfs4_stateowners hashed by the nfs4_open owner and clientid, and is used to lookup nfs4_stateowners on OPEN. a struct nfs4_file is introduced which holds info on open files with state. file_hashtbl[] holds nfs4_files, and is used to find a file in order to search for conflicting share locks on OPEN. delegation info will hang off the nf4_file struct. i moved nfsd4_process_open1() into nfs4state.c, and added nfs4_process_open2() there as well i've left lease management, state reclaim, and the special replay management on sequenceid mutating operations like OPEN for subsequent patches.
-
Neil Brown authored
From: "William A.(Andy) Adamson" <andros@citi.umich.edu> this is the first of several patches against 2.5 concerning NFSv4 state for nfsd. it cleans up the names of state structures in preperation for future share, lease, byte-range, and delegation patches. specifically, it 1) renames portions of the stateid_t and moves it along with the clientid_t from xdr.h into state.h 2) uses xdr_netobj to gather related data and length fields in struct nfs4_open (in xdr4.h) (e.g. we have op_fname.data and op_fname.len instead of op_name and op_namelen). 3) renames NFSD4_CLIENT_MAXNAME to NFS4_OPAQUE_LIMIT which will be used in other state fields (not just for name length)
-
Neil Brown authored
-
Neil Brown authored
The check for "write was incomplete" is not atomic with the actual write, so a second write could slip in after a partial write to a tcp socket and this will cause problems. So we move the locking out a bit, and test if the socket has been deleted (SK_DEAD) between getting the lock and trying to send.
-
Neil Brown authored
SOCK_NOSPACE is set, so we must set it when we want to get a ->write_space callback.
-
Neil Brown authored
From: Hirokazu Takahashi <taka@valinux.co.jp> sock_wspace() is used to see how much can be written to a udp socket, but tcp_wspace must be used on a tcp socket. This patch informs sunrpc/svcsock.c of this subtlety.
-
Neil Brown authored
I noticed that the Nagle algorithm was disabled just recently on the client side, while it still seems to be enabled on the server side. The previous patch came from Chuck Lever. Below patch disables it on the server side as well. For latency reasons, this should be the desired behaviour NFS at both client and server.
-
Neil Brown authored
Below patch resolves a hang where a TCP nfsd connection will hang even though new data is received on the socket. We've seen this a few times in our lab, but it usually happened every few weeks. If a short record header is received, the SK_BUSY flag is never cleared, and even though new data arrives, it will not be handled. This in turn leads to hangs of particular clients (while others will continue to work without problem). I also changed the return code for that condition to be the same as for a (regular) short read.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
bk://kernel.bkbits.net/gregkh/linux/linus-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Duncan Sands authored
Add a vdbg macro for verbose debugging, and convert some noisy debugging statements to use it.
-
Duncan Sands authored
Make the most discriminating comparison first.
-
Duncan Sands authored
The stats field is never NULL.
-
Duncan Sands authored
Replace spin_lock_irqsave/spin_unlock_irqrestore with spin_lock_irq/spin_unlock_irq in tasklet actions, since these are always called with local irqs enabled.
-
Duncan Sands authored
Replace spin_lock_irqsave/spin_unlock_irqrestore with spin_lock_irq/spin_unlock_irq in routines that are only called in process context.
-
Duncan Sands authored
Should have gone long ago.
-
Duncan Sands authored
Defend against future maintainers.
-
Duncan Sands authored
Use set_current_state (TASK_RUNNING); schedule(); instead.
-
bk://bk.arm.linux.org.uk/linux-2.5-rmkLinus Torvalds authored
into penguin.transmeta.com:/home/torvalds/v2.5/linux
-
Russell King authored
-
James Bottomley authored
It looks like the do_fork was converted in voyager_smp.c, but the addition of wake_up_forked_process() was missed leading to a boot panic. The attached fixes it.
-
David Brownell authored
This patch touches the most significant places in usbcore that need to respond to configuration change events: - set_interface changes altsettings; affects endpoints in both new and old settings (but not other endpoints). - set_configuration; affects every endpoint The endpoints get disabled, flushing hardware state reliably. This resolves two FIXMEs here, part of one in OHCI (ed_get) and all of one in EHCI (qh_append_tds). Not many drivers currently use these code paths, but now they should start to work properly.
-
David Brownell authored
Stefano Barbato wrote: > Dual PIII > kernel 2.4.21-rc2 (w/ SMP) (2.5.69 below) > ... > > I put a few printk before the BUG() and I found that the offending if() is > this: > if(qh->qh_state != QH_STATE_LINKED > && qh->qh_state != QH_STATE_UNLINK_WAIT) > > because qh_state were QH_STATE_COMPLETING. I got a similar SMP report recently, but without info about which clause was failing -- which is a key clue, thanks!! The COMPLETING state is used only while a QH is being scanned for completed TDs. (Think CPU-0 irq handler.) Looking at the handful of places that call the routine reporting the BUG(), a couple seem like they could make trouble with multiple CPUs in the driver.
-
David Brownell authored
Alan Stern wrote: > I suggest you just forget about acquiring the lock in status_dequeue() and > simply leave it as > > del_timer_sync (&hcd->rh_timer); > hcd->rh_timer.data = 0; Hmm, so if some other URB gets queued in that window, it'll get trashed? Unlikely .. the clean fix would be making the status endpoint have a real URB queue. I combined your suggested change with two others: (a) protect the status-unlink and control completion handlers against IRQs [ the cases Duncan noted] (b) use mod_timer to retrigger the timer, instead of the heavy weight path.
-
Richard Henderson authored
From Marc Zyngier <mzyngier@freesurf.fr>.
-
Richard Henderson authored
into kanga.twiddle.net:/home/rth/work/linux/axp-2.5
-
Richard Henderson authored
From Ivan Kokshaysky <ink@jurassic.park.msu.ru>.
-
Greg Kroah-Hartman authored
into kroah.com:/home/linux/linux/BK/gregkh-2.5
-
Christoph Hellwig authored
Update ppc for mingo's do_fork changes. Together with the pmac compile fixes this allows me to stay at the bleeding edge with my my ibook..
-
Andrew Morton authored
This updates ppc64 for the do_fork() semantics change.
-
Andrew Morton authored
I completely misread this code and there was no bug. In fact yesterday's fix broke it. Revert.
-
Andrew Morton authored
struct page is undefined in this file without this on Alpha.
-
Andrew Morton authored
From: Andi Kleen <ak@suse.de> There is some assembly code in setup.c which doesn't explicitly set its section. It comes after a C function which is marked __init. The compiler does not reset the section after such C functions. The assembly code is going into .text.init. That's the wrong section. We get oopses modprobing sctp and, with Manfred's unmap-free-pages debug patch we get oopses modprobing e100.ko. In apply_alternatives().
-
- 19 May, 2003 5 commits
-
-
bk://kernel.bkbits.net/acme/network-2.5David S. Miller authored
into nuts.ninka.net:/home/davem/src/BK/net-2.5
-
Arnaldo Carvalho de Melo authored
-
David S. Miller authored
into nuts.ninka.net:/home/davem/src/BK/net-2.5
-
David S. Miller authored
-
Christoph Hellwig authored
-