On Fri, Jun 23, 2017 at 7:17 PM, Vishal Verma <[email protected]> wrote:
> With the BTT 2.0 update, a couple of minor updates to the unit tests are
> needed:
> test/libndctl: Update expected BTT sizes
> test/libndctl: in btt_autodetect, when wiping an old BTT, wipe the first
> two 4K pages instead of one.
>
> Cc: Dan Williams <[email protected]>
> Signed-off-by: Vishal Verma <[email protected]>
> ---
>  test/libndctl.c | 19 +++++++++++++------
>  1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/test/libndctl.c b/test/libndctl.c
> index 24aff36..89c4c02 100644
> --- a/test/libndctl.c
> +++ b/test/libndctl.c
> @@ -994,16 +994,16 @@ static int check_btt_size(struct ndctl_btt *btt)
>         int size_select, sect_select;
>         unsigned long long expect_table[][2] = {
>                 [0] = {
> -                       [0] = 0x11b4400,
> -                       [1] = 0x8da2000,
> +                       [0] = 0x11b5400,
> +                       [1] = 0x8daa000,
>                 },
>                 [1] = {
> -                       [0] = 0x13b0400,
> -                       [1] = 0x9d82000,
> +                       [0] = 0x13b1400,
> +                       [1] = 0x9d8a000,
>                 },
>                 [2] = {
> -                       [0] = 0x1aa2600,
> -                       [1] = 0xd513000,
> +                       [0] = 0x1aa3600,
> +                       [1] = 0xd51b000,

I think we need to have different expectations for different BTT
versions. We should be able to check for v1.2 labels before picking
the expectation, or just have a new ndctl_test_attempt() gate on the
4.13 kernel for the new sizes.

>                 },
>         };
>
> @@ -1517,12 +1517,19 @@ static int check_btt_autodetect(struct ndctl_bus *bus,
>         }
>
>         memset(buf, 0, 4096);
> +       /* Delete both the first and second 4K pages */
>         rc = pwrite(fd, buf, 4096, 4096);
>         if (rc < 4096) {
>                 rc = -ENXIO;
>                 fprintf(stderr, "%s: failed to overwrite btt on %s\n",
>                                 devname, bdev);
>         }
> +       rc = pwrite(fd, buf, 4096, 0);
> +       if (rc < 4096) {
> +               rc = -ENXIO;
> +               fprintf(stderr, "%s: failed to overwrite btt on %s\n",
> +                               devname, bdev);
> +       }

How about just change the first one to: "rc = pwrite(fd, buf, 8192, 0);"?
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to