[LU-15567] page2inode is not safe for direct I/O pages Created: 18/Feb/22  Updated: 07/Mar/22  Resolved: 07/Mar/22

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Blocker
Reporter: Patrick Farrell Assignee: Patrick Farrell
Resolution: Duplicate Votes: 0
Labels: None

Rank (Obsolete): 9223372036854775807

 Description   

The page2inode helper checks if page->mapping exists and then attempts to get the inode if page->mapping is not null.  Direct I/O pages do not have a mapping, but testing has shown that page->mapping is not zeroed as part of page allocation, so it cannot be depended on for direct I/O pages.

That's OK, since we have the cl_page struct we can use - so we use that instead, except in ll_dom_readpage, which is a page cache helper and only works with cached pages.



 Comments   
Comment by Gerrit Updater [ 18/Feb/22 ]

"Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/46555
Subject: LU-15567 llite: Do not use page2inode for DIO
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 91d0d30cc967798b8d820af6b70a88dd510b0815

Comment by Gerrit Updater [ 22/Feb/22 ]

"Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/46585
Subject: LU-15567 tests: Debug & testing
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: a468b718a30ecd3f5375406b9913ca9f94aa762e

Comment by Peter Jones [ 07/Mar/22 ]

Fixed under LU-15608

Generated at Sat Feb 10 03:19:25 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.