Merge tag 'for-5.2/dm-fix-1' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper fix from Mike Snitzer: "Fix a particularly glaring oversight in a DM core commit from 5.1 that doesn't properly trim special IOs (e.g. discards) relative to corresponding target's max_io_len_target_boundary()" * tag 'for-5.2/dm-fix-1' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm: make sure to obey max_io_len_target_boundary
This commit is contained in:
+3
-1
@@ -1469,7 +1469,7 @@ static unsigned get_num_write_zeroes_bios(struct dm_target *ti)
|
||||
static int __send_changing_extent_only(struct clone_info *ci, struct dm_target *ti,
|
||||
unsigned num_bios)
|
||||
{
|
||||
unsigned len = ci->sector_count;
|
||||
unsigned len;
|
||||
|
||||
/*
|
||||
* Even though the device advertised support for this type of
|
||||
@@ -1480,6 +1480,8 @@ static int __send_changing_extent_only(struct clone_info *ci, struct dm_target *
|
||||
if (!num_bios)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
len = min((sector_t)ci->sector_count, max_io_len_target_boundary(ci->sector, ti));
|
||||
|
||||
__send_duplicate_bios(ci, ti, num_bios, &len);
|
||||
|
||||
ci->sector += len;
|
||||
|
||||
Reference in New Issue
Block a user