19 Oct, 2007

8 commits

  • Signed-off-by: Geert Uytterhoeven
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • 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

    Maciej W. Rozycki
     
  • 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

    Jan Engelhardt
     
  • 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

    Signed-off-by@vergenet.net":Simon
     
  • 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

    Karsten Keil
     
  • 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

    Karsten Keil
     
  • 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

    Ralf Baechle
     
  • 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 cast

    Signed-off-by: Ralf Baechle
    Cc: "Randy.Dunlap"
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     

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

    Eric Sandeen
     
  • 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

    Eric Sandeen
     
  • Signed-off-by: Aneesh Kumar K.V

    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

    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 values

    Also fix direct partial access in ext4 code

    Signed-off-by: Aneesh Kumar K.V

    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_lo

    This helps in finding BUGs due to direct partial access of
    these split 64 bit values

    Also fix direct partial access in ext4 code

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: "Theodore Ts'o"

    Aneesh Kumar K.V
     
  • Convert s_blocks_count to s_blocks_count_lo
    This helps in finding BUGs due to direct partial access of
    these split 64 bit values

    Also fix direct partial access in ext4 code

    Signed-off-by: Aneesh Kumar K.V

    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 values

    Also fix one direct partial access

    Signed-off-by: Aneesh Kumar K.V

    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

    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

    Jose R. Santos
     
  • Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Andrew Morton

    Aneesh Kumar K.V
     
  • 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

    Andreas Dilger
     
  • 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

    Eric Sandeen
     
  • 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"

    Coly Li
     
  • 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

    Jose R. Santos
     
  • 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

    Jan Kara
     
  • change JBD_XXX macros to JBD2_XXX in JBD2/Ext4

    Signed-off-by: Mingming Cao
    Signed-off-by: "Theodore Ts'o"

    Mingming Cao
     
  • Convert kmalloc to kzalloc() and get rid of the memset().

    Signed-off-by: Mingming Cao

    Mingming Cao
     
  • This patch cleans up jbd_kmalloc and replace it with kmalloc directly

    Signed-off-by: Mingming Cao

    Mingming Cao
     
  • This patch cleans up jbd_kmalloc and replace it with kmalloc directly

    Signed-off-by: Mingming Cao

    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

    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

    Mingming Cao
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] fix non-numa build

    Linus Torvalds
     
  • * '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

    Linus Torvalds
     
  • 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 1

    Signed-off-by: Andrew Morton
    Signed-off-by: Tony Luck

    Andrew Morton
     
  • * '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

    Linus Torvalds
     
  • Add driver for Marvell's Libertas 8385 and 8686 wifi chips.

    Signed-off-by: Pierre Ossman
    Acked-by: Dan Williams

    Pierre Ossman
     
  • * 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
    ...

    Linus Torvalds
     
  • 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

    Sam Ravnborg
     
  • otherwise get the two copy file list in SRCARCH

    for cscope:
    C symbol: start_kernel

    File 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_kernel

    File 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

    Yinghai Lu
     
  • 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

    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

    Andrew Victor