Metadata writeback cache support (LU-10938)

[LU-15669] WBC: replay recovery and layout instantiation Created: 22/Mar/22  Updated: 15/Feb/23

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

Type: Technical task Priority: Minor
Reporter: Qian Yingjin Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
Rank (Obsolete): 9223372036854775807

 Description   

The client saves a large LOV EA into the request buffer so that it is available for replaying a failed create with layout instantiation. We save the reply LOV EA in case we have to replay a create for recovery. If we didn't allocate a large enough request buffer, we need to reallocate it to hold the actual LOV EA.

We do not do this in the initial request becuase the original request doesn't need this buffer and it is a waste of RAM/bandwidth to send the empty buffer and may also be difficult to allocate and save a very larger request buffer for layout EA.

However, for a batched create() RPC under WBC, saving the replied LOV EA into the request buffer for replay means that we need to enlarge the request buffer, it will change the registered bulk buffer, and it may add the complexity for the replay recovery. Thus, we don't allocate the LOV EA for batched creations, just create metadata without layout instantiation.

We delay to instantiate the layout until the time of flushing the cache pages.
We also need to implement a lockless layout intent write under the WBC root lock.



 Comments   
Comment by Gerrit Updater [ 25/Mar/22 ]

"Yingjin Qian <qian@ddn.com>" uploaded a new patch: https://review.whamcloud.com/46933
Subject: LU-15669 wbc: replay recovery for async intent create
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: eab8f122ff6fc0dd1a010df16c7ed97eb0516dd4

Comment by Gerrit Updater [ 31/Mar/22 ]

"Yingjin Qian <qian@ddn.com>" uploaded a new patch: https://review.whamcloud.com/46960
Subject: LU-15669 wbc: lockless layout write for assimilation
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 3f5574f30595dc7472374b1fc4a599ab61588bd6

Comment by Gerrit Updater [ 19/Apr/22 ]

"Yingjin Qian <qian@ddn.com>" uploaded a new patch: https://review.whamcloud.com/47085
Subject: LU-15669 wbc: reply reconstruction for reint layout create
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 6eeb1ca78bfa449434a72c9e55aa3838e27b94bc

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