[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 |
| Comment by Gerrit Updater [ 22/Feb/22 ] |
|
"Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/46585 |
| Comment by Peter Jones [ 07/Mar/22 ] |
|
Fixed under |