[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:
Duplicate
Related
is related to LU-8998 Progressive File Layout (PFL) Resolved
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.
Joe

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 LU-9324.

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 LU-9324 is working on saving and restoring file layout, while I'm trying to address the completeness problem for the command line.

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 ]

In my view, those are different things. The ticket LU-9324 is working on saving and restoring file layout, while I'm trying to address the completeness problem for the command line.

Saving & restoring layout is just a side benefit, using config file is a common way to address the problem of complex command line options.

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.

I suppose there will be no 'default options' when PFL deployed, default layout of the parent directory will usually be a composite layout.
Even if user doesn't want to input last few options for the last component (regardless he has typed many options for first few components), he can specify a existing config file for the last component, though I don't quite think it's necessary.

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.

Generated at Sat Feb 10 02:25:48 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.