22 May, 2010

15 commits

  • Provide a function which returns whether a transaction with given tid
    will send a barrier to the filesystem device. The function will be used
    by ext3 to detect whether fsync needs to send a separate barrier or not.

    Signed-off-by: Jan Kara

    Jan Kara
     
  • generic setattr not longer responsible for quota transfer.
    use ufs_setattr for all ufs's inodes.

    Signed-off-by: Dmitry Monakhov
    Signed-off-by: Jan Kara

    Dmitry Monakhov
     
  • The BKL is still used in ext2_put_super(), ext2_fill_super(), ext2_sync_fs()
    ext2_remount() and ext2_write_inode(). From these calls ext2_put_super(),
    ext2_fill_super() and ext2_remount() are protected against each other by
    the struct super_block s_umount rw semaphore. The call in ext2_write_inode()
    could only protect the modification of the ext2_sb_info through
    ext2_update_dynamic_rev() against concurrent ext2_sync_fs() or ext2_remount().
    ext2_fill_super() and ext2_put_super() can be left out because you need a
    valid filesystem reference in all three cases, which you do not have when
    you are one of these functions.

    If the BKL is only protecting the modification of the ext2_sb_info it can
    safely be removed since this is protected by the struct ext2_sb_info s_lock.

    Signed-off-by: Jan Blunck
    Cc: Jan Kara
    Signed-off-by: Jan Kara

    Jan Blunck
     
  • Add a spinlock that protects against concurrent modifications of
    s_mount_state, s_blocks_last, s_overhead_last and the content of the
    superblock's buffer pointed to by sbi->s_es. The spinlock is now used in
    ext2_xattr_update_super_block() which was setting the
    EXT2_FEATURE_COMPAT_EXT_ATTR flag on the superblock without protection
    before. Likewise the spinlock is used in ext2_show_options() to have a
    consistent view of the mount options.

    This is a preparation patch for removing the BKL from ext2 in the next
    patch.

    Signed-off-by: Jan Blunck
    Cc: Andi Kleen
    Cc: Jan Kara
    Cc: OGAWA Hirofumi
    Signed-off-by: Jan Kara

    Jan Blunck
     
  • Move ext2_write_super() out of ext2_setup_super() as a preparation for the
    next patch that adds a new lock for superblock fields.

    Signed-off-by: Jan Blunck
    Signed-off-by: Jan Kara

    Jan Blunck
     
  • Both function originally did similar things except that ext2_sync_super()
    is returning after the call to sync_dirty_buffer(sbh). Therefore this
    patch adds a wait flag to tell ext2_sync_super() if it has to call
    sync_dirty_buffer() to wait for in-progress I/O to finish.

    Signed-off-by: Jan Blunck
    Signed-off-by: Jan Kara

    Jan Blunck
     
  • Depending in the state (valid or unchecked) of the filesystem either
    ext2_sync_super() or ext2_commit_super() is called. If the filesystem is
    currently valid (it is checked), we first mark it unchecked and afterwards
    duplicate the work that ext2_sync_super() is doing later. Therefore this
    patch removes the duplicate code and calls ext2_sync_super() directly after
    marking the filesystem unchecked.

    Signed-off-by: Jan Blunck
    Signed-off-by: Jan Kara

    Jan Blunck
     
  • This is probably a typo since the write time should actually be updated by
    ext2_sync_fs() instead of the mount time.

    Signed-off-by: Jan Blunck
    Signed-off-by: Jan Kara

    Jan Blunck
     
  • ext2_sync_fs() used to duplicate the code from ext2_clear_super_error().

    Signed-off-by: Jan Blunck
    Signed-off-by: Jan Kara

    Jan Blunck
     
  • Currently block/inode/dir counters are initialized before journal was
    recovered. In fact after journal recovery this info will probably
    change which results in incorrect numbers returned from statfs(2).
    BUG:#15768

    Signed-off-by: Dmitry Monakhov
    Signed-off-by: Jan Kara

    Dmitry Monakhov
     
  • This patch removes a useless call to brelse(bitmap_bh) since at that
    point bitmap_bh is NULL and slightly cleans up bitmap_bh handling.

    Signed-off-by: Francis Moreau
    Signed-off-by: Jan Kara

    Francis Moreau
     
  • - Skip locking if quota is dirty already.
    - Return old quota state to help fs-specciffic implementation to optimize
    case where quota was dirty already.

    Signed-off-by: Dmitry Monakhov
    Signed-off-by: Jan Kara

    Dmitry Monakhov
     
  • There is no point in loading bitmap for groups which are completely full.
    This causes noticeable performance problems (and memory pressure) on small
    systems with large full filesystem
    (http://marc.info/?l=linux-ext4&m=126843108314310&w=2).

    Port of the same ext3 patch.

    Signed-off-by: Jan Kara

    Jan Kara
     
  • There is no point in loading bitmap for groups which are completely full.
    This causes noticeable performance problems (and memory pressure) on small
    systems with large full filesystem
    (http://marc.info/?l=linux-ext4&m=126843108314310&w=2).

    Jan Kara: Added a comment and changed check to use cpu-endian value.

    Signed-off-by: "Frans van de Wiel"
    Signed-off-by: Jan Kara

    Frans van de Wiel
     
  • The removal of the 'waitqueue_active()' test in commit d7d05548a6
    ("[SCSI] iscsi_tcp: fix relogin/shutdown hang") got incorrectly resolved
    by David when he back-merged the main git tree into the networking tree
    in commit 278554bd65 ("Merge branch 'master' of master.kernel.org:...").

    There was a content conflict due to 'sock->sk->sk_sleep' being changed
    into 'sk_sleep(sock->sk)' in the networking tree, but David didn't pick
    up the iscsi change from the main tree.

    Reported-by: James Bottomley
    Cc: David Miller
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

21 May, 2010

25 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (23 commits)
    nilfs2: disallow remount of snapshot from/to a regular mount
    nilfs2: use huge_encode_dev/huge_decode_dev
    nilfs2: update comment on deactivate_super at nilfs_get_sb
    nilfs2: replace MS_VERBOSE with MS_SILENT
    nilfs2: add missing initialization of s_mode
    nilfs2: fix misuse of open_bdev_exclusive/close_bdev_exclusive
    nilfs2: enlarge s_volume_name member in nilfs_super_block
    nilfs2: use checkpoint number instead of timestamp to select super block
    nilfs2: add missing endian conversion on super block magic number
    nilfs2: make nilfs_sc_*_ops static
    nilfs2: add kernel doc comments to persistent object allocator functions
    nilfs2: change sc_timer from a pointer to an embedded one in struct nilfs_sc_info
    nilfs2: remove nilfs_segctor_init() in segment.c
    nilfs2: insert checkpoint number in segment summary header
    nilfs2: add a print message after loading nilfs2
    nilfs2: cleanup multi kmem_cache_{create,destroy} code
    nilfs2: move out checksum routines to segment buffer code
    nilfs2: move pointer to super root block into logs
    nilfs2: change default of 'errors' mount option to 'remount-ro' mode
    nilfs2: Combine nilfs_btree_release_path() and nilfs_btree_free_path()
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:
    GFS2: Fix typo
    GFS2: stuck in inode wait, no glocks stuck
    GFS2: Eliminate useless err variable
    GFS2: Fix writing to non-page aligned gfs2_quota structures
    GFS2: Add some useful messages
    GFS2: fix quota state reporting
    GFS2: Various gfs2_logd improvements
    GFS2: glock livelock
    GFS2: Clean up stuffed file copying
    GFS2: docs update
    GFS2: Remove space from slab cache name

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
    dlm: fix ast ordering for user locks
    dlm: cleanup remove unused code

    Linus Torvalds
     
  • * git://git.infradead.org/mtd-2.6: (154 commits)
    mtd: cfi_cmdset_0002: use AMD standard command-set with Winbond flash chips
    mtd: cfi_cmdset_0002: Fix MODULE_ALIAS and linkage for new 0701 commandset ID
    mtd: mxc_nand: Remove duplicate NAND_CMD_RESET case value
    mtd: update gfp/slab.h includes
    jffs2: Stop triggering block erases from jffs2_write_super()
    jffs2: Rename jffs2_erase_pending_trigger() to jffs2_dirty_trigger()
    jffs2: Use jffs2_garbage_collect_trigger() to trigger pending erases
    jffs2: Require jffs2_garbage_collect_trigger() to be called with lock held
    jffs2: Wake GC thread when there are blocks to be erased
    jffs2: Erase pending blocks in GC pass, avoid invalid -EIO return
    jffs2: Add 'work_done' return value from jffs2_erase_pending_blocks()
    mtd: mtdchar: Do not corrupt backing device of device node inode
    mtd/maps/pcmciamtd: Fix printk format for ssize_t in debug messages
    drivers/mtd: Use kmemdup
    mtd: cfi_cmdset_0002: Fix argument order in bootloc warning
    mtd: nand: add Toshiba TC58NVG0 device ID
    pcmciamtd: add another ID
    pcmciamtd: coding style cleanups
    pcmciamtd: fixing obvious errors
    mtd: chips: add SST39WF160x NOR-flashes
    ...

    Trivial conflicts due to dev_node removal in drivers/mtd/maps/pcmciamtd.c

    Linus Torvalds
     
  • * 'linux-next' of git://git.infradead.org/ubi-2.6:
    UBI: misc comment fixes
    UBI: fix s/then/than/ typos
    UBI: init even if MTD device cannot be attached, if built into kernel
    UBI: remove reboot notifier

    Linus Torvalds
     
  • * 'linux-next' of git://git.infradead.org/ubifs-2.6:
    UBIFS: mark VFS SB RO too

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs: (54 commits)
    xfs: mark xfs_iomap_write_ helpers static
    xfs: clean up end index calculation in xfs_page_state_convert
    xfs: clean up mapping size calculation in __xfs_get_blocks
    xfs: clean up xfs_iomap_valid
    xfs: move I/O type flags into xfs_aops.c
    xfs: kill struct xfs_iomap
    xfs: report iomap_bn in block base
    xfs: report iomap_offset and iomap_bsize in block base
    xfs: remove iomap_delta
    xfs: remove iomap_target
    xfs: limit xfs_imap_to_bmap to a single mapping
    xfs: simplify buffer to transaction matching
    xfs: Make fiemap work in query mode.
    xfs: kill off l_sectbb_mask
    xfs: record log sector size rather than log2(that)
    xfs: remove dead XFS_LOUD_RECOVERY code
    xfs: removed unused XFS_QMOPT_ flags
    xfs: remove a few macro indirections in the quota code
    xfs: access quotainfo structure directly
    xfs: wait for direct I/O to complete in fsync and write_inode
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (47 commits)
    ocfs2: Silence a gcc warning.
    ocfs2: Don't retry xattr set in case value extension fails.
    ocfs2:dlm: avoid dlm->ast_lock lockres->spinlock dependency break
    ocfs2: Reset xattr value size after xa_cleanup_value_truncate().
    fs/ocfs2/dlm: Use kstrdup
    fs/ocfs2/dlm: Drop memory allocation cast
    Ocfs2: Optimize punching-hole code.
    Ocfs2: Make ocfs2_find_cpos_for_left_leaf() public.
    Ocfs2: Fix hole punching to correctly do CoW during cluster zeroing.
    Ocfs2: Optimize ocfs2 truncate to use ocfs2_remove_btree_range() instead.
    ocfs2: Block signals for mkdir/link/symlink/O_CREAT.
    ocfs2: Wrap signal blocking in void functions.
    ocfs2/dlm: Increase o2dlm lockres hash size
    ocfs2: Make ocfs2_extend_trans() really extend.
    ocfs2/trivial: Code cleanup for allocation reservation.
    ocfs2: make ocfs2_adjust_resv_from_alloc simple.
    ocfs2: Make nointr a default mount option
    ocfs2/dlm: Make o2dlm domain join/leave messages KERN_NOTICE
    o2net: log socket state changes
    ocfs2: print node # when tcp fails
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (182 commits)
    [SCSI] aacraid: add an ifdef'd device delete case instead of taking the device offline
    [SCSI] aacraid: prohibit access to array container space
    [SCSI] aacraid: add support for handling ATA pass-through commands.
    [SCSI] aacraid: expose physical devices for models with newer firmware
    [SCSI] aacraid: respond automatically to volumes added by config tool
    [SCSI] fcoe: fix fcoe module ref counting
    [SCSI] libfcoe: FIP Keep-Alive messages for VPorts are sent with incorrect port_id and wwn
    [SCSI] libfcoe: Fix incorrect MAC address clearing
    [SCSI] fcoe: fix a circular locking issue with rtnl and sysfs mutex
    [SCSI] libfc: Move the port_id into lport
    [SCSI] fcoe: move link speed checking into its own routine
    [SCSI] libfc: Remove extra pointer check
    [SCSI] libfc: Remove unused fc_get_host_port_type
    [SCSI] fcoe: fixes wrong error exit in fcoe_create
    [SCSI] libfc: set seq_id for incoming sequence
    [SCSI] qla2xxx: Updates to ISP82xx support.
    [SCSI] qla2xxx: Optionally disable target reset.
    [SCSI] qla2xxx: ensure flash operation and host reset via sg_reset are mutually exclusive
    [SCSI] qla2xxx: Silence bogus warning by gcc for wrap and did.
    [SCSI] qla2xxx: T10 DIF support added.
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits)
    USB: remove unused usb_buffer_alloc and usb_buffer_free macros
    usb: musb: update gfp/slab.h includes
    USB: ftdi_sio: fix legacy SIO-device header
    USB: kl5usb105: reimplement using generic framework
    USB: kl5usb105: minor clean ups
    USB: kl5usb105: fix memory leak
    USB: io_ti: use kfifo to implement write buffering
    USB: io_ti: remove unsused private counter
    USB: ti_usb: use kfifo to implement write buffering
    USB: ir-usb: fix incorrect write-buffer length
    USB: aircable: fix incorrect write-buffer length
    USB: safe_serial: straighten out read processing
    USB: safe_serial: reimplement read using generic framework
    USB: safe_serial: reimplement write using generic framework
    usb-storage: always print quirks
    USB: usb-storage: trivial debug improvements
    USB: oti6858: use port write fifo
    USB: oti6858: use kfifo to implement write buffering
    USB: cypress_m8: use kfifo to implement write buffering
    USB: cypress_m8: remove unused drain define
    ...

    Fix up conflicts (due to usb_buffer_alloc/free renaming) in
    drivers/input/tablet/acecad.c
    drivers/input/tablet/kbtab.c
    drivers/input/tablet/wacom_sys.c
    drivers/media/video/gspca/gspca.c
    sound/usb/usbaudio.c

    Linus Torvalds
     
  • This is needed before the USB merge.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1674 commits)
    qlcnic: adding co maintainer
    ixgbe: add support for active DA cables
    ixgbe: dcb, do not tag tc_prio_control frames
    ixgbe: fix ixgbe_tx_is_paused logic
    ixgbe: always enable vlan strip/insert when DCB is enabled
    ixgbe: remove some redundant code in setting FCoE FIP filter
    ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp
    ixgbe: fix header len when unsplit packet overflows to data buffer
    ipv6: Never schedule DAD timer on dead address
    ipv6: Use POSTDAD state
    ipv6: Use state_lock to protect ifa state
    ipv6: Replace inet6_ifaddr->dead with state
    cxgb4: notify upper drivers if the device is already up when they load
    cxgb4: keep interrupts available when the ports are brought down
    cxgb4: fix initial addition of MAC address
    cnic: Return SPQ credit to bnx2x after ring setup and shutdown.
    cnic: Convert cnic_local_flags to atomic ops.
    can: Fix SJA1000 command register writes on SMP systems
    bridge: fix build for CONFIG_SYSFS disabled
    ARCNET: Limit com20020 PCI ID matches for SOHARD cards
    ...

    Fix up various conflicts with pcmcia tree drivers/net/
    {pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and
    wireless/orinoco/spectrum_cs.c} and feature removal
    (Documentation/feature-removal-schedule.txt).

    Also fix a non-content conflict due to pm_qos_requirement getting
    renamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c

    Linus Torvalds
     
  • * 'docs-next' of git://git.lwn.net/linux-2.6:
    Add a document describing the padata interface

    Linus Torvalds
     
  • * 'viafb-next' of git://git.lwn.net/linux-2.6: (35 commits)
    viafb: move some include files to include/linux
    viafb: Eliminate some global.h references
    viafb: get rid of i2c debug cruft
    viafb: fold via_io.h into via-core.h
    viafb: Fix initialization error paths
    viafb: Do not remove gpiochip under spinlock
    viafb: make procfs entries optional
    viafb: fix proc entry removal
    viafb: improve misc register handling
    viafb: replace inb/outb
    viafb: move some modesetting functions to a seperate file
    viafb: unify modesetting functions
    viafb: Reserve framebuffer memory for the upcoming camera driver
    viafb: Add a simple VX855 DMA engine driver
    viafb: Add a simple interrupt management infrastructure
    via: Rationalize vt1636 detection
    viafb: Introduce viafb_find_i2c_adapter()
    via: Do not attempt I/O on inactive I2C adapters
    viafb: Turn GPIO and i2c into proper platform devices
    viafb: Convert GPIO and i2c to the new indexed port ops
    ...

    Linus Torvalds
     
  • Now that all callers are converted over, remove the compatibility
    functions and all is good.

    Cc: Daniel Mack
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Implicit slab.h inclusion via percpu.h is about to go away. Make sure
    gfp.h or slab.h is included as necessary.

    Signed-off-by: Tejun Heo
    Cc: Stephen Rothwell
    Signed-off-by: Greg Kroah-Hartman

    Tejun Heo
     
  • Length field of header was incorrectly set to available payload space
    rather than the actual payload size.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Kill custom read and write implementations (static per-port,
    singleton(!) urb pool).

    Also remove changelog header (can be retrieved through git).

    Read processing and write-buffer handling tested using a cp210x device
    in a loopback setup.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Whitespace changes and some removed comments.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Private data was not freed on error path in startup.

    Cc: stable
    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Kill custom fifo implementation.

    Compile-only tested.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Kill custom fifo implementation.

    Compile-only tested.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Returned length should include header length.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     
  • Returned length should include header length.

    Signed-off-by: Johan Hovold
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold