[lustre-devel] [PATCH 431/622] lustre: mdc: dir page ldp_hash_end mistakenly adjusted
James Simmons
jsimmons at infradead.org
Thu Feb 27 13:14:59 PST 2020
From: Lai Siyao <lai.siyao at whamcloud.com>
On system PAGE_SIZE > 4k, mdc_adjust_dirpages() adjusts dir page
end hash with le64_to_cpu() value, but it should be little endian.
Fixes: 4f76f0ec093 ("staging: lustre: llite: move dir cache to MDC layer")
WC-bug-id: https://jira.whamcloud.com/browse/LU-10094
Lustre-commit: d8b19ae66177 ("LU-10094 mdc: dir page ldp_hash_end mistakenly adjusted")
Signed-off-by: Lai Siyao <lai.siyao at whamcloud.com>
Reviewed-on: https://review.whamcloud.com/35517
Reviewed-by: Andreas Dilger <adilger at whamcloud.com>
Reviewed-by: Jian Yu <yujian at whamcloud.com>
Reviewed-by: Oleg Drokin <green at whamcloud.com>
Signed-off-by: James Simmons <jsimmons at infradead.org>
---
fs/lustre/mdc/mdc_request.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/lustre/mdc/mdc_request.c b/fs/lustre/mdc/mdc_request.c
index 693c455..162ace7 100644
--- a/fs/lustre/mdc/mdc_request.c
+++ b/fs/lustre/mdc/mdc_request.c
@@ -1259,8 +1259,8 @@ static void mdc_adjust_dirpages(struct page **pages, int cfs_pgs, int lu_pgs)
for (i = 0; i < cfs_pgs; i++) {
struct lu_dirpage *dp = kmap(pages[i]);
- u64 hash_end = le64_to_cpu(dp->ldp_hash_end);
- u32 flags = le32_to_cpu(dp->ldp_flags);
+ u64 hash_end = dp->ldp_hash_end;
+ u32 flags = dp->ldp_flags;
struct lu_dirpage *first = dp;
while (--lu_pgs > 0) {
@@ -1279,8 +1279,8 @@ static void mdc_adjust_dirpages(struct page **pages, int cfs_pgs, int lu_pgs)
break;
/* Save the hash and flags of this lu_dirpage. */
- hash_end = le64_to_cpu(dp->ldp_hash_end);
- flags = le32_to_cpu(dp->ldp_flags);
+ hash_end = dp->ldp_hash_end;
+ flags = dp->ldp_flags;
/* Check if lu_dirpage contains no entries. */
if (!end_dirent)
--
1.8.3.1
More information about the lustre-devel
mailing list