]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/md/dm-zoned-reclaim.c
Merge branches 'pm-sleep', 'pm-cpuidle', 'pm-cpufreq', 'pm-devfreq' and 'pm-avs'
[linux.git] / drivers / md / dm-zoned-reclaim.c
index d240d7ca8a8ae6f35cc23f63c69070a931bb327a..e7ace908a9b7d3842db3fb709b9dfd7275862e25 100644 (file)
@@ -82,6 +82,7 @@ static int dmz_reclaim_align_wp(struct dmz_reclaim *zrc, struct dm_zone *zone,
                            "Align zone %u wp %llu to %llu (wp+%u) blocks failed %d",
                            dmz_id(zmd, zone), (unsigned long long)wp_block,
                            (unsigned long long)block, nr_blocks, ret);
+               dmz_check_bdev(zrc->dev);
                return ret;
        }
 
@@ -489,12 +490,7 @@ static void dmz_reclaim_work(struct work_struct *work)
        ret = dmz_do_reclaim(zrc);
        if (ret) {
                dmz_dev_debug(zrc->dev, "Reclaim error %d\n", ret);
-               if (ret == -EIO)
-                       /*
-                        * LLD might be performing some error handling sequence
-                        * at the underlying device. To not interfere, do not
-                        * attempt to schedule the next reclaim run immediately.
-                        */
+               if (!dmz_check_bdev(zrc->dev))
                        return;
        }