On Fri, 2024-05-31 at 14:29 +0800, Li Zhijian wrote: > Previously, the extra parameters will be ignored quietly, which is a bit > weird and confusing. > $ daxctl create-device region0 > [ > { > "chardev":"dax0.1", > "size":268435456, > "target_node":1, > "align":2097152, > "mode":"devdax" > } > ] > created 1 device > > where above user would want to specify '-r region0'. > > Check extra parameters starting from index 0 to ensure no extra parameters > are specified for create-device. > > Cc: Fan Ni <fan...@samsung.com> > Signed-off-by: Li Zhijian <lizhij...@fujitsu.com>
Reviewed-by: Vishal Verma <vishal.l.ve...@intel.com> > --- > V2: > Remove the external link[0] in case it get disappeared in the future. > [0] > https://github.com/moking/moking.github.io/wiki/cxl%E2%80%90test%E2%80%90tool:-A-tool-to-ease-CXL-test-with-QEMU-setup%E2%80%90%E2%80%90Using-DCD-test-as-an-example#convert-dcd-memory-to-system-ram > --- > daxctl/device.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/daxctl/device.c b/daxctl/device.c > index 839134301409..ffabd6cf5707 100644 > --- a/daxctl/device.c > +++ b/daxctl/device.c > @@ -363,7 +363,8 @@ static const char *parse_device_options(int argc, const > char **argv, > NULL > }; > unsigned long long units = 1; > - int i, rc = 0; > + int rc = 0; > + int i = action == ACTION_CREATE ? 0 : 1; > char *device = NULL; > > argc = parse_options(argc, argv, options, u, 0); > @@ -402,7 +403,7 @@ static const char *parse_device_options(int argc, const > char **argv, > action_string); > rc = -EINVAL; > } > - for (i = 1; i < argc; i++) { > + for (; i < argc; i++) { > fprintf(stderr, "unknown extra parameter \"%s\"\n", argv[i]); > rc = -EINVAL; > }