19 Oct, 2007
8 commits
-
Signed-off-by: Geert Uytterhoeven
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The tty_termios_encode_baud_rate() function as defined by tty_ioctl.c has a
problem with the baud_table within. The comparison operators are reversed
and as a result this table's entries never match and BOTHER is always used.Signed-off-by: Maciej W. Rozycki
Acked-by: Alan Cox
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Since default_utf8 is already a sysfs attribute, having an extra
CONFIG_VT_UNICODE compile-time option is redundant, since sysfs attributes can
be set at boot and run time.Also let Linux VCs default to UTF-8 (as per the discussion at
http://lkml.org/lkml/2007/9/6/99).Signed-off-by: Jan Engelhardt
Cc: Bill Nottingham
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
I'm not sure that the new URL satifies the requirement of status/info, but
it does at least as good a job as the old URL, and contains current
releases of kexec-tools, rather than somewhat ancient versions.Signed-off-by: Simon Horman
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The patch
- Includes the call to capilib_data_b3_req in the spinlock. This routine
in turn calls the offending mq_enqueue routine that triggered the
freeze if not locked. This should also fix other indicators of
incosistent capilib_msgidqueue list, that trigger messages like:
Oct 5 03:05:57 BERL0 kernel: kcapi: msgid 3019 ncci 0x30301 not on queue
that we saw several times a day (usually several in a row).
- Fixes all occurrences of c4_dispatch_tx to be called with active
spinlock, there were some instances where no lock was active. Mostly
these are in very infrequently called routines, so the additional
performance penalty is minimal.Signed-off-by: Karsten Keil
Signed-off-by: Rainer Brestan
Signed-off-by: Ralf Schlatterbeck
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This fix the same issue which was debbuged for the C4 controller for the B1
versions.The capilib_ function modify or traverse a linked list without locking.
This patch extends the existing locking to the calls of these function to
prevent access to a list which is in the middle of a modification.Signed-off-by: Karsten Keil
C:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x170be8): Section mismatch: reference to .init.data:au1100fb_fix (between 'au1100fb_drv_probe' and 'read_null')
WARNING: vmlinux.o(.text+0x170dc4): Section mismatch: reference to .init.data:au1100fb_var (between 'au1100fb_drv_probe' and 'read_null')
WARNING: vmlinux.o(.text+0x170dd0): Section mismatch: reference to .init.data:au1100fb_fix (between 'au1100fb_drv_probe' and 'read_null')
WARNING: vmlinux.o(.text+0x170de0): Section mismatch: reference to .init.data:au1100fb_var (between 'au1100fb_drv_probe' and 'read_null')
WARNING: vmlinux.o(.text+0x170e70): Section mismatch: reference to .init.data:au1100fb_var (between 'au1100fb_drv_probe' and 'read_null')Signed-off-by: Ralf Baechle
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix build broken by accaa24c492f1aa3b9c37226d868dc59c3007531:
CC drivers/video/console/newport_con.o
drivers/video/console/newport_con.c: In function 'newport_show_logo':
drivers/video/console/newport_con.c:111: error: assignment of read-only location
drivers/video/console/newport_con.c:111: warning: assignment makes integer from pointer without a cast
drivers/video/console/newport_con.c:112: error: assignment of read-only location
drivers/video/console/newport_con.c:112: warning: assignment makes integer from pointer without a castSigned-off-by: Ralf Baechle
Cc: "Randy.Dunlap"
Cc: "Antonino A. Daplas"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
18 Oct, 2007
32 commits
-
When resizing online, setup_new_group_blocks attempts to reserve a
potentially very large transaction, depending on the current filesystem
geometry. For some journal sizes, there may not be enough room for this
transaction, and the online resize will fail.The patch below resizes & restarts the transaction as necessary while
setting up the new group, and should work with even the smallest journal.Tested with something like:
[root@newbox ~]# dd if=/dev/zero of=fsfile bs=1024 count=32768
[root@newbox ~]# mkfs.ext3 -b 1024 fsfile 16384
[root@newbox ~]# mount -o loop fsfile mnt/
[root@newbox ~]# resize2fs /dev/loop0
resize2fs 1.40.2 (12-Jul-2007)
Filesystem at /dev/loop0 is mounted on /root/mnt; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/loop0 to 32768 (1k) blocks.
resize2fs: No space left on device While trying to add group #2
[root@newbox ~]# dmesg | tail -n 1
JBD: resize2fs wants too many credits (258 > 256)
[root@newbox ~]#With the below change, it works.
Signed-off-by: Eric Sandeen
Signed-off-by: Mingming Cao
Acked-by: Andreas Dilger -
setup_new_group_blocks() manipulates the group descriptor block bh
under the block_bitmap bh's lock. It shouldn't matter since nobody
but resize should be touching these blocks, but it's worth fixing up.Signed-off-by: Eric Sandeen
Signed-off-by: Mingming Cao -
Signed-off-by: Aneesh Kumar K.V
-
Convert ext4_extent_idx.ei_leaf ext4_extent_idx.ei_leaf_lo
This helps in finding BUGs due to direct partial access of
these split 48 bit values.Signed-off-by: Aneesh Kumar K.V
-
Convert ext4_extent.ee_start to ext4_extent.ee_start_lo
This helps in finding BUGs due to direct partial access of
these split 48 bit valuesAlso fix direct partial access in ext4 code
Signed-off-by: Aneesh Kumar K.V
-
Convert s_r_blocks_count and s_free_blocks_count to
s_r_blocks_count_lo and s_free_blocks_count_loThis helps in finding BUGs due to direct partial access of
these split 64 bit valuesAlso fix direct partial access in ext4 code
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: "Theodore Ts'o" -
Convert s_blocks_count to s_blocks_count_lo
This helps in finding BUGs due to direct partial access of
these split 64 bit valuesAlso fix direct partial access in ext4 code
Signed-off-by: Aneesh Kumar K.V
-
Convert bg_inode_bitmap and bg_inode_table to bg_inode_bitmap_lo
and bg_inode_table_lo. This helps in finding BUGs due to
direct partial access of these split 64 bit valuesAlso fix one direct partial access
Signed-off-by: Aneesh Kumar K.V
-
Convert bg_block_bitmap to bg_block_bitmap_lo
This helps in catching some BUGS due to direct
partial access of these split fields.Signed-off-by: Aneesh Kumar K.V
-
This feature relaxes check restrictions on where each block groups meta
data is located within the storage media. This allows for the allocation
of bitmaps or inode tables outside the block group boundaries in cases
where bad blocks forces us to look for new blocks which the owning block
group can not satisfy. This will also allow for new meta-data allocation
schemes to improve performance and scalability.Signed-off-by: Jose R. Santos
Cc:
Signed-off-by: Andrew Morton -
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Andrew Morton -
In pass1 of e2fsck, every inode table in the fileystem is scanned and checked,
regardless of whether it is in use. This is this the most time consuming part
of the filesystem check. The unintialized block group feature can greatly
reduce e2fsck time by eliminating checking of uninitialized inodes.With this feature, there is a a high water mark of used inodes for each block
group. Block and inode bitmaps can be uninitialized on disk via a flag in the
group descriptor to avoid reading or scanning them at e2fsck time. A checksum
of each group descriptor is used to ensure that corruption in the group
descriptor's bit flags does not cause incorrect operation.The feature is enabled through a mkfs option
mke2fs /dev/ -O uninit_groups
A patch adding support for uninitialized block groups to e2fsprogs tools has
been posted to the linux-ext4 mailing list.The patches have been stress tested with fsstress and fsx. In performance
tests testing e2fsck time, we have seen that e2fsck time on ext3 grows
linearly with the total number of inodes in the filesytem. In ext4 with the
uninitialized block groups feature, the e2fsck time is constant, based
solely on the number of used inodes rather than the total inode count.
Since typical ext4 filesystems only use 1-10% of their inodes, this feature can
greatly reduce e2fsck time for users. With performance improvement of 2-20
times, depending on how full the filesystem is.The attached graph shows the major improvements in e2fsck times in filesystems
with a large total inode count, but few inodes in use.In each group descriptor if we have
EXT4_BG_INODE_UNINIT set in bg_flags:
Inode table is not initialized/used in this group. So we can skip
the consistency check during fsck.
EXT4_BG_BLOCK_UNINIT set in bg_flags:
No block in the group is used. So we can skip the block bitmap
verification for this group.We also add two new fields to group descriptor as a part of
uninitialized group patch.__le16 bg_itable_unused; /* Unused inodes count */
__le16 bg_checksum; /* crc16(sb_uuid+group+desc) */bg_itable_unused:
If we have EXT4_BG_INODE_UNINIT not set in bg_flags
then bg_itable_unused will give the offset within
the inode table till the inodes are used. This can be
used by fsck to skip list of inodes that are marked unused.bg_checksum:
Now that we depend on bg_flags and bg_itable_unused to determine
the block and inode usage, we need to make sure group descriptor
is not corrupt. We add checksum to group descriptor to
detect corruption. If the descriptor is found to be corrupt, we
mark all the blocks and inodes in the group used.Signed-off-by: Avantika Mathur
Signed-off-by: Andreas Dilger
Signed-off-by: Mingming Cao
Signed-off-by: Aneesh Kumar K.V -
CONFIG_EXT4_INDEX is not an exposed config option in the kernel, and it is
unconditionally defined in ext4_fs.h. tune2fs is already able to turn off
dir indexing, so at this point it's just cluttering up the code. Remove
it.Signed-off-by: Eric Sandeen
Signed-off-by: Mingming Cao
Signed-off-by: "Theodore Ts'o"
Signed-off-by: Andrew Morton -
Fragment support in ext2/3/4 was never implemented, and it probably will
never be implemented. So remove it from ext4.Signed-off-by: Coly Li
Acked-by: Andreas Dilger
Signed-off-by: Andrew Morton
Signed-off-by: "Theodore Ts'o" -
Mostly stolen from akpm's JBD cleanup patch.
- use `#ifdef foo' instead of `#if defined(foo)'
- Make journal_enable_debug __read_mostly just for the heck of it
- Make jbd_debugfs_dir and jbd_debug static
- debugfs_remove(NULL) is legal: remove unneeded tests
- remove unnecessary empty loops
Signed-off-by: Jose R. Santos
Cc:
Signed-off-by: Andrew Morton -
We should really call journal_abort() and not __journal_abort_hard() in
case of errors. The latter call does not record the error in the journal
superblock and thus filesystem won't be marked as with errors later (and
user could happily mount it without any warning).Signed-off-by: Jan Kara
Cc:
Signed-off-by: Andrew Morton -
change JBD_XXX macros to JBD2_XXX in JBD2/Ext4
Signed-off-by: Mingming Cao
Signed-off-by: "Theodore Ts'o" -
Convert kmalloc to kzalloc() and get rid of the memset().
Signed-off-by: Mingming Cao
-
This patch cleans up jbd_kmalloc and replace it with kmalloc directly
Signed-off-by: Mingming Cao
-
This patch cleans up jbd_kmalloc and replace it with kmalloc directly
Signed-off-by: Mingming Cao
-
JBD2: Replace slab allocations with page allocations
JBD2 allocate memory for committed_data and frozen_data from slab. However
JBD2 should not pass slab pages down to the block layer. Use page allocator
pages instead. This will also prepare JBD for the large blocksize patchset.Signed-off-by: Christoph Lameter
Signed-off-by: Mingming Cao -
JBD: Replace slab allocations with page allocations
JBD allocate memory for committed_data and frozen_data from slab. However
JBD should not pass slab pages down to the block layer. Use page allocator pages instead. This will also prepare JBD for the large blocksize patchset.Signed-off-by: Christoph Lameter
Signed-off-by: Mingming Cao -
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] fix non-numa build -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
9p: remove sysctl
9p: fix bad kconfig cross-dependency
9p: soften invalidation in loose_mode
9p: attach-per-user
9p: rename uid and gid parameters
9p: define session flags
9p: Make transports dynamic -
arch/ia64/kernel/machine_kexec.c: In function `arch_crash_save_vmcoreinfo':
arch/ia64/kernel/machine_kexec.c:131: error: `pgdat_list' undeclared (first use in this function)
arch/ia64/kernel/machine_kexec.c:131: error: (Each undeclared identifier is reported only once
arch/ia64/kernel/machine_kexec.c:131: error: for each function it appears in.)
arch/ia64/kernel/machine_kexec.c:134: error: `node_memblk' undeclared (first use in this function)
arch/ia64/kernel/machine_kexec.c:135: error: `NR_NODE_MEMBLKS' undeclared (first use in this function)
arch/ia64/kernel/machine_kexec.c:136: error: invalid application of `sizeof' to incomplete type `node_memblk_s'
arch/ia64/kernel/machine_kexec.c:137: error: dereferencing pointer to incomplete type
arch/ia64/kernel/machine_kexec.c:138: error: dereferencing pointer to incomplete type
make[1]: *** [arch/ia64/kernel/machine_kexec.o] Error 1Signed-off-by: Andrew Morton
Signed-off-by: Tony Luck -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
net: libertas sdio driver
mmc: at91_mci: cleanup: use MCI_ERRORS
mmc: possible leak in mmc_read_ext_csd -
Add driver for Marvell's Libertas 8385 and 8686 wifi chips.
Signed-off-by: Pierre Ossman
Acked-by: Dan Williams -
* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86: (114 commits)
x86: delete vsyscall files during make clean
kbuild: fix typo SRCARCH in find_sources
x86: fix kernel rebuild due to vsyscall fallout
.gitignore update for x86 arch
x86: unify include/asm/debugreg_32/64.h
x86: unify include/asm/unwind_32/64.h
x86: unify include/asm/types_32/64.h
x86: unify include/asm/tlb_32/64.h
x86: unify include/asm/siginfo_32/64.h
x86: unify include/asm/bug_32/64.h
x86: unify include/asm/mman_32/64.h
x86: unify include/asm/agp_32/64.h
x86: unify include/asm/kdebug_32/64.h
x86: unify include/asm/ioctls_32/64.h
x86: unify include/asm/floppy_32/64.h
x86: apply missing DMA/OOM prevention to floppy_32.h
x86: unify include/asm/cache_32/64.h
x86: unify include/asm/cache_32/64.h
x86: unify include/asm/dmi_32/64.h
x86: unify include/asm/delay_32/64.h
... -
make clean failed to delete a few files in
x86/kernel. This is because kbuild does not
see the correct/full kernel/Makefile.As a workaround until the Makefiles are merged specify
the files to be deleted in the common Makefile.Reported by Mike Galbraith
Signed-off-by: Sam Ravnborg
Cc: Mike Galbraith
Signed-off-by: Thomas Gleixner -
otherwise get the two copy file list in SRCARCH
for cscope:
C symbol: start_kernelFile Function Line
0 proto.h 11 extern void start_kernel(void );
1 start_kernel.h 10 extern asmlinkage void __init start_kernel(void );
2 head32.c i386_start_kernel 37 start_kernel();
3 head32.c i386_start_kernel 37 start_kernel();
4 head64.c x86_64_start_kernel 85 start_kernel();
5 head64.c x86_64_start_kernel 85 start_kernel();
6 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel
7 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel
8 enlighten.c xen_start_kernel 1145 start_kernel();
9 enlighten.c xen_start_kernel 1145 start_kernel();
a lguest.c lguest_init 1095 start_kernel();
b main.c start_kernel 513 asmlinkage void __init start_kernel(void )after the patch:
C symbol: start_kernelFile Function Line
0 proto.h 11 extern void start_kernel(void );
1 start_kernel.h 10 extern asmlinkage void __init start_kernel(void );
2 head32.c i386_start_kernel 37 start_kernel();
3 head64.c x86_64_start_kernel 85 start_kernel();
4 head_32.S options 199 cmpb $0,%cl #the first CPU calls start_kernel
5 enlighten.c xen_start_kernel 1145 start_kernel();
6 lguest.c lguest_init 1095 start_kernel();
7 main.c start_kernel 513 asmlinkage void __init start_kernel(void )Signed-off-by: Yinghai Lu
Signed-off-by: Thomas Gleixner -
A sysctl method was added to enable and disable debugging levels. After
further review, it was decided that there are better approaches to doing this
and the sysctl methodology isn't really desirable. This patch removes the
sysctl code from 9p.Signed-off-by: Eric Van Hensbergen
-
A small MMC driver cleanup.
Use the defined AT91_MCI_ERRORS in at91_mci_completed_command() instead
of specifying all the error bits individually.Signed-off-by: Andrew Victor
Signed-off-by: Nicolas Ferre
Signed-off-by: Pierre Ossman