Steven Whitehouse [Wed, 20 Sep 2006 19:48:09 +0000 (15:48 -0400)]
[GFS2] Remove unused constants
Three of the DIO constants were not being used, so remove them.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Tue, 19 Sep 2006 20:41:11 +0000 (16:41 -0400)]
[GFS2] Remove "NFS only" readdir path
This code path shouldn't be needed, so remove it for now. This
tidys things up.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Tue, 19 Sep 2006 15:17:38 +0000 (11:17 -0400)]
[GFS2] Use list_for_each_entry_safe_reverse in gfs2_ail1_start()
This is an attempt to fix Red Hat bz 204364. I don't hit it all
the time, but with these changes, running postmark which used to
trigger it on a regular basis no longer appears to. So I'm not
saying that its 100% certain that its fixed, but it does look
promising at the moment.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Fabio Massimo Di Nitto [Tue, 19 Sep 2006 05:56:29 +0000 (07:56 +0200)]
[GFS2] Export lm_interface to kernel headers
lm_interface.h has a few out of the tree clients such as GFS1
and userland tools.
Right now, these clients keeps a copy of the file in their build tree
that can go out of sync.
Move lm_interface.h to include/linux, export it to userland and
clean up fs/gfs2 to use the new location.
Signed-off-by: Fabio M. Di Nitto <fabbione@ubuntu.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
akpm@osdl.org [Tue, 19 Sep 2006 05:16:03 +0000 (22:16 -0700)]
[GFS2] inode-diet-eliminate-i_blksize-and-use-a-per-superblock-default-vs-gfs2
i_blksize got removed in -mm.
Cc: Steven Whitehouse <swhiteho@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Mon, 18 Sep 2006 21:30:05 +0000 (17:30 -0400)]
[GFS2] Tweek unlock test in readpage()
This make the unlock test a bit simpler.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Russell Cattelan [Mon, 18 Sep 2006 21:26:48 +0000 (17:26 -0400)]
[GFS2] Fix for mmap() bug in readpage
Fix for Red Hat bz 205307. Don't need to lock in readpage if
the higher level code has already grabbed the lock.
Signed-off-by: Russell Cattelan <cattelan@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Mon, 18 Sep 2006 21:18:23 +0000 (17:18 -0400)]
[GFS2] Map multiple blocks at once where possible
This is a tidy up of the GFS2 bmap code. The main change is that the
bh is passed to gfs2_block_map allowing the flags to be set directly
rather than having to repeat that code several times in ops_address.c.
At the same time, the extent mapping code from gfs2_extent_map has
been moved into gfs2_block_map. This allows all calls to gfs2_block_map
to map extents in the case that no allocation is taking place. As a
result reads and non-allocating writes should be faster. A quick test
with postmark appears to support this.
There is a limit on the number of blocks mapped in a single bmap
call in that it will only ever map blocks which are pointed to
from a single pointer block. So in other words, it will never try
to do additional i/o in order to satisfy read-ahead. The maximum
number of blocks is thus somewhat less than 512 (the GFS2 4k block
size minus the header divided by sizeof(u64)). I've further limited
the mapping of "normal" blocks to 32 blocks (to avoid extra work)
since readpages() will currently read a maximum of 32 blocks ahead (128k).
Some further work will probably be needed to set a suitable value
for DIO as well, but for now thats left at the maximum 512 (see
ops_address.c:gfs2_get_block_direct).
There is probably a lot more that can be done to improve bmap for GFS2,
but this is a good first step.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
David Teigland [Fri, 15 Sep 2006 18:09:11 +0000 (13:09 -0500)]
[GFS2] print mount errors related to sysfs
Print an error message if mount fails in setting up the sysfs files.
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Thu, 14 Sep 2006 17:57:38 +0000 (13:57 -0400)]
[GFS2] Fix glock hash clearing
A one liner bug fix to prevent the return value being
wrong when more than one superblock is mounted.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Wed, 13 Sep 2006 15:13:27 +0000 (11:13 -0400)]
[GFS2] Tidy up log.c
Based upon previous feedback from lkml and also removing some
commented out debugging which is no longer needed.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Wed, 13 Sep 2006 14:43:37 +0000 (10:43 -0400)]
[GFS2] Use atomic_t rather than kref in glock.c
Use atomic_t as the ref count in glocks rather than a kref.
This is another step towards using RCU for the glock hash.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Wed, 13 Sep 2006 13:55:09 +0000 (09:55 -0400)]
Merge branch 'master' into gfs2
Linus Torvalds [Wed, 13 Sep 2006 01:41:36 +0000 (18:41 -0700)]
Linux v2.6.18-rc7
One last time..
Linus Torvalds [Wed, 13 Sep 2006 00:37:24 +0000 (17:37 -0700)]
Merge branch 'audit.b29' of git://git./linux/kernel/git/viro/audit-current
* 'audit.b29' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
[PATCH] sparc64 audit syscall classes hookup
[PATCH] syscall class hookup for all normal targets
Linus Torvalds [Wed, 13 Sep 2006 00:34:46 +0000 (17:34 -0700)]
Merge git://git./linux/kernel/git/sfrench/cifs-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
[CIFS] Fix CIFS readdir access denied when SE Linux enabled
Linus Torvalds [Wed, 13 Sep 2006 00:33:42 +0000 (17:33 -0700)]
Merge /pub/scm/linux/kernel/git/mchehab/v4l-dvb
* master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
V4L/DVB (4608c): Fix I2C dependencies for saa7146 modules
V4L/DVB (4608b): i2c deps fix on DVB
V4L/DVB (4605): Fixes an issue with V4L1 and make headers-install
V4L/DVB (4520): Fix an error when loading bttv driver on PV M4900.
V4L/DVB (4511): Restore tuner_ymec_tvf66t5_b_dff_pal_ranges[] to fix UHF switch functionality
V4L/DVB (4494a): Fix compilation when V4L1 support is not present
Linus Torvalds [Wed, 13 Sep 2006 00:32:21 +0000 (17:32 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
USB: Fix unload oops and memory leak in yealink driver
usbserial: Reference leak
Linus Torvalds [Wed, 13 Sep 2006 00:31:36 +0000 (17:31 -0700)]
Merge /pub/scm/linux/kernel/git/lethal/sh64-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6:
sh64: Add a sane pm_power_off implementation.
sh64: Use generic BUG_ON()/WARN_ON().
sh64: Trivial build fixes.
sh64: Drop deprecated ISA tuning for legacy toolchains.
Linus Torvalds [Wed, 13 Sep 2006 00:31:16 +0000 (17:31 -0700)]
Merge git://oss.sgi.com:8090/xfs/xfs-2.6
* git://oss.sgi.com:8090/xfs/xfs-2.6:
[XFS] Fix a bad pointer dereference in the quota statvfs handling.
[XFS] Fix xfs_splice_write() so appended data gets to disk.
[XFS] Fix ABBA deadlock between i_mutex and iolock. Avoid calling
[XFS] Prevent free space oversubscription and xfssyncd looping.
Steven Whitehouse [Tue, 12 Sep 2006 14:10:01 +0000 (10:10 -0400)]
[GFS2] Use hlist for glock hash chains
This results in smaller list heads, so that we can have more chains
in the same amount of memory (twice as many). I've multiplied the
size of the table by four though - this is because we are saving
memory by not having one lock per chain any more. So we land up
using about the same amount of memory for the hash table as we
did before I started these changes, the difference being that we
now have four times as many hash chains.
The reason that I say "about the same amount of memory" is that the
actual amount now depends upon the NR_CPUS and some of the config
variables, so that its not exact and in some cases we do use more
memory. Eventually we might want to scale the hash table size
according to the size of physical ram as measured on module load.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Henk Vergonet [Fri, 8 Sep 2006 00:21:01 +0000 (02:21 +0200)]
USB: Fix unload oops and memory leak in yealink driver
This patch fixes a memory leak and a kernel oops when trying to unload
the driver, due to an unbalanced cleanup.
Thanks Ivar Jensen for spotting my mistake.
Signed-off-by: Henk Vergonet <henk.vergonet@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Matthias Urlichs [Mon, 11 Sep 2006 10:35:20 +0000 (12:35 +0200)]
usbserial: Reference leak
A sufficiently-large number of USB serial devices causes a reference leak
when /proc/tty/drivers/usbserial is read.
Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Al Viro [Tue, 12 Sep 2006 06:59:45 +0000 (02:59 -0400)]
[PATCH] sparc64 audit syscall classes hookup
... that should do it for all targets; the only remaining issues are
mips (currently treated as non-biarch) and handling of other OS
emulations (OSF/SunOS/Solaris/???). The latter would need to be
assigned new AUDIT_ARCH_... ABI numbers anyway...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Tue, 12 Sep 2006 07:04:40 +0000 (03:04 -0400)]
[PATCH] syscall class hookup for all normal targets
Take default arch/*/kernel/audit.c to lib/, have those with special
needs (== biarch) define AUDIT_ARCH in their Kconfig.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Paul Mundt [Tue, 12 Sep 2006 05:40:09 +0000 (14:40 +0900)]
sh64: Add a sane pm_power_off implementation.
sh64 wasn't providing a sensible pm_power_off(), add one,
and just wrap it to machine_power_off, which already does
the right thing.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 12 Sep 2006 05:38:23 +0000 (14:38 +0900)]
sh64: Use generic BUG_ON()/WARN_ON().
sh64 doesn't need to do anything special for BUG_ON() or
WARN_ON(), use the generic versions.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 12 Sep 2006 05:36:46 +0000 (14:36 +0900)]
sh64: Trivial build fixes.
While we've been sorting out the toolchain fiasco, some of
the code has suffered a bit of bitrot. Building with GCC4
also brings up some more build warnings. Trivial fixes for
both issues.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt [Tue, 12 Sep 2006 05:21:25 +0000 (14:21 +0900)]
sh64: Drop deprecated ISA tuning for legacy toolchains.
The original sh64 toolchains required that we tune the ISA
level accordingly to not have head.S/entry.S blow up. With
current toolchains, this is no longer the case, and the
syntax magically changed as well, causing all current
toolchains to die a horrible death.
Incidentally, code generation in other parts of the kernel
is now significantly complex enough that none of the older
toolchains make it very far these days, so there's not
even any point in preserving legacy compatability via
as-option.
This fixes a long-standing issue, as noted here:
http://lkml.org/lkml/2005/1/5/223
Though at the time the current toolchains were too broken
to make adjusting the tuning worthwhile.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Steven Whitehouse [Tue, 12 Sep 2006 01:40:30 +0000 (21:40 -0400)]
[GFS2] Rewrite of examine_bucket()
The existing implementation of this function in glock.c was not
very efficient as it relied upon keeping a cursor element upon the
hash chain in question and moving it along. This new version improves
upon this by using the current element as a cursor. This is possible
since we only look at the "next" element in the list after we've
taken the read_lock() subsequent to calling the examiner function.
Obviously we have to eventually drop the ref count that we are then
left with and we cannot do that while holding the read_lock, so we
do that next time we drop the lock. That means either just before
we examine another glock, or when the loop has terminated.
The new implementation has several advantages: it uses only a
read_lock() rather than a write_lock(), so it can run simnultaneously
with other code, it doesn't need a "plug" element, so that it removes
a test not only from this list iterator, but from all the other glock
list iterators too. So it makes things faster and smaller.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Linus Torvalds [Mon, 11 Sep 2006 18:43:17 +0000 (11:43 -0700)]
Merge branch 'audit.b28' of git://git./linux/kernel/git/viro/audit-current
* 'audit.b28' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
[PATCH] audit: AUDIT_PERM support
[PATCH] audit: more syscall classes added
[PATCH] syscall classes hookup for ppc and s390
[PATCH] update audit rule change messages
[PATCH] sanity check audit_buffer
[PATCH] fix ppid bug in 2.6.18 kernel
Linus Torvalds [Mon, 11 Sep 2006 18:42:27 +0000 (11:42 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6:
usbtouchscreen: fix ITM data reading
USB: New device ID for ftdi_sio usb serial driver
USB: Support for USB20SVGA-WH & USB20SVGA-DG
USB: hid-core.c: fix duplicate USB_DEVICE_ID_GTCO_404
Al Viro [Thu, 31 Aug 2006 23:26:40 +0000 (19:26 -0400)]
[PATCH] audit: AUDIT_PERM support
add support for AUDIT_PERM predicate
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Thu, 31 Aug 2006 23:05:56 +0000 (19:05 -0400)]
[PATCH] audit: more syscall classes added
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Thu, 31 Aug 2006 23:02:42 +0000 (19:02 -0400)]
[PATCH] syscall classes hookup for ppc and s390
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Amy Griffis [Thu, 7 Sep 2006 21:46:18 +0000 (17:46 -0400)]
[PATCH] update audit rule change messages
Make the audit message for implicit rule removal more informative.
Make the rule update message consistent with other messages.
Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Amy Griffis [Thu, 7 Sep 2006 21:03:02 +0000 (17:03 -0400)]
[PATCH] sanity check audit_buffer
Add sanity checks for NULL audit_buffer consistent with other
audit_log* routines.
Signed-off-by: Amy Griffis <amy.griffis@hp.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Steve Grubb [Sat, 26 Aug 2006 18:06:20 +0000 (14:06 -0400)]
[PATCH] fix ppid bug in 2.6.18 kernel
Hello,
During some troubleshooting, I found that ppid was accidentally omitted from
the legacy rule section. This resulted in EINVAL for any rule with ppid sent
with AUDIT_ADD.
Signed-off-by: Steve Grubb <sgrubb@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Linus Torvalds [Mon, 11 Sep 2006 14:56:38 +0000 (07:56 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-mmc
* master.kernel.org:/home/rmk/linux-2.6-mmc:
[MMC] Always use a sector size of 512 bytes
[MMC] Cleanup
385e3227d4d83ab13d7767c4bb3593b0256bf246
[ARM] 3751/1: i.MX/MX1 SD/MMC use 512 bytes request for SCR read
[MMC] Fix SD timeout calculation
[MMC] constify mmc_host_ops
Linus Torvalds [Mon, 11 Sep 2006 14:55:39 +0000 (07:55 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 3778/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [simtec]
[ARM] 3783/1: S3C2412: fix IRQ_EINT0 to IRQ_EINT3 handling
[ARM] 3779/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [left]
[ARM] 3777/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [regs-*.h]
[ARM] 3776/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410
[ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes
[ARM] 3774/1: S3C24XX: SMDK2413 has two machine IDs
[ARM] 3773/1: Add the HWCAP_VFP bit for the ARM926 CPUs
[ARM] 3772/1: Fix compilation error in mach-ixp4xx/nslu2*
[ARM] 3767/1: S3C24XX: remove changelog comments from arch/arm/mach-s3c2410
[ARM] 3766/1: Fix typo in ARM _raw_read_trylock
Linus Torvalds [Mon, 11 Sep 2006 14:54:45 +0000 (07:54 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
[PATCH] Fix dm9000 release_resource
Linus Torvalds [Mon, 11 Sep 2006 14:54:14 +0000 (07:54 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[PATCH] ata_piix: add map 01b for ICH7M
[libata] sata_mv: errata check buglet fix
Alan Cox [Mon, 11 Sep 2006 13:45:07 +0000 (14:45 +0100)]
[PATCH] Fix 2.6.18-rc6 IDE breakage, add missing ident needed for current VIA boards
There are two changes here. The first reverses the broken PCI_DEVICE
conversion back to the old format. The second adds a missing PCI ID so
you can actually boot 2.6.18 on 2 month old VIA motherboards (right now
only 2.6.18-mm works).
CC'd to Jeff to check the PCI ident but its a) in several distro kernels
and b) in 2.6.18-mm [twice ??]
Signed-off-by: Alan Cox <alan@redhat.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dirk Opfer [Wed, 6 Sep 2006 17:53:32 +0000 (19:53 +0200)]
[PATCH] Fix dm9000 release_resource
dm9000_release_board calls release_resource with the platform resource
instead of the requested resource:
db->addr_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
db->addr_req = request_mem_region(db->addr_res->start, i, pdev->name);
dm9000_release_board:
if (db->addr_res != NULL) {
release_resource(db->addr_res);
kfree(db->addr_req);
With this behavior the kernel will crash on the second removal. The
attached patch fix this problem.
Signed-off-by: Dirk Opfer <Dirk@Opfer-Online.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Tejun Heo [Sun, 10 Sep 2006 21:29:03 +0000 (06:29 +0900)]
[PATCH] ata_piix: add map 01b for ICH7M
Although the document says otherwise, some ich7m uses map 01b. This
patch adds separate map DB for ICH7M and adds map entry for 01b.
This was spotted on an ASUS laptop by Jonathan Dieter.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Jonathan Dieter <jdieter@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Andres Salomon [Mon, 11 Sep 2006 12:51:05 +0000 (08:51 -0400)]
[libata] sata_mv: errata check buglet fix
Fix a buglet; the errata check below this code is assuming the value in
the sstatus variable is what was pulled out of the SCR_STATUS register.
However, the status checks in the timeout loop clobber everything
but the first 4 bits of sstatus, so the errata checks are invalid.
This patch changes it to not clobber SStatus.
Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Mauro Carvalho Chehab [Sun, 10 Sep 2006 10:39:00 +0000 (07:39 -0300)]
V4L/DVB (4608c): Fix I2C dependencies for saa7146 modules
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Andrew de Quincey [Sun, 10 Sep 2006 16:43:40 +0000 (13:43 -0300)]
V4L/DVB (4608b): i2c deps fix on DVB
Several DVB modules depends on I2C
Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 10 Sep 2006 15:01:19 +0000 (12:01 -0300)]
V4L/DVB (4605): Fixes an issue with V4L1 and make headers-install
V4L1 support should be disabled when no CONFIG_VIDEO_V4L1_COMPAT is defined,
to allow checking for broken V4L2 ports. This is very important during the
migration phase for V4L2 API.
However, userspace apps should be capable of using both APIs, since they need
to test at runtime, via VIDIOCGCAP ioctl, if V4L1 is supported. So, when
__KERNEL__ is not defined, those ioctls and corresponding structs should be
visible.
This patch also removes the obsolete defines HAVE_V4L1 and HAVE_V4L2, that
where causing some confusion, and were replaced by CONFIG_VIDEO_V4L1_COMPAT
and CONFIG_VIDEO_V4L2.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Wed, 23 Aug 2006 14:17:30 +0000 (11:17 -0300)]
V4L/DVB (4520): Fix an error when loading bttv driver on PV M4900.
Previously, this were reported:
Ooops: IR config error [card=139]
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Hermann Pitton [Mon, 21 Aug 2006 17:14:33 +0000 (14:14 -0300)]
V4L/DVB (4511): Restore tuner_ymec_tvf66t5_b_dff_pal_ranges[] to fix UHF switch functionality
The tena_9533_di_pal_ranges use 0x04 instead the original 0x08 for the
UHF (range 2) switching. This is wrong and therefore nothing happens.
Restore tuner_ymec_tvf66t5_b_dff_pal_ranges[] to make the UHF switch
working again.
Signed-off-by: Hermann Pitton <hermann-pitton@arcor.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Mauro Carvalho Chehab [Sun, 10 Sep 2006 12:31:37 +0000 (09:31 -0300)]
V4L/DVB (4494a): Fix compilation when V4L1 support is not present
VIDIOCGMBUF should be compiled only when V4L1 support is selected, since
this ioctl is from the obsoleted API.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Steven Whitehouse [Sat, 9 Sep 2006 22:59:27 +0000 (18:59 -0400)]
[GFS2] Remove unused function from glock.c
The callback for iopen locks is unused, so this removes
it.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Sat, 9 Sep 2006 21:07:05 +0000 (17:07 -0400)]
[GFS2] Add consts to glock sorting function
Add back the consts which were casted away in the glock sorting
function. Also add early exit code.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Sat, 9 Sep 2006 20:59:11 +0000 (16:59 -0400)]
[GFS2] Make glock hash locks proportional to NR_CPUS
Make the number of locks used for hash chains in glock.c
proportional to NR_CPUS. Also move constants for the number
of hash chains into glock.c from incore.h since they are
not used outside of glock.c.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Sat, 9 Sep 2006 20:56:34 +0000 (16:56 -0400)]
[GFS2] vfree should be kfree (II)
The superblock is now created with kmalloc, not vmalloc.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Ben Dooks [Sat, 9 Sep 2006 20:26:54 +0000 (21:26 +0100)]
[ARM] 3778/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [simtec]
Patch from Ben Dooks
Remove changelog entries from include/asm-arm/arch-s3c2410
for all simtec .h files as these are irrelevant with
version control.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 9 Sep 2006 20:24:13 +0000 (21:24 +0100)]
[ARM] 3783/1: S3C2412: fix IRQ_EINT0 to IRQ_EINT3 handling
Patch from Ben Dooks
The IRQ_EINT0 through IRQ_EINT3 handling has changed
on the S3C2412 from the previous SoCs in the range,
and thus we need to add code to handle this.
The changes come about due to these IRQs being
displayed in two different registers, and needing to
be acked and masked in both.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 9 Sep 2006 18:44:57 +0000 (19:44 +0100)]
[ARM] 3779/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [left]
Patch from Ben Dooks
Remove the last of the hangelogs from
include/asm-arm/arch-s3c2410, as this information
is available from the revision control system
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 9 Sep 2006 18:44:54 +0000 (19:44 +0100)]
[ARM] 3777/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410 [regs-*.h]
Patch from Ben Dooks
Remove changelog entries from include/asm-arm/arch-s3c2410
for all regs-*.h as these are irrelevant with version control
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 9 Sep 2006 18:44:52 +0000 (19:44 +0100)]
[ARM] 3776/1: S3C24XX: remove changelogs from include/asm-arm/arch-s3c2410
Patch from Ben Dooks
Remove changelog entries from include/asm-arm/arch-s3c2410
as these are irrelevant with version control
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Sat, 9 Sep 2006 18:44:50 +0000 (19:44 +0100)]
[ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes
Patch from Ben Dooks
The s3c244x-irq.c code makes the mistake of adding
the same drive to two different sys-classes. This
causes the class lists to become corrupted and the
suspend code to OOPS.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David Teigland [Fri, 8 Sep 2006 13:36:35 +0000 (08:36 -0500)]
[DLM] confirm master for recovered waiting requests
Fixing the following scenario:
- A request is on the waiters list waiting for a reply from a remote node.
- The request is the first one on the resource, so first_lkid is set.
- The remote node fails causing recovery.
- During recovery the requesting node becomes master.
- The request is now processed locally instead of being a remote operation.
- At this point we need to call confirm_master() on the resource since
we're certain we're now the master node. This will clear first_lkid.
- We weren't calling confirm_master(), so first_lkid was not being cleared
causing subsequent requests on that resource to get stuck.
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Jack Steiner [Thu, 31 Aug 2006 16:35:57 +0000 (11:35 -0500)]
[IA64] SN fix for cpu hotplug/kexec
The sn_cpu_init() is required for cpu initialization on SN platforms.
Change __init to __cpuinit so that the function is not freed with init code/data.
Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Jack Steiner [Thu, 31 Aug 2006 16:34:47 +0000 (11:34 -0500)]
[IA64] Save register stack contents on cpu start
The SN PROM uses the register stack in the slave loop. The contents
must be preserved for the OS to return to the slave loop via offlining
a cpu or for kexec. A 'flushrs" is needed to force the stack to be written
to memory prior to changing bspstore.
Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Andreas Schwab [Mon, 4 Sep 2006 19:56:09 +0000 (21:56 +0200)]
[IA64] Unwire set/get_robust_list
The syscalls set/get_robust_list must not be wired up until
futex_atomic_cmpxchg_inatomic is implemented. Otherwise the kernel will
hang in handle_futex_death.
Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Stephane Eranian [Fri, 25 Aug 2006 21:00:19 +0000 (14:00 -0700)]
[IA64] correct file descriptor reference counting in perfmon
Fix a bug in sys_perfmonctl() whereby it was not correctly
decrementing the file descriptor reference count.
Signed-off-by: stephane eranian <eranian@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Steven Whitehouse [Fri, 8 Sep 2006 17:35:56 +0000 (13:35 -0400)]
[GFS2] Move rwlocks in glock.c into their own array
This splits the rwlocks guarding the hash chains of the glock hash
table into their own array. This will reduce memory usage in some
cases due to better alignment, although the real reason for doing it
is to allow the two tables to be different sizes in future (i.e.
the locks will be sized proportionally with the max number of CPUs
and the hash chains sized proportinally with the size of physical memory)
In order to allow this, the gl_bucket member of struct gfs2_glock has
now become gl_hash, so we record the hash rather than a pointer to the
bucket itself.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Trond Myklebust [Fri, 8 Sep 2006 16:48:54 +0000 (09:48 -0700)]
[PATCH] NFS: large non-page-aligned direct I/O clobbers memory
The logic in nfs_direct_read_schedule and nfs_direct_write_schedule can
allow data->npages to be one larger than rpages. This causes a page
pointer to be written beyond the end of the pagevec in nfs_read_data (or
nfs_write_data).
Fix this by making nfs_(read|write)_alloc() calculate the size of the
pagevec array, and initialise data->npages.
Also get rid of the redundant argument to nfs_commit_alloc().
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Fri, 8 Sep 2006 16:48:38 +0000 (09:48 -0700)]
[PATCH] invalidate_complete_page() race fix
If a CPU faults this page into pagetables after invalidate_mapping_pages()
checked page_mapped(), invalidate_complete_page() will still proceed to remove
the page from pagecache. This leaves the page-faulting process with a
detached page. If it was MAP_SHARED then file data loss will ensue.
Fix that up by checking the page's refcount after taking tree_lock.
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Badari Pulavarty [Fri, 8 Sep 2006 16:48:21 +0000 (09:48 -0700)]
[PATCH] ext3_getblk() should handle HOLE correctly
It has been reported that ext3_getblk() is not doing the right thing and
triggering following WARN():
BUG: warning at fs/ext3/inode.c:1016/ext3_getblk()
<
c01c5140> ext3_getblk+0x98/0x2a6 <
c03b2806> md_wakeup_thread+0x26/0x2a
<
c01c536d> ext3_bread+0x1f/0x88 <
c01cedf9> ext3_quota_read+0x136/0x1ae
<
c018b683> v1_read_dqblk+0x61/0xac <
c0188f32> dquot_acquire+0xf6/0x107
<
c01ceaba> ext3_acquire_dquot+0x46/0x68 <
c01897d4> dqget+0x155/0x1e7
<
c018a97b> dquot_transfer+0x3e0/0x3e9 <
c016fe52> dput+0x23/0x13e
<
c01c7986> ext3_setattr+0xc3/0x240 <
c0120f66> current_fs_time+0x52/0x6a
<
c017320e> notify_change+0x2bd/0x30d <
c0159246> chown_common+0x9c/0xc5
<
c02a222c> strncpy_from_user+0x3b/0x68 <
c0167fe6> do_path_lookup+0xdf/0x266
<
c016841b> __user_walk_fd+0x44/0x5a <
c01592b9> sys_chown+0x4a/0x55
<
c015a43c> vfs_write+0xe7/0x13c <
c01695d4> sys_mkdir+0x1f/0x23
<
c0102a97> syscall_call+0x7/0xb
Looking at the code, it looks like it's not handle HOLE correctly. It ends
up returning -EIO. Here is the patch to fix it.
If we really want to be paranoid, we can allow return values 0 (HOLE), 1
(we asked for one block) and return -EIO for more than 1 block. But I
really don't see a reason for doing it - all we need is the block# here.
(doesn't matter how many blocks are mapped).
ext3_get_blocks_handle() returns number of blocks it mapped. It returns 0
in case of HOLE. ext3_getblk() should handle HOLE properly (currently its
dumping warning stack and returning -EIO).
Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
Acked-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Wang [Fri, 8 Sep 2006 16:47:51 +0000 (09:47 -0700)]
[PATCH] sis5513: add SiS south bridge ID 0x966 and 0x968
New SiS south bridge device ID is 0x966.
Next coming product will be 0x968. (Will be released in Q4, this year)
We don't make any updates to the IDE controller.
Signed-off-by: David Wang <touch@sis.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexey Dobriyan [Fri, 8 Sep 2006 16:47:34 +0000 (09:47 -0700)]
[PATCH] sh: fix FPN_START typo
Not that it passes allmodconfig without it...
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Cc: Mark Haverkamp <markh@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Alexey Dobriyan [Fri, 8 Sep 2006 16:47:24 +0000 (09:47 -0700)]
[PATCH] optical /proc/ide/*/media
Sergey Vlasov reported that his "FUJITSU MCC3064AP, ATAPI OPTICAL drive"
pops up as UNKNOWN in /proc/ide/*/media .
Closes #4145.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Thomas Gleixner [Fri, 8 Sep 2006 16:47:15 +0000 (09:47 -0700)]
[PATCH] Use the correct restart option for futex_lock_pi
The current implementation of futex_lock_pi returns -ERESTART_RESTARTBLOCK
in case that the lock operation has been interrupted by a signal. This
results in a return of -EINTR to userspace in case there is an handler for
the signal. This is wrong, because userspace expects that the lock
function does not return in any case of signal delivery.
This was not caught by my insufficient test case, but triggered a nasty
userspace problem in an high load application scenario. Unfortunately also
glibc does not check for this invalid return value.
Using -ERSTARTNOINTR makes sure, that the interrupted syscall is restarted.
The restart block related code can be safely removed, as the possible
timeout argument is an absolute time value.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Kirill Korotaev [Thu, 7 Sep 2006 10:17:04 +0000 (14:17 +0400)]
[PATCH] IA64,sparc: local DoS with corrupted ELFs
This prevents cross-region mappings on IA64 and SPARC which could lead
to system crash. They were correctly trapped for normal mmap() calls,
but not for the kernel internal calls generated by executable loading.
This code just moves the architecture-specific cross-region checks into
an arch-specific "arch_mmap_check()" macro, and defines that for the
architectures that needed it (ia64, sparc and sparc64).
Architectures that don't have any special requirements can just ignore
the new cross-region check, since the mmap() code will just notice on
its own when the macro isn't defined.
Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Kirill Korotaev <dev@openvz.org>
Acked-by: David Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[ Cleaned up to not affect architectures that don't need it ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Steven Whitehouse [Fri, 8 Sep 2006 14:17:58 +0000 (10:17 -0400)]
[GFS2] Use void * instead of typedef for locking module interface
As requested by Jan Engelhardt, this removes the typedefs in the
locking module interface and replaces them with void *. Also
since we are changing the interface, I've added a few consts
as well.
Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>
Cc: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Fri, 8 Sep 2006 14:13:03 +0000 (10:13 -0400)]
[GFS2] vfree should be kfree
This was missed in an earlier patch when changing over from vmalloc
to kmalloc for the superblock.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Kai Lindhom [Thu, 7 Sep 2006 19:25:51 +0000 (21:25 +0200)]
usbtouchscreen: fix ITM data reading
From: Kai Lindhom <megantti@gmail.com>
Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Acked-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Ralf Schlatterbeck [Wed, 6 Sep 2006 10:15:02 +0000 (12:15 +0200)]
USB: New device ID for ftdi_sio usb serial driver
The patch adds a new device ID for the Gamma Scout Geiger counter
device.
Signed-off-by: Ralf Schlatterbeck <rsc@runtux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Nobuhiro Iwamatsu [Fri, 1 Sep 2006 02:32:28 +0000 (11:32 +0900)]
USB: Support for USB20SVGA-WH & USB20SVGA-DG
This patch is support USB20SVGA-WH & USB20SVGA-DG of the sisusb device.
As for this device, Device ID is different according to the color of the
product. A blue device is supported. However, a green, white device is
not supported.
http://www.lubic.jp/uv_method.html ( Japanese only ) .
Green, white USB20SVGA comes to work by applying the patch .
And, it be able to use three USB20SVGA( Blue , Green , White ).
Signed-off-by: Nobuhiro Iwamatsu <hemamu@t-base.ne.jp>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Adrian Bunk [Mon, 4 Sep 2006 11:41:10 +0000 (13:41 +0200)]
USB: hid-core.c: fix duplicate USB_DEVICE_ID_GTCO_404
On Fri, Sep 01, 2006 at 01:58:18AM -0700, Andrew Morton wrote:
>...
> Changes since 2.6.18-rc4-mm3:
>...
> +gregkh-usb-hid-core.c-adds-all-gtco-calcomp-digitizers-and-interwrite-school-products-to-blacklist.patch
>...
> USB tree updates.
>...
The GNU C compiler spotted the following bug:
<-- snip -->
...
CC drivers/usb/input/hid-core.o
/home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/drivers/usb/input/hid-core.c:1446:1: warning: "USB_DEVICE_ID_GTCO_404" redefined
/home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/drivers/usb/input/hid-core.c:1445:1: warning: this is the location of the previous definition
...
<-- snip -->
This patch fixes this cut'n'paste error.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Steven Whitehouse [Thu, 7 Sep 2006 21:35:48 +0000 (17:35 -0400)]
[GFS2] Remove unused sync_lvb code from lock modules
This code is no longer used for anything and can be removed
from the locking modules. The sync_lvb function is not required
as this happens automatically with the current locking system.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Thu, 7 Sep 2006 19:50:20 +0000 (15:50 -0400)]
[GFS2] Remove one typedef
This removes one of the typedefs from the locking interface. It
is replaced by a forward declaration of the gfs2 superblock. The
other two are not so easy to solve since in their case, they
can refer to one of two possible structures.
Cc: David Teigland <teigland@redhat.com>
Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Thu, 7 Sep 2006 18:46:39 +0000 (14:46 -0400)]
[GFS2] Forgot to remove unused include vmalloc.h
Excatly as the subject line says.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Thu, 7 Sep 2006 18:40:21 +0000 (14:40 -0400)]
[GFS2] Move glock hash table out of superblock
There are several reasons why we want to do this:
- Firstly its large and thus we'll scale better with multiple
GFS2 fs mounted at the same time
- Secondly its easier to scale its size as required (thats a plan
for later patches)
- Thirdly, we can use kzalloc rather than vmalloc when allocating
the superblock (its now only 4888 bytes)
- Fourth its all part of my plan to eventually be able to use RCU
with the glock hash.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Steven Whitehouse [Thu, 7 Sep 2006 17:12:27 +0000 (13:12 -0400)]
[GFS2] Add gfs2 superblock to glock hash function
This is another patch preparing for sharing of the glock hash
table between different gfs2 mounts.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Pierre Ossman [Thu, 7 Sep 2006 15:01:30 +0000 (16:01 +0100)]
[MMC] Always use a sector size of 512 bytes
Both MMC and SD specifications specify (although a bit unclearly in
the MMC case) that a sector size of 512 bytes must always be
supported by the card.
Cards can report larger "native" size than this, and cards >= 2 GB
even must do so. Most other readers use 512 bytes even for these
cards. We should do the same to be compatible.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 7 Sep 2006 14:57:12 +0000 (15:57 +0100)]
[MMC] Cleanup
385e3227d4d83ab13d7767c4bb3593b0256bf246
Rather than having two places which independently calculate the
timeout for data transfers, make it a library function instead.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Pavel Pisa [Thu, 7 Sep 2006 14:53:29 +0000 (15:53 +0100)]
[ARM] 3751/1: i.MX/MX1 SD/MMC use 512 bytes request for SCR read
Patch from Pavel Pisa
This is another approach to SDHC deficiency workaround.
It seems, that previous solution based on 16 bytes (FIFO length size)
read is still timing sensitive on genirq and fully preemptive kernels.
The new solution is backuped by M9328 UM statement, that only 512 byte
block are working properly and by 2.4.26 FreeScale's SDHC code.
Jay Monkman reports significant improvement on code based
on this driver after applying this change on MX21 as well.
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Steven Whitehouse [Thu, 7 Sep 2006 13:54:55 +0000 (09:54 -0400)]
[GFS2] Add brackets in locking/dlm/sysfs.c
As per Jan Engelhardt's request.
Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
David Teigland [Wed, 6 Sep 2006 22:01:40 +0000 (17:01 -0500)]
[DLM] use snprintf in sysfs show
Use snprintf(buf, PAGE_SIZE, ...) instead of sprintf in sysfs show
methods.
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
David Teigland [Wed, 6 Sep 2006 21:57:06 +0000 (16:57 -0500)]
[GFS2] use snprintf for sysfs show
Use snprintf(buf, PAGE_SIZE, ...) instead of sprintf for sysfs show
methods. Per instructions in Documentation/filesystems/sysfs.txt
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Jan Engelhardt [Tue, 5 Sep 2006 12:30:40 +0000 (14:30 +0200)]
[GFS2] More style changes
Remove redundant brackets
Signed-off-by: Jan Engelhardt <jengelh@linux01.gwdg.de>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Pierre Ossman [Sun, 18 Jun 2006 12:34:37 +0000 (14:34 +0200)]
[MMC] Fix SD timeout calculation
Secure Digital cards use a different algorithm to calculate the timeout
for data transfers. Using the MMC one works often, but not always.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David Brownell [Sun, 3 Sep 2006 13:43:33 +0000 (06:43 -0700)]
[MMC] constify mmc_host_ops
Let drivers constify MMC host method operations tables,
moving them from ".data" to ".rodata".
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nathan Scott [Thu, 7 Sep 2006 04:27:23 +0000 (14:27 +1000)]
[XFS] Fix a bad pointer dereference in the quota statvfs handling.
SGI-PV: 955993
SGI-Modid: xfs-linux-melb:xfs-kern:26934a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: David Chatterton <chatz@sgi.com>
David Chinner [Thu, 7 Sep 2006 04:27:15 +0000 (14:27 +1000)]
[XFS] Fix xfs_splice_write() so appended data gets to disk.
xfs_splice_write() failed to update the on disk inode size when extending
the so when the file was closed the range extended by splice was truncated
off. Hence any region of a file written to by splice would end up as a
hole full of zeros.
SGI-PV: 955939
SGI-Modid: xfs-linux-melb:xfs-kern:26920a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: David Chatterton <chatz@sgi.com>
Lachlan McIlroy [Thu, 7 Sep 2006 04:27:05 +0000 (14:27 +1000)]
[XFS] Fix ABBA deadlock between i_mutex and iolock. Avoid calling
__blockdev_direct_IO for the DIO_OWN_LOCKING case for direct I/O reads
since it drops and reacquires the i_mutex while holding the iolock and
this violates the locking order.
SGI-PV: 955696
SGI-Modid: xfs-linux-melb:xfs-kern:26898a
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Signed-off-by: David Chatterton <chatz@sgi.com>
David Chinner [Thu, 7 Sep 2006 04:26:50 +0000 (14:26 +1000)]
[XFS] Prevent free space oversubscription and xfssyncd looping.
The fix for recent ENOSPC deadlocks introduced certain limitations on
allocations. The fix could cause xfssyncd to loop endlessly if we did not
leave some space free for the allocator to work correctly. Basically, we
needed to ensure that we had at least 4 blocks free for an AG free list
and a block for the inode bmap btree at all times.
However, this did not take into account the fact that each AG has a free
list that needs 4 blocks. Hence any filesystem with more than one AG could
cause oversubscription of free space and make xfssyncd spin forever trying
to allocate space needed for AG freelists that was not available in the
AG.
The following patch reserves space for the free lists in all AGs plus the
inode bmap btree which prevents oversubscription. It also prevents those
blocks from being reported as free space (as they can never be used) and
makes the SMP in-core superblock accounting code and the reserved block
ioctl respect this requirement.
SGI-PV: 955674
SGI-Modid: xfs-linux-melb:xfs-kern:26894a
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: David Chatterton <chatz@sgi.com>