On Mon, Nov 26, 2018 at 04:33:10PM -0800, Omar Sandoval wrote:
> On Thu, Nov 15, 2018 at 12:00:17PM +0800, Ming Lei wrote:
> > This test covers the following two issues:
> >
> > 1) discard sector need to be aligned with logical block size
> >
> > 2) make sure 'sector_t' instead of 'unsigned int' is used when comparing
> > with discard sector size
> >
> > Signed-off-by: Ming Lei <[email protected]>
> > ---
> > tests/block/025 | 37 +++++++++++++++++++++++++++++++++++++
> > tests/block/025.out | 2 ++
> > 2 files changed, 39 insertions(+)
> > create mode 100755 tests/block/025
> > create mode 100644 tests/block/025.out
> >
> > diff --git a/tests/block/025 b/tests/block/025
> > new file mode 100755
> > index 000000000000..32b632431793
> > --- /dev/null
> > +++ b/tests/block/025
> > @@ -0,0 +1,37 @@
> > +#!/bin/bash
> > +# SPDX-License-Identifier: GPL-3.0+
> > +# Copyright (C) 2018 Ming Lei <[email protected]>
> > +#
> > +# Check two corener cases of BLKDISCARD.
> > +#
> > +# 1) test if discard bio's sector is algined with logical size, fixed by
> > +# 1adfc5e4136f ("block: make sure discard bio is aligned with logical
> > block size")
>
> Hm, I'm not seeing how this test case tests this commit. Aren't 2049G
> and 512M both aligned to 4096 bytes?
2049G caused 32bit 'nr_sects' in __blkdev_issue_discard() overflow,
please see commit 4800bf7bc8c725e955fcb ("block: fix 32 bit overflow in
__blkdev_issue_discard()").
4096 logical block size may trigger 'req_sects' un-alignment issue
because 'nr_sects' from fs is 512byte aligned, please see 1adfc5e4136f5967d59
("block:
make sure discard bio is aligned with logical block size").
Thanks,
Ming