[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