Alexander Viro [Sun, 31 Aug 2003 05:51:22 +0000 (22:51 -0700)]
[PATCH] dev_t handling cleanups (9/12)
struct block_device made the private part of bdevfs inodes; bd_count
is gone, we use ->i_count of inode now; separate hash is also gone and we
are using iget5_locked()/igrab()/iput() instead.
Alexander Viro [Sun, 31 Aug 2003 05:51:14 +0000 (22:51 -0700)]
[PATCH] dev_t handling cleanups (8/12)
Now that floppy_open() stores bdev in opened_bdevs[drive], we can remove
crap from floppy_read_block_0() and have it use that bdev instead of
messing with bdget_disk()/setting ->bd_disk by hand/bdput().
Alexander Viro [Sun, 31 Aug 2003 05:50:58 +0000 (22:50 -0700)]
[PATCH] dev_t handling cleanups (6/12)
- hpfs_unlink() should not try to truncate the victim unless it's a
regular file; truncate will not help for anything else and it will
screw the page cache if victim happens to be a block device.
- network filesystems should *not* invalidate page cache of block
device node when inode gets invalidated; fixed, added a new helper -
invalidate_remote_inode().
- nfs setattr syncs the file before sending SETATTR to server; that
makes a lot of sense for regular files, but not for anything else.
Fixed.
Neil Brown [Sun, 31 Aug 2003 05:43:49 +0000 (22:43 -0700)]
[PATCH] Honour the read-ahead for for reads in raid5.
If we get a failure trying to allocate a stripe_head for a read-ahead
request (the only time we can get a failure), we skip the rest of the
request and fail the whole bio.
Neil Brown [Sun, 31 Aug 2003 05:43:41 +0000 (22:43 -0700)]
[PATCH] Fix module ref counting for md.
We don't need to explicitly count references as:
- refcounting already happens for opens of /dev/md?
- when an array is active, a daughter module is loaded which
locks "md" in.
We just need to make sure we clean up properly on unload. (export_array)
Also, xor needs a null module_exit so that it can be unloaded.
[PATCH] cable detection fixes for HPT37x controllers
From Duncan Laurie <duncan@sun.com>
This same patch made its way into 2.4 via the -ac tree but hasn't
been put in 2.6 yet.
It fixes some cable detect issues that stem from the fact that the
cable detect pins are also used as address/data lines, so they need
to first be configured as inputs to read valid cable detect state.
Paul Mackerras [Sat, 23 Aug 2003 22:15:37 +0000 (08:15 +1000)]
PPC32: Add the fadvise64_64 system call.
On PPC32 we reorder the arguments so they fit into 6 registers. Glibc will
need a two-line stub to change them from the standard order to the ordering
used by the system call: (fd, advice, offset, len).
Erik Andersen [Fri, 22 Aug 2003 11:29:33 +0000 (04:29 -0700)]
[PATCH] Fix cdrom error handling in 2.6
In both 2.4 and in 2.6, error handling for bad cdrom media is
wrong. And it is my fault I'm afraid, since I botched an earlier
fix for the problem by putting the fix in the wrong spot.
My kids have a "Jumpstart Toddlers" cd they have long since
completely killed, which makes a great test disc. Without this
fix, the best time projection I can get for completing a dd type
sector copy is about 2 years... Most of that is spent thrashing
about in kernel space trying to re-read sectors we already know
are not correctable.... After the fix, I was able to rip a copy
the CD (or rather muddle through it getting lots of EIO errors)
in about 15 minutes.
Linus Torvalds [Thu, 21 Aug 2003 15:50:34 +0000 (08:50 -0700)]
The Intel Instruction set manual is wrong on how to test for
a valid SEP bit. The errata has it right: you have to have at
least model 3, stepping 3. Not "model >= 3 or stepping >= 3".
Trond Myklebust [Thu, 21 Aug 2003 11:42:05 +0000 (04:42 -0700)]
A request cannot be used as part of the RTO estimation if it gets
resent since you don't know whether the server is replying to the
first or the second transmission. However we're currently setting
the cutoff point to be the timeout of the first transmission.
This patch moves the cutoff point to the actual start of the
retransmission.
Trond Myklebust [Thu, 21 Aug 2003 11:27:54 +0000 (04:27 -0700)]
If an RPC request has to be resent due to a timeout, it turns out
that call_encode() may cause rq_rcv_buf to be reset despite the fact
that a reply might be delivered at any moment by a softirq.
This typically results in 'NFS: server cheating in read reply'
error messages.
Solve by adding rq_private_buf, which is updated atomically from
rq_rcv_buf.
Fix APIC ID lookup. In the bios_cpu_apicid[] case, it would walk off
the end of bios_cpu_apicid[] and attempt to send APIC INIT messages to
garbage without this patch, and in the NUMA-Q case, it would attempt to
send NMI wakeups to destinations in the broadcast cluster (which is
harmless, but very poor form) without this patch.
David Mosberger [Thu, 21 Aug 2003 08:46:04 +0000 (01:46 -0700)]
ia64: perfmon update.
Here is a ChangeLog for the patch:
- The perfmon core will invoke the sampling module handler
routine once for each overflowed PMD. When multiple PMDs
overflow at the same time (with the same PMU interrupt),
then up to 64 distinct calls can happen. A common timestamp
parameter allows the module to identify this kind of
entries.
- Changed the module ovfl_ctrl arguments to simplify the reset
field. Now it is a simple boolean.
- Updated perfmon.h to convert the "set" field to ushort from
uint. Other structure updates to get better layout.
- Update perfmon_default_smpl.h to reflect the change in
overflow processing mentioned above.
- Cleanup some state checking code to use switch-case instead
of if-then with macros. Make the code more readable and
easier to optmize for gcc. Thanks to David for the
suggestion.
- Added extra safety checks on pfm_context_load() to verify
that the task actually exists.
- The default sampling format module now supports the
fmt_restart_active callbacks. Patch from David.