[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2] docs: specify stability of hypfs path documentation
On 16.07.20 16:20, George Dunlap wrote: On Jul 16, 2020, at 12:34 PM, Jürgen Groß <jgross@xxxxxxxx> wrote: On 16.07.20 13:24, Jan Beulich wrote:On 16.07.2020 12:31, Jürgen Groß wrote:On 16.07.20 12:11, Jan Beulich wrote:On 15.07.2020 16:37, George Dunlap wrote:IT sounds like you’re saying: 1. Paths listed without conditions will always be available 2. Paths listed with conditions may be extended: i.e., a node currently listed as PV might also become available for HVM guests 3. Paths listed with conditions might have those conditions reduced, but will never entirely disappear. So something currently listed as PV might be reduced to CONFIG_HAS_FOO, but won’t be completely removed. Is that what you meant?I see Jürgen replied "yes" to this, but I'm not sure about 1. above: I think it's quite reasonable to expect that paths without condition may gain a condition. Just like paths now having a condition and (perhaps temporarily) losing it shouldn't all of the sudden become "always available" when they weren't meant to be. As far a 3. goes, I'm also unsure in how far this is any better stability wise (from a consumer pov) than allowing paths to entirely disappear.The idea is that any user tool using hypfs can rely on paths under 1 to exist, while the ones under 3 might not be there due to the hypervisor config or the used system. A path not being allowed to entirely disappear ensures that it remains in the documentation, so the same path can't be reused for something different in future.And then how do you deal with a condition getting dropped, and later wanting to get re-added? Do we need a placeholder condition like [ALWAYS] or [TRUE]?Dropping a condition has to be considered very carefully, same as introducing a new path without any condition. In worst case you can still go with [CONFIG_HYPFS].Couldn’t we just have a section of the document for dead paths that aren’t allowed to be used? Alternately, we could have a tag for entries we don’t want used anymore; [DEAD] or [OBSOLETE] maybe? [DEFUNCT]? [REMOVED]? So I think I’d write a separate section, like this: ~~ # Stability Path *presence* is not stable, but path *meaning* is always stable: if a tool you write finds a path present, it can rely on behavior in future versions of the hypervisors, and in different configurations. Specifically: 1. Conditions under which paths are used may be extended, restricted, or removed. For example, a path that’s always available only on ARM systems may become available on x86; or a path available on both systems may be restricted to only appearing on ARM systems. Paths may also disappear entirely. 2. However, the meaning of a path will never change. If a path is present, it will always have exactly the meaning that it always had. In order to maintain this, removed paths should be retained with the tag [REMOVED]. The path may be restored *only* if the restored version of the path is compatible with the previous functionality. ~~~ Thoughts? Would work for me, too. Juergen
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |