- 07 Aug, 2003 23 commits
-
-
Andrew Morton authored
move_one_page() is awkward. It grabs an atomic_kmap of the source pte (because it needs to know if there's really a page there) and then it needs to allocate a pte for the dest. But it cannot allocate the dest pte while holding the src's atomic kmap. So it performs this little dance peeking at pagetables to predict if alloc_one_pte_map() might need to perform a pte page allocation. When I wrote this code I made it conditional on CONFIG_HIGHPTE. But that was bogus: even in the !CONFIG_HIGHPTE case, get_one_pte_map_nested() will run atomic_kmap() against the pte page, which disables preemption. Net effect: with CONFIG_HIGHMEM && !CONFIG_HIGHPTE we can end up performing a GFP_KERNEL pte page allocation while preemption is disabled. It triggers a might_sleep() warning and indeed is buggy. So the patch removes the conditionality: even in the !CONFIG_HIGHPTE case we still do the pagetable peek and drop the kmap if necessary. (Arguably, we shouldn't be performing the atomic_kmap() at all if !CONFIG_HIGHPTE: all it does is a pointless preemption disable). (Arguably, kmap_atomic() should not be disabling preemption if the target page is not highmem. But we're doing it anyway at present for consistency (ie: debug coverage) and because the filemap.c pagecache copying functions rely on kmap_atomic() disabling do_no_page() for all pages: see do_no_page()'s use of in_atomic()).
-
Andrew Morton authored
The new emergency remount path forgot to take lock_kernel(), which is required for ->remount_fs().
-
Andrew Morton authored
From: Oleg Drokin <green@namesys.com> This patch (originally by Chris Mason) fixes link/unlink races in reiserfs.
-
Andrew Morton authored
From: Oleg Drokin <green@namesys.com> This patch fixes various bad stuff that happens when you write to full or almost full reiserfs filesystem.
-
Andrew Morton authored
From: Oleg Drokin <green@namesys.com> This small patch fixes a savelinks problem on bigendian platforms, where savelinks were not working at all because of incorrect cpu->disk endianness conversion. Savelinks are used on reiserfs to remember "truncate" and "unlink" events so that if crash happens in the middle of truncate/unlink, we do not endup with lost or half truncated files.
-
Andrew Morton authored
From: Joe Thornber <thornber@sistina.com> Some architectures define an extern function called resume(), which clashes with a static function in dm-ioctl-v4.c. Rename static one to do_resume().
-
Andrew Morton authored
From: Joe Thornber <thornber@sistina.com> Use sector_div() rather than defining own version. [Christophe Saout]
-
Andrew Morton authored
From: Joe Thornber <thornber@sistina.com> Missing #include
-
Andrew Morton authored
From: Joe Thornber <thornber@sistina.com> Update the ioctl32 handlers for the 64-bit architectures to recognize the new Device-Mapper version 4 ioctls. The version 1 ioctls are still there. If/When the version 1 ioctls are removed, these same files will need to be updated again. I have been unable to test this patch yet, since I have not had any luck getting 2.6.0-test2 to compile on my ppc64 box (not a dm-related problem). But the patch is pretty trivial, so I'm pretty confident it will work. If anyone else can test this (on mips64, sparc64, parisc, or x86-64), let me know if you have any problems. [Kevin Corry]
-
Andrew Morton authored
From: Joe Thornber <thornber@sistina.com> The 2.4 version of Device-Mapper scans for device-numbers in decimal instead of hex (in dm_get_device()). Update 2.6 so both versions use the same behavior. [Kevin Corry]
-
Andrew Morton authored
From: Joe Thornber <thornber@sistina.com> Remove includes of <linux/blk.h>. This header is deprecated in 2.6. [Kevin Corry]
-
Andrew Morton authored
From: Joe Thornber <thornber@sistina.com> MODULE_PARM is deprecated in 2.6. Use the new module_param() macro. [Kevin Corry]
-
Andrew Morton authored
Work around gcc-2.9x token-pasting bug by adding a space in front of the comma.
-
Gerd Knorr authored
* the usual pile of tv card database updates. * various signed/unsigned fixups (fix gcc 3.3 warnings) and releated cleanups (use ARRAY_SIZE macro, ...). * moved some code which can be shared with the new, upcoming cx2388x driver to a separate module. * split the irq handler into smaller functions. * some new features (field rate capture support for example). * simplified i2c code a bit by removing redundant bookkeeping of attached i2c clients. * merged i2c changes back into my tree, there are some no-op changes due to this. * various other bugfixes. * fix build failure with CONFIG_FW_LOADER enabled
-
Gerd Knorr authored
This patch drops procfs code from videodev.c and adds sysfs support instead. It adds a new class where all v4l devices are listed. It also provides some new helper functions for v4l drivers.
-
Bartlomiej Zolnierkiewicz authored
Original patch from Erik Andersen <andersen@codepoet.org>: - fix CONFIG_IDEDISK_STROKE by adding proper detection of HPA feature set and removing IDE_STROKE_LIMIT - remove irrelevant idedisk_supports_host_protected_area() - make the HPA detection actually display useful information I've reworked it a bit: - detect HPA before calculating drive's geometry - move HPA detection outside init_idedisk_capacity() to idedisk_check_hpa_lba28() and idedisk_check_hpa_lba48() - use sectors_to_MB() - respect 80-column limit
-
Bartlomiej Zolnierkiewicz authored
- no need to zero drive->capacity48 and drive->select.b.lba - don't call idedisk_read_native_max_address_ext() twice if drive uses LBA-48 and CONFIG_IDEDISK_STROKE is defined - remove uneccessary setup of drive->capacity48/cyl/select.b.lba if drive uses LBA-48, maximum virtual LBA address needs to be set and CONFIG_IDEDISK_STROKE is defined - set drive->cyl only once if drive uses LBA-48 - don't call idedisk_read_native_max_address() if drive uses LBA-48 and don't call it twice if CONFIG_IDEDISK_STROKE is defined - don't check for Host Protected Area if drive uses CHS addressing (such combination is not supported by a driver) - remove duplicated code (at the end of the function) that is never executed
-
Bartlomiej Zolnierkiewicz authored
From Andries.Brouwer@cwi.nl: - store capacities in sector_t - add generic sectors_to_MB() helper to ide-disk.c - fix drive->bios_cyls calculation (limiting it to 65535) for disks
-
Bartlomiej Zolnierkiewicz authored
From Andries.Brouwer@cwi.nl: - these functions should return 0 not 1 on error
-
Bartlomiej Zolnierkiewicz authored
From Benjamin Herrenschmidt <benh@kernel.crashing.org>. - avoid device list corruption and scheduling at interrupt time (more work needed on proper locking) - make sure "hold" flag and ide_dma_queued_* ops are properly transferred from old to new interface
-
Bartlomiej Zolnierkiewicz authored
From Andrey Borzenkov <arvidjaar@mail.ru>: Apparently drive->driver is never NULL now but defaults to the default driver.
-
Bartlomiej Zolnierkiewicz authored
fixes kobject_register() oops
-
Jens Axboe authored
Now that we properly track queue references, that showed a bug in scsi_ioctl.c, where it was dropping queues that it had never properly gotten in the first place.
-
- 06 Aug, 2003 8 commits
-
-
Jens Axboe authored
To be able to properly be able to keep references to block queues, we make blk_init_queue() return the queue that it initialized, and let it be independently allocated and then cleaned up on the last reference. I have grepped high and low, and there really shouldn't be any broken uses of blk_init_queue() in the kernel drivers left. The added bonus being blk_init_queue() error checking is explicit now, most of the drivers were broken in this regard (even IDE/SCSI). No drivers have embedded request queue structures. Drivers that don't use blk_init_queue() but blk_queue_make_request(), should allocate the queue with blk_alloc_queue(gfp_mask). I've converted all of them to do that, too. They can call blk_cleanup_queue() now too, using the define blk_put_queue() is probably cleaner though.
-
bk://kernel.bkbits.net/davem/net-2.5Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Jens Axboe authored
This patch fixes the BIO_RW_AHEAD being tested at the wrong end in the bio layer.
-
Andrew Morton authored
The problem with PF_READAHEAD is that if someone does a non-GFP_ATOMIC memory allocation we can enter page reclaim and then call writepage, while PF_READAHEAD is set. The block layer then drops writes or the wrong reads on the floor. It can cause data loss. A fix is complex (well, intrusive). Given that the readahead code is now skipping the entire readahead attempt if the queue is congested, the setting of PF_READAHEAD probably is not doing anything useful anyway, so simply remove it.
-
Dave Jones authored
There seemed to be increase in Athlon users reporting MCEs in 2.6 that they never saw in 2.4 and I didn't buy the "2.6 pushes hardware harder" for a second given folks are running 2.4+preempt+O(1) etc patchkits without problems. So I did a mini-audit of the mcheck code. How embarressing. Another fix that went into 2.4 that never made it forward. Once I'm done with various Red Hat administrivia I'll see if I can devote some time to going through the changesets mailing list. I wonder just how many other really stupid bugs like this got fixed and not brought forward.
-
David S. Miller authored
into kernel.bkbits.net:/home/davem/net-2.5
-
bk://cifs.bkbits.net/linux-2.5cifsLinus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
bk://bk.arm.linux.org.uk/linux-2.5-pcmciaLinus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
- 07 Aug, 2003 3 commits
-
-
Russell King authored
In order to properly track down who needs to program the IRQ MUX register, add the subsystem vendor and device IDs to the kernel message indicating discovery of the cardbus bridge.
-
Russell King authored
The IRQ steering code operates too early at present, and actually prevents us detecting ISA interrupts. We should not touch the IRQ MUX register on TI bridges - only the machine itself knows the right value for this. The kernel doesn't have the knowledge to know what function the cardbus controllers multi-function pins have been assigned by the hardware manufacturer.
-
Russell King authored
Currently, yenta does not try to clean up after an error occurs while initialising a cardbus socket. This cset ensures that we release resources. We also claim the cardbus MMIO memory resource.
-
- 06 Aug, 2003 6 commits
-
-
Adam Belay authored
pnp_x_valid returns 1 if valid. Therefore we should be using !pnp_port_valid. Also cleans up some formatting issues.
-
David S. Miller authored
into nuts.ninka.net:/home/davem/src/BK/net-2.5
-
http://linux-lksctp.bkbits.net/lksctp-2.5David S. Miller authored
into nuts.ninka.net:/home/davem/src/BK/net-2.5
-
Stephen Hemminger authored
Convert X.25 async driver to have dynamic net_device's. This driver is a lot like SLIP so the code changes were similar. - Added similar locking to SLIP - replaced code that snooped for MTU changes with the net_device change mtu callback. - cleaned up the statistics by using the net_device_stats structure. Patch is against 2.6.0-test2. Not sure if anyone ever uses this. I tested by bringing up an x.25 async line using a modified version of slattach.
-
Stephen Hemminger authored
The conversion from cli/sti to locking in X.25 must not have been tested on a real SMP with memory debugging enabled. It OOPS right away if I do: modprobe x25; ifconfig -a The problem is that it dereferences the socket after it has already been freed. The fix for this is to make the call to sock_put, later in x25_destroy_socket do the free. Also, need a go to avoid references in x25_release.
-
Stephen Hemminger authored
This patch is against 2.6.0-test2. The problem is that the ax25_destroy_socket function frees the socket buffer, but then ax25_release dereferences this causing an OOPS. To reproduce: modprobe ax25; ifconfig -a Replaced sk_free with sock_put which will free if this is the last reference.
-