> +                     pmap = kmap_atomic(iv.bv_page) + iv.bv_offset;
> +                     p = pmap;

Maybe:

                        pmap = p = kmap_atomic(iv.bv_page) + iv.bv_offset;

> +                     for (j = 0; j < iv.bv_len; j += tuple_sz) {
> +                             pi = (struct t10_pi_tuple *)p;

No need for the cast, also the pi declaration can be moved into the
inner scope:

                                struct t10_pi_tuple *pi = p;

> +                     pmap = kmap_atomic(iv.bv_page) + iv.bv_offset;
> +                     p = pmap;
> +                     for (j = 0; j < iv.bv_len; j += tuple_sz) {
> +                             if (intervals == 0) {
> +                                     kunmap_atomic(pmap);
> +                                     return;
> +                             }
> +                             pi = (struct t10_pi_tuple *)p;

Same here.

Also the intervals check would make sense in the for loop I think, e.g.:

                        pmap = p = kmap_atomic(iv.bv_page) + iv.bv_offset;
                        for (j = 0; j < iv.bv_len && intervals; j += tuple_sz) {
                                struct t10_pi_tuple *pi = p;

Reply via email to