22 Oct, 2010

7 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (48 commits)
    ocfs2: Avoid to evaluate xattr block flags again.
    ocfs2/cluster: Release debugfs file elapsed_time_in_ms
    ocfs2: Add a mount option "coherency=*" to handle cluster coherency for O_DIRECT writes.
    Initialize max_slots early
    When I tried to compile I got the following warning: fs/ocfs2/slot_map.c: In function ‘ocfs2_init_slot_info’: fs/ocfs2/slot_map.c:360: warning: ‘bytes’ may be used uninitialized in this function fs/ocfs2/slot_map.c:360: note: ‘bytes’ was declared here Compiler: gcc version 4.4.3 (GCC) on Mandriva I'm not sure why this warning occurs, I think compiler don't know that variable "bytes" is initialized when it is sent by reference to ocfs2_slot_map_physical_size and it throws that ugly warning. However, a simple initialization of "bytes" variable with 0 will fix it.
    ocfs2: validate bg_free_bits_count after update
    ocfs2/cluster: Bump up dlm protocol to version 1.1
    ocfs2/cluster: Show per region heartbeat elapsed time
    ocfs2/cluster: Add mlogs for heartbeat up/down events
    ocfs2/cluster: Create debugfs dir/files for each region
    ocfs2/cluster: Create debugfs files for live, quorum and failed region bitmaps
    ocfs2/cluster: Maintain bitmap of failed regions
    ocfs2/cluster: Maintain bitmap of quorum regions
    ocfs2/cluster: Track bitmap of live heartbeat regions
    ocfs2/cluster: Track number of global heartbeat regions
    ocfs2/cluster: Maintain live node bitmap per heartbeat region
    ocfs2/cluster: Reorganize o2hb debugfs init
    ocfs2/cluster: Check slots for unconfigured live nodes
    ocfs2/cluster: Print messages when adding/removing nodes
    ocfs2/cluster: Print messages when adding/removing heartbeat regions
    ...

    Linus Torvalds
     
  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (278 commits)
    arm: remove machine_desc.io_pg_offst and .phys_io
    arm: use addruart macro to establish debug mappings
    arm: return both physical and virtual addresses from addruart
    arm/debug: consolidate addruart macros for CONFIG_DEBUG_ICEDCC
    ARM: make struct machine_desc definition coherent with its comment
    eukrea_mbimxsd-baseboard: Pass the correct GPIO to gpio_free
    cpuimx27: fix compile when ULPI is selected
    mach-pcm037_eet: fix compile errors
    Fixing ethernet driver compilation error for i.MX31 ADS board
    cpuimx51: update board support
    mx5: add cpuimx51sd module and its baseboard
    iomux-mx51: fix GPIO_1_xx 's IOMUX configuration
    imx-esdhc: update devices registration
    mx51: add resources for SD/MMC on i.MX51
    iomux-mx51: fix SD1 and SD2's iomux configuration
    clock-mx51: rename CLOCK1 to CLOCK_CCGR for better readability
    clock-mx51: factorize clk_set_parent and clk_get_rate
    eukrea_mbimxsd: add support for DVI displays
    cpuimx25 & cpuimx35: fix OTG port registration in host mode
    i.MX31 and i.MX35 : fix errate TLSbo65953 and ENGcm09472
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (26 commits)
    PM / Wakeup: Show wakeup sources statistics in debugfs
    PM: Introduce library for device-specific OPPs (v7)
    PM: Add sysfs attr for rechecking dev hash from PM trace
    PM: Lock PM device list mutex in show_dev_hash()
    PM / Runtime: Remove idle notification after failing suspend
    PM / Hibernate: Modify signature used to mark swap
    PM / Runtime: Reduce code duplication in core helper functions
    PM: Allow wakeup events to abort freezing of tasks
    PM: runtime: add missed pm_request_autosuspend
    PM / Hibernate: Make some boot messages look less scary
    PM / Runtime: Implement autosuspend support
    PM / Runtime: Add no_callbacks flag
    PM / Runtime: Combine runtime PM entry points
    PM / Runtime: Merge synchronous and async runtime routines
    PM / Runtime: Replace boolean arguments with bitflags
    PM / Runtime: Move code in drivers/base/power/runtime.c
    sysfs: Add sysfs_merge_group() and sysfs_unmerge_group()
    PM: Fix potential issue with failing asynchronous suspend
    PM / Wakeup: Introduce wakeup source objects and event statistics (v3)
    PM: Fix signed/unsigned warning in dpm_show_time()
    ...

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    lockdep: Check the depth of subclass
    lockdep: Add improved subclass caching
    affs: Use sema_init instead of init_MUTEX
    hfs: Convert tree_lock to mutex
    arm: Bcmring: semaphore cleanup
    printk: Make console_sem a semaphore not a pseudo mutex
    drivers/macintosh/adb: Do not claim that the semaphore is a mutex
    parport: Semaphore cleanup
    irda: Semaphore cleanup
    net: Wan/cosa.c: Convert "mutex" to semaphore
    net: Ppp_async: semaphore cleanup
    hamradio: Mkiss: semaphore cleanup
    hamradio: 6pack: semaphore cleanup
    net: 3c527: semaphore cleanup
    input: Serio/hp_sdc: semaphore cleanup
    input: Serio/hil_mlc: semaphore cleanup
    input: Misc/hp_sdc_rtc: semaphore cleanup
    lockup_detector: Make callback function static
    lockup detector: Fix grammar by adding a missing "to" in the comments
    lockdep: Remove __debug_show_held_locks

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (22 commits)
    GFS2: fixed typo
    GFS2: Fix type mapping for demote_rq interface
    GFS2 fatal: filesystem consistency error on rename
    GFS2: Improve journal allocation via sysfs
    GFS2: Add "norecovery" mount option as a synonym for "spectator"
    GFS2: Fix spectator umount issue
    GFS2: Fix compiler warning from previous patch
    GFS2: reserve more blocks for transactions
    GFS2: Fix journal check for spectator mounts
    GFS2: Remove upgrade mount option
    GFS2: Remove localcaching mount option
    GFS2: Remove ignore_local_fs mount argument
    GFS2: Make . and .. qstrs constant
    GFS2: Use new workqueue scheme
    GFS2: Update handling of DLM return codes to match reality
    GFS2: Don't enforce min hold time when two demotes occur in rapid succession
    GFS2: Fix whitespace in previous patch
    GFS2: fallocate support
    GFS2: Add a bug trap in allocation code
    GFS2: No longer experimental
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (22 commits)
    ceph: do not carry i_lock for readdir from dcache
    fs/ceph/xattr.c: Use kmemdup
    rbd: passing wrong variable to bvec_kunmap_irq()
    rbd: null vs ERR_PTR
    ceph: fix num_pages_free accounting in pagelist
    ceph: add CEPH_MDS_OP_SETDIRLAYOUT and associated ioctl.
    ceph: don't crash when passed bad mount options
    ceph: fix debugfs warnings
    block: rbd: removing unnecessary test
    block: rbd: fixed may leaks
    ceph: switch from BKL to lock_flocks()
    ceph: preallocate flock state without locks held
    ceph: add pagelist_reserve, pagelist_truncate, pagelist_set_cursor
    ceph: use mapping->nrpages to determine if mapping is empty
    ceph: only invalidate on check_caps if we actually have pages
    ceph: do not hide .snap in root directory
    rbd: introduce rados block device (rbd), based on libceph
    ceph: factor out libceph from Ceph file system
    ceph-rbd: osdc support for osd call and rollback operations
    ceph: messenger and osdc changes for rbd
    ...

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus: (29 commits)
    hfsplus: fix getxattr return value
    hfsplus: remove the unused hfsplus_kmap/hfsplus_kunmap helpers
    hfsplus: create correct initial catalog entries for device files
    hfsplus: remove superflous rootflags field in hfsplus_inode_info
    hfsplus: fix link corruption
    hfsplus: validate btree flags
    hfsplus: handle more on-disk corruptions without oopsing
    hfsplus: hfs_bnode_find() can fail, resulting in hfs_bnode_split() breakage
    hfsplus: fix oops on mount with corrupted btree extent records
    hfsplus: fix rename over directories
    hfsplus: convert tree_lock to mutex
    hfsplus: add missing extent locking in hfsplus_write_inode
    hfsplus: protect readdir against removals from open_dir_list
    hfsplus: use atomic bitops for the superblock flags
    hfsplus: add per-superblock lock for volume header updates
    hfsplus: remove the rsrc_inodes list
    hfsplus: do not cache and write next_alloc
    hfsplus: fix error handling in hfsplus_symlink
    hfsplus: merge mknod/mkdir/creat
    hfsplus: clean up hfsplus_write_inode
    ...

    Linus Torvalds
     

21 Oct, 2010

14 commits


20 Oct, 2010

1 commit


19 Oct, 2010

1 commit


18 Oct, 2010

1 commit


17 Oct, 2010

1 commit


16 Oct, 2010

3 commits


15 Oct, 2010

4 commits

  • We need to support -EOPNOTSUPP for attributes that are not supported to
    match other filesystems and allow userspace to detect if Posix ACLs
    are supported or not. setxattr already gets this right.

    Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     
  • If you build aout support as a module, you'll want these exported.

    Reported-by: Tetsuo Handa
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Tony Luck reports that the addition of the access_ok() check in commit
    0eead9ab41da ("Don't dump task struct in a.out core-dumps") broke the
    ia64 compile due to missing the necessary header file includes.

    Rather than add yet another include () to make everything
    happy, just uninline the silly core dump helper functions and move the
    bodies to fs/exec.c where they make a lot more sense.

    dump_seek() in particular was too big to be an inline function anyway,
    and none of them are in any way performance-critical. And we really
    don't need to mess up our include file headers more than they already
    are.

    Reported-and-tested-by: Tony Luck
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • akiphie points out that a.out core-dumps have that odd task struct
    dumping that was never used and was never really a good idea (it goes
    back into the mists of history, probably the original core-dumping
    code). Just remove it.

    Also do the access_ok() check on dump_write(). It probably doesn't
    matter (since normal filesystems all seem to do it anyway), but he
    points out that it's normally done by the VFS layer, so ...

    [ I suspect that we should possibly do "vfs_write()" instead of
    calling ->write directly. That also does the whole fsnotify and write
    statistics thing, which may or may not be a good idea. ]

    And just to be anal, do this all for the x86-64 32-bit a.out emulation
    code too, even though it's not enabled (and won't currently even
    compile)

    Reported-by: akiphie
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

14 Oct, 2010

8 commits

  • Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     
  • Make sure the initial insertation of the catalog entry already contains
    the device number by calling init_special_inode early and setting writing
    out the dev field of the on-disk permission structure. The latter is
    facilitated by sharing the almost identical hfsplus_set_perms helpers
    between initial catalog entry creating and ->write_inode.

    Unless we crashed just after mknod this bug was harmless as the inode
    is marked dirty at the end of hfsplus_mknod, and hfsplus_write_inode
    will update the catalog entry to contain the correct value.

    Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     
  • The rootflags field in hfsplus_inode_info only caches the immutable and
    append-only flags in the VFS inode, so we can easily get rid of it.

    Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     
  • HFS implements hardlink by using indirect catalog entries that refer to a hidden
    directly. The link target is cached in the dev field in the HFS+ specific
    inode, which is also used for the device number for device files, and inside
    for passing the nlink value of the indirect node from hfsplus_cat_write_inode
    to a helper function. Now if we happen to write out the indirect node while
    hfsplus_link is creating the catalog entry we'll get a link pointing to the
    linkid of the current nlink value. This can easily be reproduced by a large
    enough loop of local git-clone operations.

    Stop abusing the dev field in the HFS+ inode for short term storage by
    refactoring the way the permission structure in the catalog entry is
    set up, and rename the dev field to linkid to avoid any confusion.

    While we're at it also prevent creating hard links to special files, as
    the HFS+ dev and linkid share the same space in the on-disk structure.

    Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     
  • Signed-off-by: Christoph Hellwig

    Christoph Hellwig
     
  • hfs seems prone to bad things when it encounters on disk corruption. Many
    values are read from disk, and used as lengths to memcpy, as an example.
    This patch fixes up several of these problematic cases.

    o sanity check the on-disk maximum key lengths on mount
    (these are set to a defined value at mkfs time and shouldn't differ)
    o check on-disk node keylens against the maximum key length for each tree
    o fix hfs_btree_open so that going out via free_tree: doesn't wind
    up in hfs_releasepage, which wants to follow the very pointer
    we were trying to set up:
    HFS_SB(sb)->cat_tree = hfs_btree_open()
    .
    failure gets to hfs_releasepage and tries to follow HFS_SB(sb)->cat_tree

    Tested with the fsfuzzer; it survives more than it used to.

    [hch: ported of commit cf0594625083111ae522496dc1c256f7476939c2 from hfs]
    [hch: added the fixes from 5581d018ed3493d226e7a4d645d9c8a5af6c36b]

    Signed-off-by: Eric Sandeen
    Signed-off-by: Christoph Hellwig

    Eric Sandeen
     
  • oops and fs corruption; the latter can happen even on valid fs in case of oom.

    [hch: port of commit 3d10a15d6919488204bdb264050d156ced20d9aa from hfs]

    Signed-off-by: Al Viro
    Signed-off-by: Christoph Hellwig

    Al Viro
     
  • A particular fsfuzzer run caused an hfs file system to crash on mount. This
    is due to a corrupted MDB extent record causing a miscalculation of
    HFSPLUS_I(inode)->first_blocks for the extent tree. If the extent records
    are zereod out, then it won't trigger the first_blocks special case and
    instead falls through to the extent code, which we're in the middle
    of initializing.

    This patch catches the 0 size extent records, reports the corruption,
    and fails the mount.

    [hch: ported of commit 47f365eb575735c6b2edf5d08e0d16d26a9c23bd from hfs]

    Reported-by: Ramon de Carvalho Valle
    Signed-off-by: Jeff Mahoney
    Signed-off-by: Christoph Hellwig

    Jeff Mahoney