Details
-
Technical task
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
9223372036854775807
Description
In WBC lock drop flush mode, when enter into the code path @memfs_lookup during the new file creation, and the dir (parent inode) is already flushed (WBC state for the directory becomes WBC_STATE_FL_NONE), at this time, it will fall back into the Lustre lookup path @ll_lookup_nd to perform lookup from MDT. The old the Lustre lookup path with LOOKUP_CREATE | LOOKUP_OPEN will return ERR_PTR(-ENOENT) wrongly.
In this patch, it fixed this bug, and when lookup from MDT returns -ENOENT to indicate the name is not existed, it will return NULL instead of ERR_PTR(-ENOENT).