On 11/08/2010 01:19 PM, Lars Marowsky-Bree wrote: > On 2010-11-08T12:12:08, Alasdair G Kergon <agk@xxxxxxxxxx> wrote: > >>> I think handling this at the dm-multipath level is cleaner; similarly >>> how we handle network bonding (which incidentally has a broadcast mode >>> too), instead of requiring every application to go out and open N >>> independent channels. >> Or could it hook into the userspace multipath monitoring code which >> already knows the state of the paths? > > ... but not the translation (e.g., partitioning and logical volumes). > But yes, getting notified by multipathd might also work. Though the code > complexity in user-space arguably seems higher than handling it > in-kernel. > >> Well, I'm struggling to see anything clean, simple or generic about >> a kernel-side solution here so far. Seems like a lot of extra kernel >> code for just one highly-specialised case: so far I'm unconvinced. > > I wonder how other latency-sensitive IO handles multipath? Maybe they > just haven't noticed yet they'd like a facility like this? ;-) > > Also, Joel wanted to implement the heartbeating/poison pill mechanism > itself in kernel space; clearly, that'd require such an in-kernel > facility too, and could be shared between his code and mine. > A really daft idea: Can't you implement a separate path checker for this? Basically a wrapper around the existing ones (or even a hook into the existing infrastructure) which would write the poison pill if requested? The path checker will be called for every path, so you only have to worry about the checker interval. But I daresay you can shorten it on request. Then you can implement a CLI callout and set the magic poison pill flag, which would trigger an immediate path re-check and the path checker to write the poison pill itself. Hmm? Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@xxxxxxx +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel