1. 21 May, 2010 40 commits
    • Jan Kara's avatar
      ocfs2: Fix lock inversion in quotas during umount · c06bcbfa
      Jan Kara authored
      We cannot cancel delayed work from ocfs2_local_free_info because that is called
      with dqonoff_mutex held and the work it cancels requires dqonoff_mutex to
      finish. Cancel the work before acquiring dqonoff_mutex.
      Acked-by: default avatarJoel Becker <Joel.Becker@oracle.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      c06bcbfa
    • Jan Kara's avatar
      ocfs2: Use __dquot_transfer to avoid lock inversion · 52a9ee28
      Jan Kara authored
      dquot_transfer() acquires own references to dquots via dqget(). Thus it waits
      for dq_lock which creates a lock inversion because dq_lock ranks above
      transaction start but transaction is already started in ocfs2_setattr(). Fix
      the problem by passing own references directly to __dquot_transfer.
      Acked-by: default avatarJoel Becker <Joel.Becker@oracle.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      52a9ee28
    • Jan Kara's avatar
      ocfs2: Fix NULL pointer deref when writing local dquot · 741e1289
      Jan Kara authored
      commit_dqblk() can write quota info to global file. That is actually a bad
      thing to do because if we are just modifying local quota file, we are not
      prepared (do not hold proper locks, do not have transaction credits) to do
      a modification of the global quota file. So do not use commit_dqblk() and
      instead call our writing function directly.
      Acked-by: default avatarJoel Becker <Joel.Becker@oracle.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      741e1289
    • Jan Kara's avatar
      ocfs2: Fix estimate of credits needed for quota allocation · 832d09cf
      Jan Kara authored
      We were missing reservation of a journal credit for modification of quota
      file inode when creating new dquot structure in the global quota file.
      Acked-by: default avatarJoel Becker <Joel.Becker@oracle.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      832d09cf
    • Jan Kara's avatar
      ocfs2: Fix quota locking · fb8dd8d7
      Jan Kara authored
      OCFS2 had three issues with quota locking:
      a) When reading dquot from global quota file, we started a transaction while
         holding dqio_mutex which is prone to deadlocks because other paths do it
         the other way around
      b) During ocfs2_sync_dquot we were not protected against concurrent writers
         on the same node. Because we first copy data to local buffer, a race
         could happen resulting in old data being written to global quota file and
         thus causing quota inconsistency after a crash.
      c) ip_alloc_sem of quota files was acquired while a transaction is started
         in ocfs2_quota_write which can deadlock because we first get ip_alloc_sem
         and then start a transaction when extending quota files.
      
      We fix the problem a) by pulling all necessary code to ocfs2_acquire_dquot
      and ocfs2_release_dquot. Thus we no longer depend on generic dquot_acquire
      to do the locking and can force proper lock ordering.
      
      Problems b) and c) are fixed by locking i_mutex and ip_alloc_sem of
      global quota file in ocfs2_lock_global_qf and removing ip_alloc_sem from
      ocfs2_quota_read and ocfs2_quota_write.
      Acked-by: default avatarJoel Becker <Joel.Becker@oracle.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      fb8dd8d7
    • Jan Kara's avatar
      ocfs2: Avoid unnecessary block mapping when refreshing quota info · ae4f6ef1
      Jan Kara authored
      The position of global quota file info does not change. So we do not have
      to do logical -> physical block translation every time we reread it from
      disk. Thus we can also avoid taking ip_alloc_sem.
      Acked-by: default avatarJoel Becker <Joel.Becker@oracle.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      ae4f6ef1
    • Jan Kara's avatar
      ocfs2: Do not map blocks from local quota file on each write · f64dd44e
      Jan Kara authored
      There is no need to map offset of local dquot structure to on disk block
      in each quota write. It is enough to map it just once and store the physical
      block number in quota structure in memory. Moreover this simplifies locking
      as we do not have to take ip_alloc_sem from quota write path.
      Acked-by: default avatarJoel Becker <Joel.Becker@oracle.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      f64dd44e
    • Jan Kara's avatar
      quota: Refactor dquot_transfer code so that OCFS2 can pass in its references · bc8e5f07
      Jan Kara authored
      Currently, __dquot_transfer() acquires its own references of dquot structures
      that will be put into inode. But for OCFS2, this creates a lock inversion
      between dq_lock (waited on in dqget) and transaction start (started in
      ocfs2_setattr). Currently, deadlock is impossible because dq_lock is acquired
      only during dquot_acquire and dquot_release and we already hold a reference to
      dquot structures in ocfs2_setattr so neither of these functions can be called
      while we call dquot_transfer. But this is rather subtle and it is hard to teach
      lockdep about it. So provide __dquot_transfer function that can be passed dquot
      references directly. OCFS2 can then pass acquired dquot references directly to
      __dquot_transfer with proper locking.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      bc8e5f07
    • Dmitry Monakhov's avatar
      quota: unify quota init condition in setattr · 12755627
      Dmitry Monakhov authored
      Quota must being initialized if size or uid/git changes requested.
      But initialization performed in two different places:
      in case of i_size file system is responsible for dquot init
      , but in case of uid/gid init will be called internally in
      dquot_transfer().
      This ambiguity makes code harder to understand.
      Let's move this logic to one common helper function.
      Signed-off-by: default avatarDmitry Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      12755627
    • Christoph Hellwig's avatar
      quota: remove sb_has_quota_active in get/set_info · fcbc59f9
      Christoph Hellwig authored
      The methods already do these checks, so remove them in the quotactl
      implementation to allow non-VFS quota implementations to also support
      these calls.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      fcbc59f9
    • Christoph Hellwig's avatar
      quota: unify ->set_dqblk · c472b432
      Christoph Hellwig authored
      Pass the larger struct fs_disk_quota to the ->set_dqblk operation so
      that the Q_SETQUOTA and Q_XSETQUOTA operations can be implemented
      with a single filesystem operation and we can retire the ->set_xquota
      operation.  The additional information (RT-subvolume accounting and
      warn counts) are left zero for the VFS quota implementation.
      
      Add new fieldmask values for setting the numer of blocks and inodes
      values which is required for the VFS quota, but wasn't for XFS.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      c472b432
    • Christoph Hellwig's avatar
      quota: unify ->get_dqblk · b9b2dd36
      Christoph Hellwig authored
      Pass the larger struct fs_disk_quota to the ->get_dqblk operation so
      that the Q_GETQUOTA and Q_XGETQUOTA operations can be implemented
      with a single filesystem operation and we can retire the ->get_xquota
      operation.  The additional information (RT-subvolume accounting and
      warn counts) are left zero for the VFS quota implementation.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      b9b2dd36
    • Eric Sandeen's avatar
      ext3: make barrier options consistent with ext4 · 0636c73e
      Eric Sandeen authored
      ext4 was updated to accept barrier/nobarrier mount options
      in addition to the older barrier=0/1.  The barrier story
      is complex enough, we should help people by making the options
      the same at least, even if the defaults are different.
      
      This patch allows the barrier/nobarrier mount options for ext3,
      while keeping nobarrier the default.
      
      It also unconditionally displays barrier status in show_options,
      and prints a message at mount time if barriers are not enabled,
      just as ext4 does.
      Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      0636c73e
    • Dmitry Monakhov's avatar
      quota: Make quota stat accounting lockless. · dde95888
      Dmitry Monakhov authored
      Quota stats is mostly writable data structure. Let's alloc percpu
      bucket for each value.
      
      NOTE: dqstats_read() function is racy against dqstats_{inc,dec}
      and may return inconsistent value. But this is ok since absolute
      accuracy is not required.
      Signed-off-by: default avatarDmitry Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      dde95888
    • Sergey Senozhatsky's avatar
      suppress warning: "quotatypes" defined but not used · da8d1ba2
      Sergey Senozhatsky authored
      Suppress compilation warning: "quotatypes" defined but not used.
      quotatypes is used only when CONFIG_QUOTA_DEBUG or CONFIG_PRINT_QUOTA_WARNING
      is/are defined.
      Signed-off-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      da8d1ba2
    • Jan Kara's avatar
      ext3: Fix waiting on transaction during fsync · 52779708
      Jan Kara authored
      log_start_commit() returns 1 only when it started a transaction
      commit. Thus in case transaction commit is already running, we
      fail to wait for the commit to finish. Fix the issue by always
      waiting for the commit regardless of the log_start_commit return
      value.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      52779708
    • Jan Kara's avatar
      jbd: Provide function to check whether transaction will issue data barrier · 03f4d804
      Jan Kara authored
      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: default avatarJan Kara <jack@suse.cz>
      03f4d804
    • Dmitry Monakhov's avatar
      ufs: add ufs speciffic ->setattr call · 311b9549
      Dmitry Monakhov authored
      generic setattr not longer responsible for quota transfer.
      use ufs_setattr for all ufs's inodes.
      Signed-off-by: default avatarDmitry Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      311b9549
    • Jan Blunck's avatar
      BKL: Remove BKL from ext2 filesystem · e0a5cbac
      Jan Blunck authored
      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: default avatarJan Blunck <jblunck@suse.de>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      e0a5cbac
    • Jan Blunck's avatar
      ext2: Add ext2_sb_info s_lock spinlock · c15271f4
      Jan Blunck authored
      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: default avatarJan Blunck <jblunck@suse.de>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      c15271f4
    • Jan Blunck's avatar
      ext2: Move ext2_write_super() out of ext2_setup_super() · 4c96a68b
      Jan Blunck authored
      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: default avatarJan Blunck <jblunck@suse.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      4c96a68b
    • Jan Blunck's avatar
      ext2: Fold ext2_commit_super() into ext2_sync_super() · ee6921eb
      Jan Blunck authored
      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: default avatarJan Blunck <jblunck@suse.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      ee6921eb
    • Jan Blunck's avatar
      ext2: Remove duplicate code from ext2_sync_fs() · 20da9baf
      Jan Blunck authored
      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: default avatarJan Blunck <jblunck@suse.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      20da9baf
    • Jan Blunck's avatar
      ext2: Set the write time in ext2_sync_fs() · 269c8db3
      Jan Blunck authored
      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: default avatarJan Blunck <jblunck@suse.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      269c8db3
    • Jan Blunck's avatar
      ext2: Use ext2_clear_super_error() in ext2_sync_fs() · 2b8120ef
      Jan Blunck authored
      ext2_sync_fs() used to duplicate the code from ext2_clear_super_error().
      Signed-off-by: default avatarJan Blunck <jblunck@suse.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      2b8120ef
    • Dmitry Monakhov's avatar
      ext3: init statistics after journal recovery v2 · 41d1a636
      Dmitry Monakhov authored
      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: default avatarDmitry Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      41d1a636
    • Francis Moreau's avatar
      ext2: remove useless call to brelse() in ext2_free_inode() · 524e4a1d
      Francis Moreau authored
      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: default avatarFrancis Moreau <francis.moro@gmail.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      524e4a1d
    • Dmitry Monakhov's avatar
      quota: optimize mark_dirty logic · eabf290d
      Dmitry Monakhov authored
      - 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: default avatarDmitry Monakhov <dmonakhov@openvz.org>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      eabf290d
    • Jan Kara's avatar
      ext2: Avoid loading bitmaps for full groups during block allocation · 46891532
      Jan Kara authored
      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: default avatarJan Kara <jack@suse.cz>
      46891532
    • Frans van de Wiel's avatar
      ext3: Avoid loading bitmaps for full groups during block allocation · 8cef107a
      Frans van de Wiel authored
      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: default avatar"Frans van de Wiel" <fvdw@fvdw.eu>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      8cef107a
    • Linus Torvalds's avatar
      Fix networking tree iscsi_tcp.c mis-merge · 70ca0a42
      Linus Torvalds authored
      The removal of the 'waitqueue_active()' test in commit d7d05548
      ("[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 278554bd ("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: default avatarJames Bottomley <James.Bottomley@suse.de>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70ca0a42
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 · d7dbf4ff
      Linus Torvalds authored
      * '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()
        ...
      d7dbf4ff
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw · 677abe49
      Linus Torvalds authored
      * 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
      677abe49
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm · e90e4d92
      Linus Torvalds authored
      * '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
      e90e4d92
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/mtd-2.6 · 05ec7dd8
      Linus Torvalds authored
      * 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
      05ec7dd8
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 · c316ba3b
      Linus Torvalds authored
      * '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
      c316ba3b
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 · 777cb1b5
      Linus Torvalds authored
      * 'linux-next' of git://git.infradead.org/ubifs-2.6:
        UBIFS: mark VFS SB RO too
      777cb1b5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · 277a4ed1
      Linus Torvalds authored
      * '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
        ...
      277a4ed1
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 · 03e62303
      Linus Torvalds authored
      * '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
        ...
      03e62303
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · 33cf23b0
      Linus Torvalds authored
      * 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.
        ...
      33cf23b0