[lvm-devel] [PATCH 2 of 4] Handle transient secondary mirror leg failures

malahal at us.ibm.com malahal at us.ibm.com
Fri Dec 18 18:35:40 UTC 2009


Jonathan Brassow [jbrassow at redhat.com] wrote:
> hmmm, I wonder how well this is going to work.
> 
> 1) I've seen code ('dm_task_suppress_identical_reload') that  
> suppresses table reloads if the tables are identical - will that  
> obstruct what you are trying to do here?
> 
> 2) If you don't get a new table loaded, it will behave as a suspend/ 
> resume only.  Recent code changes in dm-raid1.c are causing  
> 'log_failure' and 'leg_failure' to not be reset in those cases.  IOW,  
> all these steps could be for nothing.  :(

Initially I did test with a modified dm-raid1.c that reset the device
status (error count too) in resume() function. I wasn't using "dmsetup
reload" at that time. Later, I did add "dmsetup reload" and removed my
patch in dm-raid1.c.

It worked fine, so either I am not hitting
dm_task_suppress_identical_reload or some how I failed to revert my
patch in the kernel.

> 3) How does this work in a cluster?  dmsetup is not cluster-aware.  If  
> you don't go through the LVM commands (I recognize the additional  
> pain), none of this will be coordinated.

Tried to use "lvchange --refresh" and that didn't work too well. In the
last call, Alasdair indicated I should add something like
"--top-layer-only" option to "lvchange --refresh" command.

Thank you for the review.

--Malahal.




More information about the lvm-devel mailing list