[dm-devel] [PATCH 0/6] Delete attributes with default values
Xose Vazquez Perez
xose.vazquez at gmail.com
Sun Jul 10 15:54:07 UTC 2016
On 07/09/2016 10:17 AM, Christophe Varoqui wrote:
> I'll wait for comments from distribution maintainers on this patchset.
> Because, though we have already deleted the checker_name settings when equal
> to the default value, it should be clear that with this patchset changing a
> default may cause re-certification for all impacted devices. This can be
> viewed as a problem for distributors.
In general terms arrays manufacturers only test, certify and write documentation
for enterprise distributions. They don't care about upstream kernel or
upstream multipath-tools.
And enterprise distributions usually carry very outdated and heavily patched
packages. The next enterprise distributions are, at least, two years away.
Let's see the patches:
> multipath-tools: delete attributes with DEFAULT_* values in hwtable.c
This patch deletes:
48 .features = DEFAULT_FEATURES,
44 .hwhandler = DEFAULT_HWHANDLER,
28 .prio_name = DEFAULT_PRIO,
1 .minio = DEFAULT_MINIO,
1 .minio_rq = DEFAULT_MINIO_RQ,
- DEFAULT_FEATURES is "0"
It has to be explicitly defined, no default value possible.
- DEFAULT_HWHANDLER is "unset/0"
Always it's Hardware-dependent, no default value possible.
- DEFAULT_PRIO is "const"
All others alternatives are Hardware-dependent or an unusual option(random/weightedpath/datacore/iet).
- DEFAULT_MINIO is 1000
Relevant for hardware? Is default value right?
- DEFAULT_MINIO_RQ is 1
Hardware-dependent related? Is default value right?
> multipath-tools: delete prio_args attribute when it is equal to default value
This patch deletes:
73 .prio_args = NULL,
- DEFAULT_PRIO_ARGS is ""
It has to be explicitly defined, no default value possible.
> multipath-tools: delete no_path_retry attribute when it is equal to default value
This patch deletes:
28 .no_path_retry = NO_PATH_RETRY_UNDEF,
- DEFAULT_NO_PATH_RETRY is 0/unset
Perhaps this default value could be changed in the future. ???
The current hwtable is full with some "random" values:
28 .no_path_retry = NO_PATH_RETRY_UNDEF,
15 .no_path_retry = NO_PATH_RETRY_QUEUE,
7 .no_path_retry = 12,
5 .no_path_retry = 15,
4 .no_path_retry = (300 / DEFAULT_CHECKINT),
4 .no_path_retry = 300,
4 .no_path_retry = 18,
2 .no_path_retry = 30,
2 .no_path_retry = 10,
1 .no_path_retry = NO_PATH_RETRY_FAIL,
1 .no_path_retry = 6,
1 .no_path_retry = 5,
Is no_path_retry really Hardware-dependent? or were values selected arbitrarily?
Were they tested with upstream kernel/multipath-tools? Any logic here?
> multipath-tools: delete minio_rq attribute when it is equal to default value
This patch deletes:
1 .minio_rq = 1,
Duplicate, see above.
> multipath-tools: delete fast_io_fail attribute when it is equal to default value
This patch deletes:
2 .fast_io_fail = 5,
- DEFAULT_FAST_IO_FAIL is 5
Perhaps this default value could be changed in the future. ???
At hwtable there are only 3 defined:
2 .fast_io_fail = 5,
1 .fast_io_fail = 10,
Again, Hardware-dependent? or crystal ball? Is default value good enough?
> multipath-tools: delete pgpolicy attribute when it is equal to default value
This patch deletes:
1 .pgpolicy = FAILOVER,
- DEFAULT_PGPOLICY is FAILOVER
At hwtable:
48 .pgpolicy = GROUP_BY_PRIO,
23 .pgpolicy = MULTIBUS,
5 .pgpolicy = GROUP_BY_SERIAL,
1 .pgpolicy = FAILOVER,
FAILOVER(DEFAULT_PGPOLICY) is not very popular. Maybe it should be changed to
GROUP_BY_PRIO and then remove 48 lines.
Right now there is not a well defined policy. What should be the default rule?
(a) a *mininal* "devices section": only hardware-dependent, stability or
high-performance related attributes are allowed.
(b) a *fully detailed* "devices section", all attributes defined.
(c) *no rules* at "devices section", do what you want.
Now it's (c), should it be changed?
More information about the dm-devel
mailing list