• Linus Torvalds's avatar
    Merge tag 'md/4.4' of git://neil.brown.name/md · ac322de6
    Linus Torvalds authored
    Pull md updates from Neil Brown:
     "Two major components to this update.
    
       1) The clustered-raid1 support from SUSE is nearly complete.  There
          are a few outstanding issues being worked on.  Maybe half a dozen
          patches will bring this to a usable state.
    
       2) The first stage of journalled-raid5 support from Facebook makes an
          appearance.  With a journal device configured (typically NVRAM or
          SSD), the "RAID5 write hole" should be closed - a crash during
          degraded operations cannot result in data corruption.
    
          The next stage will be to use the journal as a write-behind cache
          so that latency can be reduced and in some cases throughput
          increased by performing more full-stripe writes.
    
    * tag 'md/4.4' of git://neil.brown.name/md: (66 commits)
      MD: when RAID journal is missing/faulty, block RESTART_ARRAY_RW
      MD: set journal disk ->raid_disk
      MD: kick out journal disk if it's not fresh
      raid5-cache: start raid5 readonly if journal is missing
      MD: add new bit to indicate raid array with journal
      raid5-cache: IO error handling
      raid5: journal disk can't be removed
      raid5-cache: add trim support for log
      MD: fix info output for journal disk
      raid5-cache: use bio chaining
      raid5-cache: small log->seq cleanup
      raid5-cache: new helper: r5_reserve_log_entry
      raid5-cache: inline r5l_alloc_io_unit into r5l_new_meta
      raid5-cache: take rdev->data_offset into account early on
      raid5-cache: refactor bio allocation
      raid5-cache: clean up r5l_get_meta
      raid5-cache: simplify state machine when caches flushes are not needed
      raid5-cache: factor out a helper to run all stripes for an I/O unit
      raid5-cache: rename flushed_ios to finished_ios
      raid5-cache: free I/O units earlier
      ...
    ac322de6
raid5.c 223 KB