Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
9223372036854775807
Description
This is a continuation of LU-12738, created to track related work which has not been completed yet.
-------
Opening a file with open(O_APPEND) will cause the MDS to create the file using a "plain" layout with mdd.*.append_stripe_count stripes, using OST pool mdd.*.append_pool (if set).
Since the landing of patch https://review.whamcloud.com/61688 ("LU-12738 pfl: do not instantiate full PFL layout on append") it should be possible to avoid this, since the client is locking only the region of the instantiated file component(s).
Patch https://review.whamcloud.com/63010 ("LU-12738 idl: reserve flag for O_APPEND fix") reserved the OBD_CONNECT2_NO_APPEND flag so that the client can notify the MDS at connect time that it does not need to use the special append file layout, and can safely handle PFL file layouts without instantiating all of the components.
The client and MDS need to exchange the OBD_CONNECT2_NO_APPEND flag at connect time, and then the MDS can check the client import's imp_connect_flags2_orig for this flag during creation. If the OBD_CONNECT2_NO_APPEND flag is unset for an import and mdd_append_stripe_count == 0, then the MDS should set ah->dah_append_stripe_count = 1 for that file so that the previous append layout functionality is preserved. This would allow setting the default mdd_append_stripe_count = 0 at startup, and it would only be revert to the old behavior for old clients creating files with open(O_APPEND) or if mdd.*.append_stripe_count is explicitly set in the config.
Attachments
Issue Links
- Clones
-
LU-12738 PFL: append of PFL file should not instantiate full layout
-
- Resolved
-
- is related to
-
LU-17403 lfs migrate: cannot get group lock: No space left on device
-
- Open
-
-
LUDOC-512 The Lustre Operations Manual does not document the append_pool or append_stripe_count options
-
- Resolved
-
-
LU-17159 Mark file layouts using append striping
-
- Open
-
- is related to
-
LU-9479 sanity test 184d 244: don't instantiate PFL component when taking group lock
-
- Open
-
-
LU-9341 PFL: append should not instantiate full layout
-
- Resolved
-