[PATCH v6 00/11] raid5-cache: enabling cache features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



These are the 5th version of patches to enable write cache part of
raid5-cache. The journal part was released with kernel 4.4.

The caching part uses same disk format of raid456 journal, and provides
acceleration to writes. Write operations are committed (bio_endio) once
the data is secured in journal. Reconstruct and RMW are postponed to
writing-out phase, which is usually not on the critical path.

The changes are organized in 11 patches (details below).

Patch for chunk_aligned_read in earlier RFC is not included yet
(http://marc.info/?l=linux-raid&m=146432700719277). But we may still need
some optimizations later, especially for SSD raid devices.

Changes between v5 and v4 (http://marc.info/?l=linux-raid&m=147629531615172):
 1. Incorporate feedbacks;
 2. Split reclaim patch into 3 smaller patches for (hopefully) easier review;
 3. Rename different modes of a stripe to "caching" and "writing-out";
 4. Remove flag R5_WantCache;
 5. Rename flag R5_InCache to R5_InJournal;
 6. Remove flag STRIPE_R5C_WRITTEN and use R5_InJournal bit of dev[pd_idx].flags instead;
 7. Remove dev_in_cache from stripe_head;
 8. Add logic to handle alloc_page() failure in handle_stripe_dirtying();

Song Liu (11):
  md/r5cache: Check array size in r5l_init_log
  md/r5cache: move some code to raid5.h
  md/r5cache: State machine for raid5-cache write back mode
  md/r5cache: caching mode of r5cache
  md/r5cache: write-out mode and reclaim support
  md/r5cache: sysfs entry r5c_journal_mode
  md/r5cache: refactoring journal recovery code
  md/r5cache: r5cache recovery: part 1
  md/r5cache: r5cache recovery: part 2
  md/r5cache: handle SYNC and FUA
  md/r5cache: handle alloc_page failure

 drivers/md/raid5-cache.c | 1822 +++++++++++++++++++++++++++++++++++++++++-----
 drivers/md/raid5.c       |  322 +++++---
 drivers/md/raid5.h       |  154 +++-
 3 files changed, 1987 insertions(+), 311 deletions(-)

--
2.9.3
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux