Thread (9 messages) 9 messages, 2 authors, 2017-05-31

Re: [mdadm PATCH] Create: move STOP_ARRAY to abort_locked

From: Jes Sorensen <jes.sorensen@gmail.com>
Date: 2017-05-08 17:54:11

On 05/07/2017 09:50 PM, Zhilong Liu wrote:

On 05/05/2017 11:31 AM, Liu Zhilong wrote:
quoted

On 05/04/2017 10:54 PM, Jes Sorensen wrote:
quoted
On 05/04/2017 08:20 AM, Zhilong Liu wrote:
quoted
Hi Jes,

apply for review, this is a bug I ever encountered.
Zhilong,

Under what circumstances do you see this?
Issued the command:
linux-g0sr:/home/test # ./mdadm -CR /dev/md0 -l1 -n2 -b internal
/dev/loop[0-1] --size 63
... ... ...
mdadm: Given bitmap chunk size not supported.
linux-g0sr:/home/test # ls /dev/md0
/dev/md0
linux-g0sr:/home/test # ls /sys/block/md0/md/
array_size   bitmap      component_size  level metadata_version
raid_disks         reshape_position safe_mode_delay
array_state  chunk_size  layout          max_read_errors
new_dev           reshape_direction  resync_start

create_mddev() writes the devnm to
/sys/module/md_mod/parameter/new_array,
then in md.c, module_param_call() called the 'set' function of
add_named_array(),
md_alloc() init_and_add the kobject for devm, finally the devnm device
has created
and sysfs has registered after create_mddev executed successfully.
Thus it's better
to STOP_ARRAY in any case after create_mddev() invoked.
this patch depends on the kernel commit:
039b7225e6e9 ("md: allow creation of mdNNN arrays via
md_mod/parameters/new_array")
Neil's patch has set "mddev->hold_active = UNTIL_STOP", thus the
STOP_ARRAY can work
well on this situation.
OK now I am confused - are you saying this change will only work after 
Neil's kernel patch has been applied? That would be no good, mdadm needs 
to work on older kernels too.

Jes

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help