1. 10 1月, 2009 6 次提交
    • T
      filesystem freeze: add error handling of write_super_lockfs/unlockfs · c4be0c1d
      Takashi Sato 提交于
      Currently, ext3 in mainline Linux doesn't have the freeze feature which
      suspends write requests.  So, we cannot take a backup which keeps the
      filesystem's consistency with the storage device's features (snapshot and
      replication) while it is mounted.
      
      In many case, a commercial filesystem (e.g.  VxFS) has the freeze feature
      and it would be used to get the consistent backup.
      
      If Linux's standard filesystem ext3 has the freeze feature, we can do it
      without a commercial filesystem.
      
      So I have implemented the ioctls of the freeze feature.
      I think we can take the consistent backup with the following steps.
      1. Freeze the filesystem with the freeze ioctl.
      2. Separate the replication volume or create the snapshot
         with the storage device's feature.
      3. Unfreeze the filesystem with the unfreeze ioctl.
      4. Take the backup from the separated replication volume
         or the snapshot.
      
      This patch:
      
      VFS:
      Changed the type of write_super_lockfs and unlockfs from "void"
      to "int" so that they can return an error.
      Rename write_super_lockfs and unlockfs of the super block operation
      freeze_fs and unfreeze_fs to avoid a confusion.
      
      ext3, ext4, xfs, gfs2, jfs:
      Changed the type of write_super_lockfs and unlockfs from "void"
      to "int" so that write_super_lockfs returns an error if needed,
      and unlockfs always returns 0.
      
      reiserfs:
      Changed the type of write_super_lockfs and unlockfs from "void"
      to "int" so that they always return 0 (success) to keep a current behavior.
      Signed-off-by: NTakashi Sato <t-sato@yk.jp.nec.com>
      Signed-off-by: NMasayuki Hamaguchi <m-hamaguchi@ys.jp.nec.com>
      Cc: <xfs-masters@oss.sgi.com>
      Cc: <linux-ext4@vger.kernel.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Dave Kleikamp <shaggy@austin.ibm.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Alasdair G Kergon <agk@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c4be0c1d
    • D
      CORE_DUMP_DEFAULT_ELF_HEADERS depends on ELF_CORE · 2d96d105
      David Brownell 提交于
      Kernels that don't support ELF coredumps at all surely can't be supporting
      new partial-segment flavored ELF coredumps ...  don't make folk answer
      Kconfig questions about that flavor.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Acked-by: NRoland McGrath <roland@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2d96d105
    • A
      partial revert of asynchronous inode delete · b32714ba
      Arjan van de Ven 提交于
      let the core of this one bake in -next as well, but leave
      some of the infrastructure in place.
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      b32714ba
    • A
      [JFFS2] remove junk prototypes · ab5610b4
      Artem Bityutskiy 提交于
      'rb_prev()', 'rb_next()' and 'rb_replace_node()' are declared in
      include/linux/rbtree.h, no need for JFFS2 to re-declare them. I
      believe these are left-overs from the old days when the common
      RB tree code did not have those call and JFFS2 had private
      implementation.
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      ab5610b4
    • N
      block: fix bug in ptbl lookup cache · 54b0d127
      Neil Brown 提交于
      Neil writes:
      
         Hi Jens,
      
          I've found a little bug for you.  It was introduced by
              a6f23657
      
              block: add one-hit cache for disk partition lookup
      
          and has the effect of killing my machine whenever I try to assemble
          an md array :-(
          One of the devices in the array has partitions, and mdadm always
          deletes partitions before putting a whole-device in an array (as it
          can cause confusion).  The next IO to that device locks the machine.
          I don't really understand exactly why it locks up, but it happens in
          disk_map_sector_rcu().  This patch fixes it.
      
      Which is due to a missing clear of the (now) stale partition lookup
      data. So clear that when we delete a partition.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      54b0d127
    • C
      Btrfs: explicitly mark the tree log root for writeback · e293e97e
      Chris Mason 提交于
      Each subvolume has an extent_state_tree used to mark metadata
      that needs to be sent to disk while syncing the tree.  This is
      used in addition to the dirty bits on the pages themselves so that
      a single subvolume can be sent to disk efficiently in disk order.
      
      Normally this marking happens in btrfs_alloc_free_block, which also does
      special recording of dirty tree blocks for the tree log roots.
      
      Yan Zheng noticed that when the root of the log tree is allocated, it is added
      to the wrong writeback list.  The fix used here is to explicitly set
      it dirty as part of tree log creation.
      Signed-off-by: NChris Mason <chris.mason@oracle.com>
      e293e97e
  2. 09 1月, 2009 22 次提交
  3. 08 1月, 2009 12 次提交