[LU-9393] Enhance setstripe options for components Created: 24/Apr/17 Updated: 17/Jul/17 Resolved: 17/Jul/17 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.10.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Jinshan Xiong (Inactive) | Assignee: | Jian Yu |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||
| Severity: | 3 | ||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||
| Description |
|
In current implementation of PFL component creation API, the setstripe options are inheritable, which means the next component will take all setstripe options appeared in previous components. This poses a problem that there is no way of creating a component with default options, unless it's in the first component in the lfs setstripe command. Per discussion with Andreas, a new setstripe option --parent is required to explicitly indicate the component will use default stripe from parent. |
| Comments |
| Comment by Joseph Gmitter (Inactive) [ 25/Apr/17 ] |
|
Hi Niu, Would you be able to help with this one? Thanks. |
| Comment by Niu Yawei (Inactive) [ 26/Apr/17 ] |
|
You mean use '--parent' to inherit the attributes from the 1st component of parent's default layout to all components of 'lfs setstripe'? I don't quite see why we need this, and it looks to me not a good idea to further expand 'lfs setstrtripe' options. I think making a '--config-file' could be useful, the layout config file can be a plain text file in YAML format, so that it can be easily read/modified/stored by user, user can also use 'lfs getstripe' to dump a config file from any existing directory or file. I think Bobi is working on it in What do you think about? can '--config-file' address your problem? Thanks. |
| Comment by Jinshan Xiong (Inactive) [ 26/Apr/17 ] |
|
In my view, those are different things. The ticket Thinking about the following problem - after I have specified some setstripe options for the first few components, and for some reason I want to use default options for the last component, there is no way of doing in current implementation. |
| Comment by Niu Yawei (Inactive) [ 26/Apr/17 ] |
Saving & restoring layout is just a side benefit, using config file is a common way to address the problem of complex command line options.
I suppose there will be no 'default options' when PFL deployed, default layout of the parent directory will usually be a composite layout. |
| Comment by Zhenyu Xu [ 26/Apr/17 ] |
|
I also tend to think the "default stripe option" for PFL file does not quite make sense; if you've taken effort to think of some stripe option for some components, you'd unlikely to abandon your choice and say "let the file system choose whatever its default stripe options for this component". |
| Comment by Jinshan Xiong (Inactive) [ 26/Apr/17 ] |
|
Well, you can't predicate how users want to use it. As I said, this is mainly for completeness and it would be used rarely in practice. I agree it makes more sense in mirror creation, because for mirror creation it is totally possible to use system default options for some mirrors. If you are reluctant to implement it, I can do it in FLR project. |
| Comment by Niu Yawei (Inactive) [ 27/Apr/17 ] |
|
I think we are discussing if it's right to introduce this option, but not when this option should be implemented (in PFL or FLR). There are already too many options for 'lfs setstripe', let's try to use single 'config file' option to reduce command line inputs, but not introducing one for each individual use case. In your mirror creation case, I think user may use a pre-defined config file for the mirror component. One thing worth noting is that "system/dir default stripe size, count, offset" could be obsoleted soon, because all default layouts (for root or parent dir) will be a composite layout. |
| Comment by Niu Yawei (Inactive) [ 17/Jul/17 ] |
|
Reassign to Xiong. This could be implemented in FLR project. |
| Comment by Jian Yu [ 17/Jul/17 ] |
|
I'm working on this in LDEV-435. |