27 Mar, 2006
40 commits
-
This fix was proposed by Trond Myklebust. He says: The type "sector_t" is
heavily tied in to the block layer interface as an offset/handle to a block,
and is subject to a supposedly block-specific configuration option:
CONFIG_LBD. Despite this, it is used in struct kstatfs to save a couple of
bytes on the stack whenever we call the filesystems' ->statfs().So kstatfs's entries related to blocks are invalid on statfs64 for a network
filesystem which has more than 2^32-1 blocks when CONFIG_LBD is disabled.- struct kstatfs
Change the type of following entries from sector_t to u64.
f_blocks
f_bfree
f_bavail
f_files
f_ffreeSigned-off-by: Trond Myklebust
Signed-off-by: Takashi Sato
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Cc: Takashi Sato
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Add blkcnt_t as the type of inode.i_blocks. This enables you to make the size
of blkcnt_t either 4 bytes or 8 bytes on 32 bits architecture with CONFIG_LSF.- CONFIG_LSF
Add new configuration parameter.
- blkcnt_t
On h8300, i386, mips, powerpc, s390 and sh that define sector_t,
blkcnt_t is defined as u64 if CONFIG_LSF is enabled; otherwise it is
defined as unsigned long.
On other architectures, it is defined as unsigned long.
- inode.i_blocks
Change the type from sector_t to blkcnt_t.Signed-off-by: Takashi Sato
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch series fixes the following problems on 32 bits architecture.
o stat64 returns the lower 32 bits of blocks, although userland st_blocks
has 64 bits, because i_blocks has only 32 bits. The ioctl with FIOQSIZE has
the same problem.o As Dave Kleikamp said, making >2TB file on JFS results in writing an
invalid block number to disk inode. The cause is the same as above too.o In generic quota code dquot_transfer(), the file usage is calculated from
i_blocks via inode_get_bytes(). If the file is over 2TB, the change of
usage is less than expected. The cause is the same as above too.o As Trond Myklebust said, statfs64's entries related to blocks are invalid
on statfs64 for a network filesystem which has more than 2^32-1 blocks with
CONFIG_LBD disabled. [PATCH 3/3]We made patches to fix problems that occur when handling a large filesystem
and a large file. It was discussed on the mails titled "stat64 for over 2TB
file returned invalid st_blocks".Signed-off-by: Takashi Sato
Cc: Dave Kleikamp
Cc: Jan Kara
Cc: Trond Myklebust
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Modify well over a dozen mempool users to call mempool_create_slab_pool()
rather than calling mempool_create() with extra arguments, saving about 30
lines of code and increasing readability.Signed-off-by: Matthew Dobson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Create a simple wrapper function for the common case of creating a slab-based
mempool.Signed-off-by: Matthew Dobson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch changes a mempool user, which is basically just a wrapper around
kzalloc(), to use the common mempool_kmalloc/kfree, rather than its own
wrapper function, removing duplicated code.Signed-off-by: Matthew Dobson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Add another allocator to the common mempool code: a kzalloc/kfree allocator
This will be used by the next patch in the series to replace a mempool-backed
kzalloc allocator. It is also very likely that there will be more users in
the future.Signed-off-by: Matthew Dobson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch changes several mempool users, all of which are basically just
wrappers around kmalloc(), to use the common mempool_kmalloc/kfree, rather
than their own wrapper function, removing a bunch of duplicated code.Signed-off-by: Matthew Dobson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Add another allocator to the common mempool code: a kmalloc/kfree allocator
This will be used by the next patch in the series to replace duplicate
mempool-backed kmalloc allocators in several places in the kernel. It is also
very likely that there will be more users in the future.Signed-off-by: Matthew Dobson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Convert two mempool users that currently use their own mempool-backed page
allocators to use the generic mempool page allocator.Also included are 2 trivial whitespace fixes.
Signed-off-by: Matthew Dobson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This will be used by the next patch in the series to replace duplicate
mempool-backed page allocators in 2 places in the kernel. It is also likely
that there will be more users in the future.Signed-off-by: Matthew Dobson
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Update driver documentation.
Signed-off-by: Steffen Klassert
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Remove some whitespaces and codingstyle issues.
Signed-off-by: Steffen Klassert
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Remove per-driver versioning.
Signed-off-by: Steffen Klassert
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Use ethtool_op_get_link instead of vortex_get_link.
Signed-off-by: Steffen Klassert
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Handle netif_carrier_{on,of} also if media is forced to 10baseT/100baseTx.
Signed-off-by: Steffen Klassert
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Set the polling interval for media changes to 5 seconds if link is down and
60 seconds if link is up.Signed-off-by: Steffen Klassert
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Check for media changes and netif_carrier by using mii_check_media() if mii is
used.Signed-off-by: Steffen Klassert
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
I noticed that after boot with an initrd in 2.6.16 the rootfs had:
--w-r-xr-T 1 root root 6241141 Jan 1 1970 initrd.image
Which is caused by a small typo:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix compilation for sound/oss/vwsnd.o, by moving li_destroy() above
li_create()sound/oss/vwsnd.c:275: warning: conflicting types for âli_destroyâ
sound/oss/vwsnd.c:275: error: static declaration of âli_destroyâ follows non-static declaration
sound/oss/vwsnd.c:264: error: previous implicit declaration of âli_destroyâ was hereSigned-off-by: Eric Sesterhenn
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Cc: Al Viro
Cc: Christoph Hellwig
Cc: Zdenek Pavlas
Signed-off-by: H. Peter Anvin
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The isicom driver uses request_firmware() and thus needs to select
FW_LOADER.Signed-off-by: maximilian attems
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Coverity found an over-run @ line 364 of efi.c
This is due to the loop checking the size correctly, then adding a '\0'
after possibly hitting the end of the array.Ensure the loop exits with one space left in the array.
Signed-off-by: Darren Jenkins
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
drivers/input/touchscreen/ads7846.c: In function `ads7846_read12_ser':
drivers/input/touchscreen/ads7846.c:207: warning: implicit declaration of function `disable_irq'
drivers/input/touchscreen/ads7846.c:209: warning: implicit declaration of function `enable_irq'Cc: Dmitry Torokhov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Since the addition of boot_cpu_init(), fixup_cpu_present_map() has been a
no-op. That's because fixup_cpu_present_map() won't touch cpu_present_map if
it has any bits set, and boot_cpu_init() sets a bit.So remove fixup_cpu_present_map().
A consequence of this (actually of the boot_cpu_init() change) is that the
architecture _must_ populate cpu_present_map itself (probably in
smp_prepare_cpus()). fixup_cpu_present_map() won't do it any more.If the architecture doesn't do this, it'll only bring up a single CPU.
The other side effect (though less serious) is that smp_prepare_boot_cpu() no
longer needs to mark the boot cpu in the online and present maps -
boot_cpu_init() does that for everyone (to make early printks work).Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
tlclk calls register_chrdev() and permits register_chrdev() to allocate the
major, but it promptly forgets what that major was. So if there's no hardware
present you still get "telco_clock" appearing in /proc/devices and, I assume,
an oops reading /proc/devices if tlclk was a module.Fix.
Mark, I'd suggest that that we not call register_chrdev() until _after_ we've
established that the hardware is present.Cc: Mark Gross
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Check that kernel_thread() succeeded, so we don't wait for something which
cannot happen.Signed-off-by: Herbert Poetzl
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Change proc_dir_entry->size to be loff_t to represent files like
/proc/vmcore for 32bit systems with more than 4G memory.Needed for seeing correct size for /proc/vmcore for 32-bit systems with >
4G RAM.Signed-off-by: Maneesh Soni
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Create compat_sys_adjtimex and use it an all appropriate places.
Signed-off-by: Stephen Rothwell
Cc: Arnd Bergmann
Acked-by: Paul Mackerras
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
We had a copy of the compatibility version of struct timex in each 64 bit
architecture. This patch just creates a global one and replaces all the
usages of the old ones.Signed-off-by: Stephen Rothwell
Cc: Arnd Bergmann
Acked-by: Kyle McMartin
Acked-by: Tony Luck
Acked-by: Paul Mackerras
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Update the NFSv4 server to use the new posix_lock_file_conf() interface.
Remove unnecessary (and race-prone) posix_test_file() calls.Signed-off-by: Andy Adamson
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust
Cc: Neil Brown
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Lockd and the NFSv4 server both exercise a race condition where
posix_test_lock() is called either before or after posix_lock_file() to
deal with a denied lock request due to a conflicting lock.Remove the race condition for the NFSv4 server by adding a new conflicting
lock parameter to __posix_lock_file() , changing the name to
__posix_lock_file_conf().Keep posix_lock_file() interface, add posix_lock_conf() interface, both
call __posix_lock_file_conf().[akpm@osdl.org: Put the EXPORT_SYMBOL() where it belongs]
Signed-off-by: Andy Adamson
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
BUG instead of handling a case that should never happen.
Signed-off-by: J. Bruce Fields
Signed-off-by: Trond Myklebust
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
I discovered on oprofile hunting on a SMP platform that dentry lookups were
slowed down because d_hash_mask, d_hash_shift and dentry_hashtable were in
a cache line that contained inodes_stat. So each time inodes_stats is
changed by a cpu, other cpus have to refill their cache line.This patch moves some variables to the __read_mostly section, in order to
avoid false sharing. RCU dentry lookups can go full speed.Signed-off-by: Eric Dumazet
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Add __KERNEL__ block.
Use __KERNEL__ to allow ioctl interface to be usable.Signed-off-by: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Need to increment the version number because of the new PCI and sysfs
capabilities of the driver. People maintaining things for distros have
asked that I do this after interface or major functional changes.Signed-off-by: Corey Minyard
Acked-by: Matt Domsch
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Add full driver model support for the IPMI driver. It links in the proper
bus and device support.It adds an "ipmi" driver interface that has each BMC discovered by the
driver (as a device). These BMCs appear in the devices/platform directory.
If there are multiple interfaces to the same BMC, the driver should
discover this and will only have one BMC entry. The BMC entry will have
pointers to each interface device that connects to it.The device information (statistics and config information) has not yet been
ported over to the driver model from proc, that will come later.This work was based on work by Yani Ioannou. I basically rewrote it using
that code as a guide, but he still deserves credit :).[bunk@stusta.de: make ipmi_find_bmc_guid() static]
Signed-off-by: Corey Minyard
Signed-off-by: Yani Ioannou
Cc: Greg KH
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Modify the PCI hanling code for the IPMI driver to use the new method of
tables and registering, and adds more generic PCI handling for IPMI.
Unfortunately, this required a rather large rework of the way the driver
did detection so it would be more event-driven.[bunk@stusta.de: make a struct static]
Signed-off-by: Corey Minyard
Cc: Greg KH
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
net/core/flow.c: In function 'flow_cache_flush':
net/core/flow.c:299: warning: statement with no effectSigned-off-by: Con Kolivas
Cc: "David S. Miller"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds