On 04/25/2016 05:13 AM, Philipp Reisner wrote:
+       while (nr_sectors >= granularity) {
+               nr = min_t(sector_t, nr_sectors, max_discard_sectors);
+               err |= blkdev_issue_discard(bdev, start, nr, GFP_NOIO, 0);
+               nr_sectors -= nr;
+               start += nr;
+       }

Hello Phil,

In blk_bio_discard_split() the following statement protects against block drivers for which max_discard_sectors is not a multiple of the discard granularity:

        max_discard_sectors -= max_discard_sectors % granularity;

Do we need something similar in the above loop?

To Jens: should the drbd_issue_discard_or_zero_out() function go upstream or should rather what this function does be integrated in blkdev_issue_zeroout() as is done by the patch series "[PATCH v2 0/6] Make blkdev_issue_discard() submit aligned discard requests" (http://thread.gmane.org/gmane.linux.kernel.device-mapper.devel/23801)?

Thanks,

Bart.

Reply via email to