- 19 Jan, 2004 20 commits
-
-
Andrew Morton authored
From: Dmitry Torokhov <dtor_core@ameritech.net> correctly perform PS/2 (mousedev) emulation for touchpads generating absolute events (do not stop with the first client)
-
Andrew Morton authored
From: Dmitry Torokhov <dtor_core@ameritech.net> When calculating deltas for touchpads that generate absolute events use average over the last 3 packets to remove jitter
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk raw.c has a refcounting bug (patch attached). As for the theory... If you have a pathname - use filp_open() or open_bdev_excl() and be done with that. bdget() et.al. are OK only if you really have nothing better than device number and that's a situation that should be avoided unless you really have no choice. Said that, we have the following primitives: * lookup_bdev(): takes a pathname, returns a reference to block_device. * bdget(): takes a number, returns a reference to block_device. * blkdev_get(): takes a reference to block_device and opens it. If open fails - drops the reference to block_device passed to it. * blkdev_put(): takes a reference to block_device and closes it. The reference is dropped. * bdput(): drops a reference to block_device. Note that behaviour of blkdev_get() and blkdev_put() is such that it makes for minimal cleanup code. bd_claim()/bd_release() is the exclusion mechanism - that's what mount, swapon, open with O_EXCL, etc. are using to avoid stepping on each others toes. bd_claim() claims bdev for given owner; if it's already owned and not by the same owner you'll get -EBUSY. bd_release() reverts the effect of bd_claim(). Note that if you claim the thing N times (with the same owner, obviously), you'll need N bd_release() before it stops being owned. raw.c grabbed a reference to bdev only after blkdev_get(). If blkdev_get() failed (e.g. media being absent), you've got an unbalanced bdput().
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk Patch switches cramfs_read() to direct use of pagecache and eliminates all messing with buffer_heads. Fixes the interaction with ramdisk (there set_blocksize() simply killed the ramdisk contents) and gets code less brittle overall.
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> For bdevfs inodes (ones created along with struct block_device by fs/block_dev.c) we have inode->i_bdev equal to &BDEV_I(inode)->bdev (i.e. it's at the constant offset from inode). New helper added for such inodes (I_BDEV(inode)). A bunch of places (mostly in block_dev.c) switched to use of that helper. A bunch of places that used file->f_dentry->d_inode->i_bdev->bd_inode switched to file->f_mapping->host - those expressions are equal whenever the former is valid.
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> generic_write_checks() had lost the first argument (inode) - it can be calculated from the second one (file).
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> bd_acquire() made static, switched to returning the block_device it had found. Callers updated.
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> generic_osync_inode() got an extra argument - mapping and doesn't calculate inode->i_mapping anymore. Callers updated and switched to use of ->f_mapping.
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> More uses of ->i_mapping switched to uses of ->f_mapping - stuff that was not caught by the earlier f_mapping conversion.
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> In a bunch of places we used file->f_dentry->d_inode->i_sem to protect fdatasync et.al. Replaced with corrent file->f_mapping->host->i_sem - the object we are protecting is address_space, so we want an exclusion that would work for redirected ->i_mapping. For normal files (not coda, not bdev) it's all the same, of course - there we have file->f_mapping->host == file->f_dentry->d_inode and change above is an equivalent transfromation.
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> A lot of places used to use ->f_dentry->d_inode->i_mapping all over the place. Replaced with use of ->f_mapping. For now - just the places where we literally could do search-and-replace.
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> New field of struct file - ->f_mapping. We maintain the following: file->f_dentry->d_inode->i_mapping == file->f_mapping for all opened files.
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> presto_journal_close() switched to passing struct presto_file_data * instead of bogus struct file *. The only field of struct file we used to look at was file->private_data and most of the callers allocated on-stack struct file, assigned file.private_data and passed the sucker to presto_journal_close(). Idiocy removed. Looks like they started with case where the data they wanted all along was, indeed, in ->private_data of already available struct file, so they just passed pointer to struct file. And when they found that they need to call it in other places where there was no such struct file, they'd done it the dumb way instead of fixing the prototype...
-
Andrew Morton authored
From: viro@parcelfarce.linux.theplanet.co.uk <viro@parcelfarce.linux.theplanet.co.uk> Trivial cleanup in blkdev_put() - replace bdev->bd_inode->i_bdev with bdev.
-
Andrew Morton authored
The first of a series which move us toward blockdev hotplug support. After these we have achieved the following: a) For "normal" (not bdevfs) inodes of block devices we never look at ->i_mapping. b) For the same inodes we only look at ->i_bdev in bd_acquire() where it's used only as "here's what we'd found the last time" sort of cached value. If it's NULL, we just recalculate it. c) Lots of messy expressions had been trimmed down, while we are at it. (a) and (b) allow us to start doing proper block hotplug - we can destroy the association between inode and bdev at any time, unhash bdev in question and have new open() do everything from scratch, without waiting for old opened files to close. The goal is to be able to say "revoke everything over that gendisk"/"revoke that partition" and have it do the right thing. This patch: Where the old code called (block device) ->open(inode, file), use ->open(inode->i_bdev->bd_inode, file). Changes in drivers: * none to those that only used inode->i_bdev and inode->i_rdev in their ->open() (bdev->bd_inode->i_bdev == bdev, so we are OK) * floppy.c and floppy98.c used to call permission(inode, ...) in floppy_open(). Switched to permission(file->f_dentry->d_inode, ...)
-
Andrew Morton authored
- Fix an error-path file refcount leak - Remove unnecessary get_file()/fput() pair. - Clean up error handling a little
-
Andrew Morton authored
From: Ben Slusky <sluskyb@paranoiacs.org> We need to set the hardsect_size of the loop device to that of the real device. The loop device advertises a block size of 1024 even when configured over a cdrom. When burning a ext2 on a cd, and mounting it directly, I get: blocksize=2048; when I losetup /dev/loop0 /dev/cdrom, and then try to mount, I get: blocksize=1024; and then misaligned transfer; this results in not being able to read the superblock. The loop device should be changed to export the same blocksize of the underlying device
-
Andrew Morton authored
From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Fix the calculation of screenpitch and line lengths.
-
Andrew Morton authored
From: Paul Mundt <lethal@linux-sh.org> This patch adds support for the Kyro graphics boards (STG4000/PowerVR 3/etc= .) to 2.6. This is a direct port and substantial cleanup / rewrite of the 2.4 driver that's available in the sh64 tree at linux-sh.bkbits.net. Some of the overlay code and the STG4000 bits are still a bit ugly, so be forewarned.
-
Andrew Morton authored
From: Paul Mundt <lethal@linux-sh.org> Here's a rather large update for SH (this is a bit large mainly since a number of things have piled up, and Linus didn't want any of this during feature freeze time). All of these changes are specific to the SH platform, and as such, shouldn't effect any other platforms.
-
- 18 Jan, 2004 5 commits
-
-
Bartlomiej Zolnierkiewicz authored
This dead code was introduced in kernel 2.4.19 and hasn't been updated since.
-
Bartlomiej Zolnierkiewicz authored
Noticed by Christophe Saout <christophe@saout.de>. This code has been dead since kernel 2.4.2 and it is bogus too.
-
bk://bk.arm.linux.org.uk/linux-2.6-serialLinus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
http://jfs.bkbits.net/linux-2.5Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
bk://kernel.bkbits.net/davem/net-2.6Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
- 16 Jan, 2004 2 commits
-
-
Bjorn Helgaas authored
Patch from Bjorn Helgaas This patch makes ACPI serial ports work right when the serial driver is built as a module. Previously, loading worked fine, but we didn't clean up on module removal.
-
Bjorn Helgaas authored
Patch from Bjorn Helgaas I propose the following HCDP Kconfig patch. It makes HCDP selectable only when serial console has been selected. One desirable side effect is that both are then available only when statically compiled in (i.e., not built as a module). The HCDP support doesn't actually depend on IA64, but I left that in for now because nobody else implements support for it and I don't want people confused by a selectable option that doesn't do anything. Maybe a "depends on EFI" or something will be useful eventually.
-
- 15 Jan, 2004 13 commits
-
-
David S. Miller authored
-
http://lia64.bkbits.net/to-linus-2.5Linus Torvalds authored
into evo.osdl.org:/home/torvalds/v2.5/linux
-
bk://gkernel.bkbits.net/net-drivers-2.5Linus Torvalds authored
into evo.osdl.org:/home/torvalds/v2.5/linux
-
Jeff Garzik authored
Thanks to DaveM.
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.5
-
Jeff Garzik authored
into redhat.com:/spare/repo/net-drivers-2.5
-
Roland McGrath authored
Obviously almost noone uses the pdeath_signal feature, since this has gone unnoticed for quite some time. This patch calls the function that does the right locking for the context of this call (inside exit_notify). The names of the signal.c entrypoints are a little confusing.
-
Jeff Garzik authored
The spinlock was held while calling functions that could block, while simultaneously being at all times inside the context of module init/exit. Thanks to DaveM.
-
Dave Kleikamp authored
The bug was caused by a flag being or'ed against an unitialized value, rather than setting the flag correctly.
-
David Mosberger authored
-
David Mosberger authored
correctly even on 32-bit hosts. As an added bonus, it's faster, too. Run "unwcheck" by default, but for now, don't let unwcheck errors cause the kernel build to fail.
-
David S. Miller authored
into nuts.ninka.net:/disk1/davem/BK/net-2.6
-
Shirley Ma authored
-