An error occurred fetching the project authors.
  1. 20 Oct, 2004 1 commit
  2. 19 Oct, 2004 1 commit
  3. 14 Sep, 2004 1 commit
  4. 27 Aug, 2004 1 commit
    • Neil Brown's avatar
      [PATCH] md: fix problems with checksum handling in MD superblocks. · e50873c0
      Neil Brown authored
      md currently uses csum_partial to calculate checksums for superblocks.
      However this function is not consistent across all architectures.  Some
      (i386) to a 32bit csum.  Some (alpha) do a 16 bit csum.  This makes it hard
      for userspace to keep up.
      
      So we provide a generic routine (that does exactly what the i386
      csum_partial does) and:
      
      - When setting the csum, use csum_partial so that old kernels will still
        recognise the superblock
      
      - When checking the csum, allow either csum_partial or the new generic
        code to provide the right csum.  This allows user-space to just use the
        common code and always work.
      
      Also modify the csum for version-1 superblock (which currently aren't being
      used) to always user a predictable checksum algorithm.
      
      Thanks to Mike Tran <mhtran@us.ibm.com> for noticing this.
      Signed-off-by: default avatarNeil Brown <neilb@cse.unsw.edu.au>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e50873c0
  5. 24 Aug, 2004 3 commits
  6. 23 Aug, 2004 1 commit
  7. 05 Jun, 2004 5 commits
  8. 03 Jun, 2004 1 commit
  9. 01 Jun, 2004 1 commit
  10. 19 Apr, 2004 1 commit
    • Andrew Morton's avatar
      [PATCH] Rename PF_IOTHREAD to PF_NOFREEZE · ef29bf03
      Andrew Morton authored
      From: Nigel Cunningham <ncunningham@users.sourceforge.net>
      
      A few weeks ago, Pavel and I agreed that PF_IOTHREAD should be renamed to
      PF_NOFREEZE.  This reflects the fact that some threads so marked aren't
      actually used for IO while suspending, but simply shouldn't be frozen.
      This patch, against 2.6.5 vanilla, applies that change.  In the
      refrigerator calls, the actual value doesn't matter (so long as it's
      non-zero) and it makes more sense to use PF_FREEZE so I've used that.
      ef29bf03
  11. 12 Apr, 2004 2 commits
    • Andrew Morton's avatar
      [PATCH] unplugging: md update · 66db15b4
      Andrew Morton authored
      From: Neil Brown <neilb@cse.unsw.edu.au>
      
      I've made a bunch of changes to the 'md' bits - largely moving the
      unplugging into the individual personalities which know more about which
      drives are actually in use.
      66db15b4
    • Andrew Morton's avatar
      [PATCH] per-backing dev unplugging · 6d27f67b
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>,
            Chris Mason,
            me, others.
      
      The global unplug list causes horrid spinlock contention on many-disk
      many-CPU setups - throughput is worse than halved.
      
      The other problem with the global unplugging is of course that it will cause
      the unplugging of queues which are unrelated to the I/O upon which the caller
      is about to wait.
      
      So what we do to solve these problems is to remove the global unplug and set
      up the infrastructure under which the VFS can tell the block layer to unplug
      only those queues which are relevant to the page or buffer_head whcih is
      about to be waited upon.
      
      We do this via the very appropriate address_space->backing_dev_info structure.
      
      Most of the complexity is in devicemapper, MD and swapper_space, because for
      these backing devices, multiple queues may need to be unplugged to complete a
      page/buffer I/O.  In each case we ensure that data structures are in place to
      permit us to identify all the lower-level queues which contribute to the
      higher-level backing_dev_info.  Each contributing queue is told to unplug in
      response to a higher-level unplug.
      
      To simplify things in various places we also introduce the concept of a
      "synchronous BIO": it is tagged with BIO_RW_SYNC.  The block layer will
      perform an immediate unplug when it sees one of these go past.
      6d27f67b
  12. 29 Mar, 2004 1 commit
  13. 13 Mar, 2004 1 commit
  14. 26 Feb, 2004 1 commit
  15. 18 Feb, 2004 3 commits
    • Andrew Morton's avatar
      [PATCH] md: Allow partitioning of MD devices. · 1797a796
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      With this patch, md used two major numbers for arrays.
      
      One Major is number 9 with name 'md' have unpartitioned md arrays, one per
      minor number.
      
      The other Major is allocated dynamically with name 'mdp' and had on array for
      every 64 minors, allowing for upto 63 partitions.
      
      The arrays under one major are completely separate from the arrays under the
      other.
      
      The preferred name for devices with the new major are of the form:
      
        /dev/md/d1p3  # partion 3 of device 1 - minor 67
      
      When a paritioned md device is assembled, the partitions are not recognised
      until after the whole-array device is opened again.  A future version of
      mdadm will perform this open so that the need will be transparent.
      1797a796
    • Andrew Morton's avatar
      [PATCH] md: Print "deprecated" warning when START_ARRAY is used. · a2c4e506
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      The "START_ARRAY" ioctl depends on major/minor numbers (as stored in the raid
      superblock) are stable over reboots, which is increasingly untrue.
      
      There are better ways to start an array (e.g.  with mdadm) so we mark the
      ioctl as deprecated for 2.6, and will remove it in 2.7.
      a2c4e506
    • Andrew Morton's avatar
      [PATCH] Remove BDEV_RAW and friends · b23c4682
      Andrew Morton authored
      These no longer do anything.
      
      This patch changes modules API.  It was acked by Arjan@RH and Hubert@Suse.
      b23c4682
  16. 04 Feb, 2004 3 commits
  17. 23 Jan, 2004 1 commit
  18. 20 Jan, 2004 11 commits
    • Andrew Morton's avatar
      [PATCH] md: remove unneeded ifdef/endif · d8644b32
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>
      
      This #ifdef/#endif is not necessary.
      d8644b32
    • Andrew Morton's avatar
      [PATCH] md: fixes for !CONFIG_PROCFS · 42a60ad3
      Andrew Morton authored
      From: "Randy.Dunlap" <rddunlap@osdl.org>
      From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>
      
      It fixes these warnings when !CONFIG_PROC_FS:
      
      drivers/md/md.c: In function `md_geninit':
      drivers/md/md.c:3481: warning: unused variable `p'
      drivers/md/md.c: At top level:
      drivers/md/md.c:3007: warning: `md_seq_fops' defined but not used
      42a60ad3
    • Andrew Morton's avatar
      [PATCH] md: Use bd_disk->private data instead of bd_inode->u.generic_ip · 66a6ef19
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      ..to access 'mddev' from the inode pointer.  This is already set up for us.
      66a6ef19
    • Andrew Morton's avatar
      [PATCH] md: Discard the mddev_map array. · d45e66f8
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      We only need it occasionally to map unit number to mddev, and we can use a
      linear search for that.  This reduces dependance on MAX_MD_DEVS
      d45e66f8
    • Andrew Morton's avatar
      [PATCH] md: Remove the 'disks' array from md which holds the gendisk structures. · b2a0c975
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      Move the pointers into mddev.  The reduces dependance on MAX_MD_DEVS.
      b2a0c975
    • Andrew Morton's avatar
      [PATCH] md: Small fixes for timely writing of md superblocks. · 24ae7480
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      Currently a raid0 superblock is only written when the array is stopped, so a
      crash between creation and stop can lose your data.
      
      This patch marks a superblock 'dirty' at creation and forces a dirty
      superblock to be written when the array is started.
      
      Previously we would prod the per-array thread at this point, but as it avoids
      certain chores when the array is locked, and the array is locked at this
      point, that isn't guaranteed to do the right thing.  Instead we prod the
      thread whenever the array is unlocked.
      
      Finally, only write the superblock at array stop if it is needed to mark the
      array as 'clean'.  raid0 which is never dirty, doesn't need this.
      24ae7480
    • Andrew Morton's avatar
      [PATCH] md: Don't do_md_stop and array when do_md_run fails. · e770288c
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      Current code calls do_md_stop to clean up if do_md_run fails, but this is
      
      a/ not needed as do_md_run cleans up itself
      
      b/ bad as it could try to clean up after an -EBUSY error !!!
      e770288c
    • Andrew Morton's avatar
      [PATCH] md: Make sure md recovery happens appropriately. · 87d0aa2f
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      Currently if there are two failed drives, and two spares are added, then
      recovery starts onto the first spare, but never notices the second spare.  To
      cope, we set RECOVERY_NEEDED when recovery finishes so that we re-check.
      87d0aa2f
    • Andrew Morton's avatar
      [PATCH] md: Make sure an interrupted resync doesn't seem to have completed. · 5a699534
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
      If the raid1 or raid5 thread gets to run md_check_recovery after the recovery
      thread has been interupted, but before do_md_stop completes, a spare drive
      can be incorporated into an array befure it is up-to-date.
      
      This patch corrects the relevant test.
      5a699534
    • Andrew Morton's avatar
      [PATCH] md: fix return code in set_disk_faulty() · 0b3e92bc
      Andrew Morton authored
      From: NeilBrown <neilb@cse.unsw.edu.au>
      
       Following are 10 patches for md in 2.6.1-lastest.
      
       1-6 are simple bugfixes that I am confident should be in 2.6.2.
      
       7 is a bugfix that is fairly important, but could probably do with a
       bit more testing first.  It is not impossible that it could deadlock,
       though I think I have caught and fixed all the problems.
      
       8-10 are code simplication.
      
       So maybe 7-10 should only go in -mm for now, but if it is a while
       before 2.6.2, then maybe they can go in a 2.6.2-pre.
      
      From: Mike Tran <mhtran@us.ibm.com>
      
       If cannot find the device, return error (ENODEV) Otherwise, return success
       (0)
      0b3e92bc
    • Andrew Morton's avatar
      [PATCH] RAID-6 · 74ebb006
      Andrew Morton authored
      From: "H. Peter Anvin" <hpa@zytor.com>
      
      RAID6 implementation.  See Kconfig help for usage details.
      
      The next release of `mdadm' has raid6 userspace support.
      74ebb006
  19. 25 Sep, 2003 1 commit
    • Neil Brown's avatar
      [PATCH] Fix up initialisation of md devices · e9b22b65
      Neil Brown authored
      Previously, we called blk_queue_make_request(q,mddev->pers->make_request)
      *before* calling mddev->pers->run(), but this left a hole in which the
      device could be accessed before it was initialised.
      
      So we moved blk_queue_make_request to *after* ->pers->run(), but now some
      of the initialisation done in ->run is over-written by blk_queue_make_request(), 
      particularly limits like ->max_sectors.
      
      So now, we just open-code the one line of blk_queue_make_request that we
      need at this point.
      
      All the rest has been done by a separate called to blk_queue_make_request, 
      either when the mddev was first allocated, or when a previous incarnation
      of the device was stopped.
      
      This fixes "bio too big" error that occured due to max_sectors being too large.
      e9b22b65