1. 21 May, 2010 29 commits
    • 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
  2. 20 May, 2010 11 commits