Whamcloud - gitweb
LU-11697 osc: wrong page offset for T10PI checksum 27/33727/5
authorLi Xi <lixi@ddn.com>
Tue, 27 Nov 2018 07:20:31 +0000 (02:20 -0500)
committerOleg Drokin <green@whamcloud.com>
Tue, 4 Dec 2018 23:21:10 +0000 (23:21 +0000)
The page offset might could be non-zero value. Thus, when
calculating T10PI checksum, the offset should be correct value.

Change-Id: Ib32584eb47ea55ec3804e531ac02ffd252411886
Signed-off-by: Li Xi <lixi@ddn.com>
Reviewed-on: https://review.whamcloud.com/33727
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Li Dongyang <dongyangli@ddn.com>
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/osc/osc_request.c

index 0b8e290..6b56631 100644 (file)
@@ -1155,7 +1155,8 @@ static int osc_checksum_bulk_t10pi(const char *obd_name, int nob,
                 * The left guard number should be able to hold checksums of a
                 * whole page
                 */
-               rc = obd_page_dif_generate_buffer(obd_name, pga[i]->pg, 0,
+               rc = obd_page_dif_generate_buffer(obd_name, pga[i]->pg,
+                                                 pga[i]->off & ~PAGE_MASK,
                                                  count,
                                                  guard_start + used_number,
                                                  guard_number - used_number,