Messages in this thread | | | From | Ming Lei <> | Date | Tue, 22 Aug 2023 21:07:56 +0800 | Subject | Re: [PATCH] block: fix unexpected split in bio_discard_limit |
| |
On Thu, Aug 17, 2023 at 3:42 PM Li Feng <fengli@smartx.com> wrote: > > bio_discard_limit() enforces discard boundaries within the range of 32-bit > unsigned integers, resulting in unexpected discard cut boundaries.
Any bio size can't be bigger than UINT_MAX, see bio definition.
> > For example, max discard size = 1MiB, discard_granularity = 512B, then the > discard lengths sent in the range [0,4G) are 1MiB, 1MiB... (1MiB-512). > The next discard offset from 4G is [4G-512, 4G-512+1MiB). > The discard of the 4G offset boundary does not comply with the optimal 1MiB > size.
As mentioned, max bio size is 4GB, so there shouldn't be such issue.
Thanks,
| |