[dm-devel] query on delay_watch_checks and delay_wait_checks

2016-12-27 Thread Muneendra Kumar M
If there are two paths on a dm-1 say sda and sdb as below. # multipath -ll mpathd (3600110d001ee7f0102050001cc0b6751) dm-1 SANBlaze,VLUN MyLun size=8.0M features='0' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=50 status=active |- 8:0:1:0 sda 8:48

[dm-devel] [PATCH 08/12] libmultipath: wait one seconds for more uevents in uevent_listen() in uevents burst situations

2016-12-27 Thread tang . junhui
From: tang.junhui The more uevents are merged, the higher efficiency program will performs. So, do not process uevents after receiving immediately in uevents burst situations, but continue wait 1 seconds for more uevents except that too much uevents (2048) have already

[dm-devel] [PATCH 04/12] multipathd: add need_do_map to indicate whether need calling domap() in ev_add_path()

2016-12-27 Thread tang . junhui
From: tang.junhui Usually calling domap() in ev_add_path() is needed, but only last path need to call domap() in processing for merged uevents to reduce the count of calling domap() and promote efficiency. So add input parameter need_do_map to indicate whether need

[dm-devel] [PATCH 00/12] multipath-tools: improve processing efficiency for addition and deletion of multipath devices

2016-12-27 Thread tang . junhui
From: tang.junhui Hello Christophe, Ben, Hannes, Martin, Bart, and other guys: The twelve patches in this series are used to improve processing efficiency for addition and deletion of multipath devices. These patches are tested pass by ZTE multipath automatic testing

[dm-devel] [PATCH 11/12] multipathd: proccess merged uevents

2016-12-27 Thread tang . junhui
From: "tang.junhui" After filtering and merging, then uevents are processed in uev_trigger(), firstly, each of merged uevents would be processed one by one with need_do_map in value of 0. Finally, the node “uev” itself would be processed with need_do_map in value of 1,

[dm-devel] [PATCH 09/12] multipathd: merge uevents before proccessing

2016-12-27 Thread tang . junhui
From: tang.junhui These uevents are going to be merged: 1) uevents come from paths and 2) uevents type is same and 3) uevents type is addition or deletion and 4) uevents wwid is same. Change-Id: I05ee057391c092aa0c5f989b7a4f9cb550bb4d98 Signed-off-by: tang.junhui

[dm-devel] [PATCH 02/12] libmultipath: add merge_node for "struct uevent" to record nodes of merged uevents

2016-12-27 Thread tang . junhui
From: tang.junhui Add merged nodes list to store nodes of merged uevents. By Adding this member, after merging, the list of uevents would be linked like this: uevent --- |struct list_head node |->list node of un-merged uevents

[dm-devel] [PATCH 12/12] libmultipath: use existing wwid when wwid has already been existed in uevent

2016-12-27 Thread tang . junhui
From: tang.junhui Use existing wwid when wwid has already been existed in uevent, it avoids to get wwid again in pathinfo(), and reduces the count of calling getuid(), which would promote processing efficiency. Change-Id: Ia0c7273d33a220e5b415ec42d6b72660018cf4d9

[dm-devel] [PATCH 06/12] multipathd: move uev_discard() to uevent.c and change its name to uevent_can_discard()

2016-12-27 Thread tang . junhui
From: tang.junhui Move uev_discard() form uevent processing thread to uevent listening thread to discard unnecessary uevents as soon as possible. Change-Id: Iaac159ffe3930e53c3325d1069c3ed497e440c0c Signed-off-by: tang.wenjun ---

[dm-devel] [PATCH 05/12] multipathd: add need_do_map to indicate whether need calling domap() in ev_remove_path()

2016-12-27 Thread tang . junhui
From: tang.junhui Usually calling domap() in ev_remove_path() is needed, but only last path need to call domap() in processing for merged uevents to reduce the count of calling domap() and promote efficiency. So add input parameter need_do_map to indicate whether need

[dm-devel] [PATCH 10/12] libmultipath: filter uevents before proccessing

2016-12-27 Thread tang . junhui
From: tang.junhui Before merging uevents, these uevents are going to be filtered: Change or addition uevent of a removed path (it indicate by an deletion uevent occurred later). Change-Id: If00c2c2e23ea466c1d4643c541ed2d8f9a0c8dea Signed-off-by: tang.junhui

[dm-devel] [PATCH 01/12] libmultipath: add wwid for "struct uevent" to record wwid of uevent

2016-12-27 Thread tang . junhui
From: tang.junhui Add "char *wwid" to point WWID of uevent. This member identifies the LUN ID which the path belongs to, and it is used for merging uevents. WWID possibly did not exist in uevent yet, so ->wwid would be NULL, those uevents would not be merged, but be