1. 20 6月, 2020 2 次提交
    • D
      dm zoned: Fix random zone reclaim selection · 3ee39573
      Damien Le Moal 提交于
      Commit 2094045f ("dm zoned: prefer full zones for reclaim")
      modified dmz_get_rnd_zone_for_reclaim() to add a search for the buffer
      zone with the heaviest weight as an optimal candidate for reclaim. This
      modification uses the zone pointer variabl "last" which is set only once
      and never modified as zones are scanned, resulting in the search being
      inefective. Furthermore, if the selected buffer zone at the end of the
      search loop is active or already locked for reclaim,
      dmz_get_rnd_zone_for_reclaim() returns NULL even if other random zones
      with a lesser weight can be reclaimed.
      
      To fix the search and to guarantee that reclaim can make forward
      progress, fix dmz_get_rnd_zone_for_reclaim() loop to correctly find
      the buffer zone with the heaviest weight using the variable maxw_z.
      Also make sure to fallback to finding the first random zone that can
      be reclaimed if this best candidate zone cannot be reclaimed.
      
      While at it, also fix the device index check to consider only random
      zones, ignoring cache zones belonging to the cache device if one is
      used as that device does not have a reclaim process.
      
      Fixes: 2094045f ("dm zoned: prefer full zones for reclaim")
      Signed-off-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Reviewed-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      3ee39573
    • S
      dm zoned: Fix metadata zone size check · b38c0ad5
      Shin'ichiro Kawasaki 提交于
      When dm zoned has multiple devices, metadata is on the cache device, not
      in random zones of the zoned devices. Then the number of metadata zones
      shall be checked with the number of cache zones, not random zones.
      
      Fixes: 34f5affd ("dm zoned: separate random and cache zones")
      Signed-off-by: NShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
      Reviewed-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      b38c0ad5
  2. 06 6月, 2020 13 次提交
  3. 23 5月, 2020 1 次提交
  4. 22 5月, 2020 1 次提交
  5. 21 5月, 2020 8 次提交
  6. 20 5月, 2020 1 次提交
  7. 15 5月, 2020 7 次提交
  8. 25 3月, 2020 1 次提交
  9. 08 1月, 2020 1 次提交
    • D
      dm zoned: support zone sizes smaller than 128MiB · b3996295
      Dmitry Fomichev 提交于
      dm-zoned is observed to log failed kernel assertions and not work
      correctly when operating against a device with a zone size smaller
      than 128MiB (e.g. 32768 bits per 4K block). The reason is that the
      bitmap size per zone is calculated as zero with such a small zone
      size. Fix this problem and also make the code related to zone bitmap
      management be able to handle per zone bitmaps smaller than a single
      block.
      
      A dm-zoned-tools patch is required to properly format dm-zoned devices
      with zone sizes smaller than 128MiB.
      
      Fixes: 3b1a94c8 ("dm zoned: drive-managed zoned block device target")
      Cc: stable@vger.kernel.org
      Signed-off-by: NDmitry Fomichev <dmitry.fomichev@wdc.com>
      Reviewed-by: NDamien Le Moal <damien.lemoal@wdc.com>
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      b3996295
  10. 13 11月, 2019 1 次提交
  11. 07 11月, 2019 2 次提交
  12. 21 8月, 2019 1 次提交
  13. 16 8月, 2019 1 次提交