Thread (15 messages) 15 messages, 3 authors, 2014-06-28

Re: Understanding raid array status: Active vs Clean

From: NeilBrown <hidden>
Date: 2014-06-28 05:29:39

On Sat, 28 Jun 2014 05:01:00 +0200 George Duffield
[off-list ref] wrote:
quoted
quoted
quoted
changing the value to 0.500:
# echo 0.503 > /sys/block/md0/md/safe_mode_delay

makes no difference to the array state.
What if you write a smaller number?  e.g. 0.1
No change to array state.
quoted
What does /sys/block/md0/md/array_state show?
Funnily enough, it shows Clean

Ahh - I found it.
In get_array_info() in drivers/md/md.c:

	if (mddev->in_sync)
		info.state = (1<<MD_SB_CLEAN);
	if (mddev->bitmap && mddev->bitmap_info.offset)
		info.state = (1<<MD_SB_BITMAP_PRESENT);


that last line should be "|=".

Because you have a bitmap, the 'clean' state is being hidden.

Though if you have a bitmap, the 'clean' state isn't really important because
the bitmap knows which regions are 'clean' and which are not.

But it should be fixed.  I'll send a patch next week.

Thanks for persisting.

NeilBrown

Attachments

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