Details
-
Technical task
-
Resolution: Unresolved
-
Blocker
-
None
-
None
-
None
-
9223372036854775807
Description
For a file or directory flagged with Protect(P) state under the protection of EX WBC lock, the open() system call does not need to communicate with MDS, can also be executed locally in MemFS of Lustre WBC.
However, Lustre is a stateful filesystem. Each open keeps a state on the MDS. We must keep transparency for applications once the EX WBC lock is cancelled. To achieve this goal, each local open will be recorded in the inode’s open list (or maintain pre dentry?); When the EX WBC lock is cancelling, it must reopen the files in the open list from MDS.
For regular files, after reopened from MDS, the metadata and data I/O can use the reopened file handle. It is transparent to applications.