summaryrefslogtreecommitdiffstats
path: root/0015-RH-add-multipathd-count-paths-cmd.patch
diff options
context:
space:
mode:
Diffstat (limited to '0015-RH-add-multipathd-count-paths-cmd.patch')
-rw-r--r--0015-RH-add-multipathd-count-paths-cmd.patch150
1 files changed, 0 insertions, 150 deletions
diff --git a/0015-RH-add-multipathd-count-paths-cmd.patch b/0015-RH-add-multipathd-count-paths-cmd.patch
deleted file mode 100644
index 87826ef..0000000
--- a/0015-RH-add-multipathd-count-paths-cmd.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-Index: multipath-tools/libmultipath/uevent.c
-===================================================================
---- multipath-tools.orig/libmultipath/uevent.c
-+++ multipath-tools/libmultipath/uevent.c
-@@ -52,6 +52,12 @@ pthread_mutex_t uevc_lock, *uevc_lockp =
- pthread_cond_t uev_cond, *uev_condp = &uev_cond;
- uev_trigger *my_uev_trigger;
- void * my_trigger_data;
-+int servicing_uev;
-+
-+int is_uevent_busy(void)
-+{
-+ return (uevqhp != NULL || servicing_uev);
-+}
-
- static struct uevent * alloc_uevent (void)
- {
-@@ -96,7 +102,9 @@ uevq_thread(void * et)
-
- while (1) {
- pthread_mutex_lock(uevc_lockp);
-+ servicing_uev = 0;
- pthread_cond_wait(uev_condp, uevc_lockp);
-+ servicing_uev = 1;
- pthread_mutex_unlock(uevc_lockp);
-
- service_uevq();
-Index: multipath-tools/libmultipath/uevent.h
-===================================================================
---- multipath-tools.orig/libmultipath/uevent.h
-+++ multipath-tools/libmultipath/uevent.h
-@@ -17,3 +17,4 @@ struct uevent {
-
- int uevent_listen(int (*store_uev)(struct uevent *, void * trigger_data),
- void * trigger_data);
-+int is_uevent_busy(void);
-Index: multipath-tools/multipathd/cli.c
-===================================================================
---- multipath-tools.orig/multipathd/cli.c
-+++ multipath-tools/multipathd/cli.c
-@@ -174,6 +174,7 @@ load_keys (void)
- r += add_key(keys, "devices", DEVICES, 0);
- r += add_key(keys, "format", FMT, 1);
- r += add_key(keys, "wildcards", WILDCARDS, 0);
-+ r += add_key(keys, "count", COUNT, 0);
- r += add_key(keys, "quit", QUIT, 0);
- r += add_key(keys, "exit", QUIT, 0);
-
-@@ -443,6 +444,7 @@ cli_init (void) {
- add_handler(RESTOREQ+MAPS, NULL);
- add_handler(REINSTATE+PATH, NULL);
- add_handler(FAIL+PATH, NULL);
-+ add_handler(COUNT+PATHS, NULL);
- add_handler(QUIT, NULL);
-
- return 0;
-Index: multipath-tools/multipathd/cli_handlers.h
-===================================================================
---- multipath-tools.orig/multipathd/cli_handlers.h
-+++ multipath-tools/multipathd/cli_handlers.h
-@@ -25,5 +25,6 @@ int cli_restore_all_queueing(void * v, c
- int cli_suspend(void * v, char ** reply, int * len, void * data);
- int cli_resume(void * v, char ** reply, int * len, void * data);
- int cli_reinstate(void * v, char ** reply, int * len, void * data);
-+int cli_count_paths(void * v, char ** reply, int * len, void * data);
- int cli_fail(void * v, char ** reply, int * len, void * data);
- int cli_quit(void * v, char ** reply, int * len, void * data);
-Index: multipath-tools/multipathd/main.c
-===================================================================
---- multipath-tools.orig/multipathd/main.c
-+++ multipath-tools/multipathd/main.c
-@@ -768,6 +768,7 @@ uxlsnrloop (void * ap)
- set_handler_callback(RESTOREQ+MAP, cli_restore_queueing);
- set_handler_callback(DISABLEQ+MAPS, cli_disable_all_queueing);
- set_handler_callback(RESTOREQ+MAPS, cli_restore_all_queueing);
-+ set_handler_callback(COUNT+PATHS, cli_count_paths);
- set_handler_callback(QUIT, cli_quit);
-
- umask(077);
-Index: multipath-tools/multipathd/cli.h
-===================================================================
---- multipath-tools.orig/multipathd/cli.h
-+++ multipath-tools/multipathd/cli.h
-@@ -23,6 +23,7 @@ enum {
- __BLACKLIST,
- __DEVICES,
- __FMT,
-+ __COUNT,
- __WILDCARDS,
- __QUIT,
- };
-@@ -51,6 +52,7 @@ enum {
- #define BLACKLIST (1 << __BLACKLIST)
- #define DEVICES (1 << __DEVICES)
- #define FMT (1 << __FMT)
-+#define COUNT (1 << __COUNT)
- #define WILDCARDS (1 << __WILDCARDS)
- #define QUIT (1 << __QUIT)
-
-Index: multipath-tools/multipathd/cli_handlers.c
-===================================================================
---- multipath-tools.orig/multipathd/cli_handlers.c
-+++ multipath-tools/multipathd/cli_handlers.c
-@@ -18,6 +18,29 @@
-
- #include "main.h"
- #include "cli.h"
-+#include "uevent.h"
-+
-+int
-+count_paths(char **r, int *l, struct vectors *vecs)
-+{
-+ int i, len;
-+ struct path *pp;
-+ char * reply;
-+ unsigned int maxlen = INITIAL_REPLY_LEN;
-+ int monitored_count = 0;
-+
-+ reply = MALLOC(maxlen);
-+ if (!reply)
-+ return 1;
-+ vector_foreach_slot(vecs->pathvec, pp, i)
-+ if (pp->fd != -1)
-+ monitored_count++;
-+ len = sprintf(reply, "Paths: %d\nBusy: %s\n", monitored_count,
-+ is_uevent_busy()? "True" : "False");
-+ *r = reply;
-+ *l = len + 1;
-+ return 0;
-+}
-
- int
- show_paths (char ** r, int * len, struct vectors * vecs, char * style)
-@@ -176,6 +199,16 @@ cli_list_config (void * v, char ** reply
- }
-
- int
-+cli_count_paths (void * v, char ** reply, int * len, void * data)
-+{
-+ struct vectors * vecs = (struct vectors *)data;
-+
-+ condlog(3, "count paths (operator)");
-+
-+ return count_paths(reply, len, vecs);
-+}
-+
-+int
- cli_list_paths (void * v, char ** reply, int * len, void * data)
- {
- struct vectors * vecs = (struct vectors *)data;