Whamcloud - gitweb
LU-16413 osd-ldiskfs: fix T10PI for CentOS 8.x
[fs/lustre-release.git] / lustre / obdclass / integrity.c
index e6528f1..1ccec8a 100644 (file)
 #include <obd_cksum.h>
 
 #if IS_ENABLED(CONFIG_CRC_T10DIF)
-__u16 obd_dif_crc_fn(void *data, unsigned int len)
+__be16 obd_dif_crc_fn(void *data, unsigned int len)
 {
        return cpu_to_be16(crc_t10dif(data, len));
 }
 EXPORT_SYMBOL(obd_dif_crc_fn);
 
-__u16 obd_dif_ip_fn(void *data, unsigned int len)
+__be16 obd_dif_ip_fn(void *data, unsigned int len)
 {
-       return ip_compute_csum(data, len);
+       return (__force __be16)ip_compute_csum(data, len);
 }
 EXPORT_SYMBOL(obd_dif_ip_fn);
 
 int obd_page_dif_generate_buffer(const char *obd_name, struct page *page,
                                 __u32 offset, __u32 length,
-                                __u16 *guard_start, int guard_number,
+                                __be16 *guard_start, int guard_number,
                                 int *used_number, int sector_size,
                                 obd_dif_csum_fn *fn)
 {
        unsigned int i = offset;
        unsigned int end = offset + length;
        char *data_buf;
-       __u16 *guard_buf = guard_start;
+       __be16 *guard_buf = guard_start;
        unsigned int data_size;
        int used = 0;
 
@@ -91,7 +91,7 @@ static int __obd_t10_performance_test(const char *obd_name,
        unsigned int bufsize;
        unsigned char *buffer;
        struct page *__page;
-       __u16 *guard_start;
+       __be16 *guard_start;
        int guard_number;
        int used_number = 0;
        int sector_size = 0;
@@ -118,7 +118,7 @@ static int __obd_t10_performance_test(const char *obd_name,
        }
 
        buffer = kmap(__page);
-       guard_start = (__u16 *)buffer;
+       guard_start = (__be16 *)buffer;
        guard_number = PAGE_SIZE / sizeof(*guard_start);
        for (i = 0; i < repeat_number; i++) {
                /*