|
|

12-05-2007, 03:25 AM
|
|
|
mpath_prio_pp
Title: [patch] mpath_prio_pp
Hi,
Below is the patch for the implementation of preferred path feature in the device mapper.
Preferred path feature allows the selection of a particular path for a LUN, by making proper priority assignments.
mpath_prio_pp is a callout routine for the same.Let me know your comments.
Thanks,
Veena
diff -pNaur multipath-tools-0.4.8/libmultipath/config.h multipath-tools-0.4.8.new/libmultipath/config.h
--- multipath-tools-0.4.8/libmultipath/config.h 2007-08-03 02:35:37.000000000 +0530
+++ multipath-tools-0.4.8.new/libmultipath/config.h**** 2007-11-30 12:40:33.000000000 +0530
@@ -37,6 +37,7 @@ struct mpentry {
******* char * alias;
******* char * getuid;
******* char * selector;
+****** char * getprio;
*
******* int pgpolicy;
******* int pgfailback;
diff -pNaur multipath-tools-0.4.8/libmultipath/dict.c multipath-tools-0.4.8.new/libmultipath/dict.c
--- multipath-tools-0.4.8/libmultipath/dict.c** 2007-08-03 02:35:37.000000000 +0530
+++ multipath-tools-0.4.8.new/libmultipath/dict.c****** 2007-11-30 12:13:46.000000000 +0530
@@ -933,9 +933,31 @@ mp_pg_timeout_handler(vector strvec)
******* return 0;
*}
*
+static int
+mp_prio_callout_handler(vector strvec)
+{
+******** struct mpentry * mpe = VECTOR_LAST_SLOT(conf->mptable);
+
+******** if(!mpe)
+*************** return 1;
+
+******** mpe->getprio = set_value(strvec);
+
+******** if(!mpe->getprio)
+*************** return 1;
+
+******** if (strlen(mpe->getprio) == 4 && !strcmp(mpe->getprio, "none")) {
+*************** FREE(mpe->getprio);
+*************** mpe->getprio = NULL;
+******** }
+
+******** return 0;
+}
+
*/*
* * config file keywords printing
* */
+
*static int
*snprint_mp_wwid (char * buff, int len, void * data)
*{
@@ -1068,6 +1090,17 @@ snprint_mp_pg_timeout (char * buff, int
*}
*
*static int
+snprint_mp_prio_callout(char * buff, int len, void * data)
+{
+******* struct mpentry * mpe = (struct mpentry *)data;
+
+******* if (!mpe->getprio)
+*************** return 0;
+
+******* return snprintf(buff, len, "%s", mpe->getprio);
+}
+
+static int
*snprint_hw_vendor (char * buff, int len, void * data)
*{
******* struct hwentry * hwe = (struct hwentry *)data;
@@ -1594,6 +1627,7 @@ init_keywords(void)
******* install_keyword("alias", &alias_handler, &snprint_mp_alias);
******* install_keyword("path_grouping_policy", &mp_pgpolicy_handler, &snprint_mp_path_grouping_policy);
******* install_keyword("path_selector", &mp_selector_handler, &snprint_mp_selector);
+****** install_keyword("prio_callout", &mp_prio_callout_handler, &snprint_mp_prio_callout);
******* install_keyword("failback", &mp_failback_handler, &snprint_mp_failback);
******* install_keyword("rr_weight", &mp_weight_handler, &snprint_mp_rr_weight);
******* install_keyword("no_path_retry", &mp_no_path_retry_handler, &snprint_mp_no_path_retry);
diff -pNaur multipath-tools-0.4.8/libmultipath/discovery.c multipath-tools-0.4.8.new/libmultipath/discovery.c
--- multipath-tools-0.4.8/libmultipath/discovery.c***** 2007-08-03 02:35:37.000000000 +0530
+++ multipath-tools-0.4.8.new/libmultipath/discovery.c* 2007-11-30 12:18:21.000000000 +0530
@@ -709,8 +709,11 @@ pathinfo (struct path *pp, vector hwtabl
******* * * been successfully obtained before.
******* * */
******* if (mask & DI_PRIO &&
-****** *** (pp->state != PATH_DOWN || pp->priority == PRIO_UNDEF))
+****** *** (pp->state != PATH_DOWN || pp->priority == PRIO_UNDEF)) {
+****** ******* if( !strlen(pp->wwid))
+*********************** get_uid(pp);
******* ******* get_prio(pp);
+****** }
*
******* if (mask & DI_WWID && !strlen(pp->wwid))
******* ******* get_uid(pp);
diff -pNaur multipath-tools-0.4.8/libmultipath/propsel.c multipath-tools-0.4.8.new/libmultipath/propsel.c
--- multipath-tools-0.4.8/libmultipath/propsel.c******* 2007-08-03 02:35:37.000000000 +0530
+++ multipath-tools-0.4.8.new/libmultipath/propsel.c*** 2007-11-30 12:45:21.000000000 +0530
@@ -258,7 +258,16 @@ select_getuid (struct path * pp)
*
*extern int
*select_getprio (struct path * pp)
-{
+{*****
+****** struct mpentry * mpe;
+******* if (mpe = find_mpe(pp->wwid)) {
+*************** if (mpe->getprio) {
+*********************** pp->getprio = mpe->getprio;
+*********************** condlog(3, "%s: getprio = %s (LUN setting)", pp->dev, pp->getprio);
+*********************** return 0;
+*************** }
+******* }
+
******* if (pp->hwe && pp->hwe->getprio) {
******* ******* pp->getprio = pp->hwe->getprio;
******* ******* condlog(3, "%s: getprio = %s (controller setting)",
diff -pNaur multipath-tools-0.4.8/path_priority/pp_pref_path/Makefile multipath-tools-0.4.8.new/path_priority/pp_pref_path/Makefile
--- multipath-tools-0.4.8/path_priority/pp_pref_path/Makefile** 1970-01-01 05:30:00.000000000 +0530
+++ multipath-tools-0.4.8.new/path_priority/pp_pref_path/Makefile****** 2007-11-30 11:47:21.000000000 +0530
@@ -0,0 +1,25 @@
+EXEC** ******* = mpath_prio_pp
+BUILD* ******* = glibc
+OBJS** ******* = mpath_prio_pp.o
+
+TOPDIR ******* = ../..
+include $(TOPDIR)/Makefile.inc
+
+all: $(BUILD)
+
+glibc: $(OBJS)
+****** $(CC) -o $(EXEC) $(OBJS) $(LDFLAGS)
+
+klibc: $(OBJS)
+****** $(CC) -static -o $(EXEC) $(OBJS)
+
+install: $(EXEC)
+****** install -m 755 $(EXEC) $(DESTDIR)$(bindir)/$(EXEC)
+
+uninstall:
+****** rm $(DESTDIR)$(bindir)/$(EXEC)
+clean:
+****** rm -f *.o $(EXEC)
+
+%.o:** %.c
+****** $(CC) $(CFLAGS) -c -o $@ $<
diff -pNaur multipath-tools-0.4.8/path_priority/pp_pref_path/mpath_prio_pp.c multipath-tools-0.4.8.new/path_priority/pp_pref_path/mpath_prio_pp.c
--- multipath-tools-0.4.8/path_priority/pp_pref_path/mpath_prio_pp.c*** 1970-01-01 05:30:00.000000000 +0530
+++ multipath-tools-0.4.8.new/path_priority/pp_pref_path/mpath_prio_pp.c******* 2007-12-04 16:54:21.000000000 +0530
@@ -0,0 +1,67 @@
+ /*
+ ************************************************** ***************************
+ ************************************************** ************************* *
+ ***** (C)* Copyright 2007 Hewlett-Packard Development Company, L.P********* *
+ ************************************************** ************************* *
+ * This program is free software; you can redistribute it and/or modify it** *
+ * under the terms of the GNU General Public License as published by the Free*
+ * Software* Foundation; either version 2 of the License, or (at your option)*
+ * any later version.****************************************** ************* *
+ ************************************************** ************************* *
+ * This program is distributed in the hope that it will be useful, but****** *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY*
+ * or FITNESS FOR* A PARTICULAR PURPOSE. See the GNU General Public License* *
+ * for more details.****************************************** ************** *
+ ************************************************** ************************* *
+ * You should have received a copy of the GNU General Public License along** *
+ * with this program; if not, write to the Free Software Foundation, Inc.,** *
+ * 675 Mass Ave, Cambridge, MA 02139, USA.********************************** *
+ ************************************************** ************************* *
+ * The copy of the GNU General Public License is available at*************** *
+ * /opt/hp/HPDMmultipath-tool directoy************************************** *
+ ************************************************** ************************* *
+ ************************************************** ***************************
+ */
+
+/*
+ * Prioritizer for device mapper,when a path instance is provided as the
+ * preferred path.
+
+ * This prioritizer assigns a priority value based on the comparison made
+ * between the preferred path and the path instance for which this is called.
+ * A priority value of 1 is assigned to the preferred path and 0 to the other
+ * non-preferred paths.
+
+ * Returns zero on successful assignment of priority and -1 on failure.
+ * Failure to assign priority can be caused due to invalid pathname or a missing * argument.
+ */
+
+#include<stdio.h>
+#include<string.h>
+#define HIGH 1
+#define LOW 0
+#define FILE_NAME_SIZE 256
+
+int main(int argc, char * argv[])
+{
+
+****** char path[FILE_NAME_SIZE];
+******
+****** if(argv[1] && argv[2])
+****** {
+****** ******* if(!strncmp(argv[2],"/dev/",5))
+****** ******* ******* strcpy(path,argv[2]+5);
+
+****** ******* if(!strcmp(path,argv[1]) || !strcmp(argv[1],argv[2]))
+****** ******* {
+****** ******* ******* printf("%u
", HIGH);
+****** ******* ******* return 0;
+****** ******* }
+****** ******* else
+****** ******* {
+****** ******* ******* printf("%u
", LOW);
+****** ******* ******* return 0;
+****** ******* }
+****** }
+****** return -1;
+}
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
|
|

01-09-2008, 09:45 AM
|
|
|
mpath_prio_pp
Title: RE: [dm-devel] [patch] mpath_prio_pp
Hi,
*
We would like to have the below patch committed to the CVS.
Purpose of the patch-
-- To introduce the prio_callout attribute into the multipath section of the configuration file.
-- To implement the preferred path feature in device mapper.
Uses of the patch-
-- Prio_callout attribute in the multipath section allows users to write callout routines,which can be specific to a LUN.
-- When it is known the performance of one of the path is better than the other available paths for a particular LUN, the user can set it as preferred path.
-- When there is prior knowledge about the unavailabililty of some paths for a LUN, the user can set some other path as the preferred path.
*** Paths may become unavailable due to controller firmware up gradation, switch replacement, FC replacement etc.
Thanks,
Veena
*
*
________________________________
From: dm-devel-bounces@redhat.com [mailto:dm-devel-bounces@redhat.com] On Behalf Of T S, Veena (STSD)
Sent: Wednesday, December 05, 2007 8:56 AM
To: dm-devel@redhat.com
Subject: [dm-devel] [patch] mpath_prio_pp
Hi,
Below is the patch for the implementation of preferred path feature in the device mapper.
Preferred path feature allows the selection of a particular path for a LUN, by making proper priority assignments.
mpath_prio_pp is a callout routine for the same.Let me know your comments.
Thanks,
Veena
diff -pNaur multipath-tools-0.4.8/libmultipath/config.h multipath-tools-0.4.8.new/libmultipath/config.h
--- multipath-tools-0.4.8/libmultipath/config.h 2007-08-03 02:35:37.000000000 +0530
+++ multipath-tools-0.4.8.new/libmultipath/config.h**** 2007-11-30 12:40:33.000000000 +0530
@@ -37,6 +37,7 @@ struct mpentry {
******* char * alias;
******* char * getuid;
******* char * selector;
+****** char * getprio;
*
******* int pgpolicy;
******* int pgfailback;
diff -pNaur multipath-tools-0.4.8/libmultipath/dict.c multipath-tools-0.4.8.new/libmultipath/dict.c
--- multipath-tools-0.4.8/libmultipath/dict.c** 2007-08-03 02:35:37.000000000 +0530
+++ multipath-tools-0.4.8.new/libmultipath/dict.c****** 2007-11-30 12:13:46.000000000 +0530
@@ -933,9 +933,31 @@ mp_pg_timeout_handler(vector strvec)
******* return 0;
*}
*
+static int
+mp_prio_callout_handler(vector strvec)
+{
+******** struct mpentry * mpe = VECTOR_LAST_SLOT(conf->mptable);
+
+******** if(!mpe)
+*************** return 1;
+
+******** mpe->getprio = set_value(strvec);
+
+******** if(!mpe->getprio)
+*************** return 1;
+
+******** if (strlen(mpe->getprio) == 4 && !strcmp(mpe->getprio, "none")) {
+*************** FREE(mpe->getprio);
+*************** mpe->getprio = NULL;
+******** }
+
+******** return 0;
+}
+
*/*
* * config file keywords printing
* */
+
*static int
*snprint_mp_wwid (char * buff, int len, void * data)
*{
@@ -1068,6 +1090,17 @@ snprint_mp_pg_timeout (char * buff, int
*}
*
*static int
+snprint_mp_prio_callout(char * buff, int len, void * data)
+{
+******* struct mpentry * mpe = (struct mpentry *)data;
+
+******* if (!mpe->getprio)
+*************** return 0;
+
+******* return snprintf(buff, len, "%s", mpe->getprio);
+}
+
+static int
*snprint_hw_vendor (char * buff, int len, void * data)
*{
******* struct hwentry * hwe = (struct hwentry *)data;
@@ -1594,6 +1627,7 @@ init_keywords(void)
******* install_keyword("alias", &alias_handler, &snprint_mp_alias);
******* install_keyword("path_grouping_policy", &mp_pgpolicy_handler, &snprint_mp_path_grouping_policy);
******* install_keyword("path_selector", &mp_selector_handler, &snprint_mp_selector);
+****** install_keyword("prio_callout", &mp_prio_callout_handler, &snprint_mp_prio_callout);
******* install_keyword("failback", &mp_failback_handler, &snprint_mp_failback);
******* install_keyword("rr_weight", &mp_weight_handler, &snprint_mp_rr_weight);
******* install_keyword("no_path_retry", &mp_no_path_retry_handler, &snprint_mp_no_path_retry);
diff -pNaur multipath-tools-0.4.8/libmultipath/discovery.c multipath-tools-0.4.8.new/libmultipath/discovery.c
--- multipath-tools-0.4.8/libmultipath/discovery.c***** 2007-08-03 02:35:37.000000000 +0530
+++ multipath-tools-0.4.8.new/libmultipath/discovery.c* 2007-11-30 12:18:21.000000000 +0530
@@ -709,8 +709,11 @@ pathinfo (struct path *pp, vector hwtabl
********* * been successfully obtained before.
********* */
******* if (mask & DI_PRIO &&
-********** (pp->state != PATH_DOWN || pp->priority == PRIO_UNDEF))
+********** (pp->state != PATH_DOWN || pp->priority == PRIO_UNDEF)) {
+************** if( !strlen(pp->wwid))
+*********************** get_uid(pp);
*************** get_prio(pp);
+****** }
*
******* if (mask & DI_WWID && !strlen(pp->wwid))
*************** get_uid(pp);
diff -pNaur multipath-tools-0.4.8/libmultipath/propsel.c multipath-tools-0.4.8.new/libmultipath/propsel.c
--- multipath-tools-0.4.8/libmultipath/propsel.c******* 2007-08-03 02:35:37.000000000 +0530
+++ multipath-tools-0.4.8.new/libmultipath/propsel.c*** 2007-11-30 12:45:21.000000000 +0530
@@ -258,7 +258,16 @@ select_getuid (struct path * pp)
*
*extern int
*select_getprio (struct path * pp)
-{
+{*****
+****** struct mpentry * mpe;
+******* if (mpe = find_mpe(pp->wwid)) {
+*************** if (mpe->getprio) {
+*********************** pp->getprio = mpe->getprio;
+*********************** condlog(3, "%s: getprio = %s (LUN setting)", pp->dev, pp->getprio);
+*********************** return 0;
+*************** }
+******* }
+
******* if (pp->hwe && pp->hwe->getprio) {
*************** pp->getprio = pp->hwe->getprio;
*************** condlog(3, "%s: getprio = %s (controller setting)",
diff -pNaur multipath-tools-0.4.8/path_priority/pp_pref_path/Makefile multipath-tools-0.4.8.new/path_priority/pp_pref_path/Makefile
--- multipath-tools-0.4.8/path_priority/pp_pref_path/Makefile** 1970-01-01 05:30:00.000000000 +0530
+++ multipath-tools-0.4.8.new/path_priority/pp_pref_path/Makefile****** 2007-11-30 11:47:21.000000000 +0530
@@ -0,0 +1,25 @@
+EXEC********** = mpath_prio_pp
+BUILD********* = glibc
+OBJS********** = mpath_prio_pp.o
+
+TOPDIR******** = ../..
+include $(TOPDIR)/Makefile.inc
+
+all: $(BUILD)
+
+glibc: $(OBJS)
+****** $(CC) -o $(EXEC) $(OBJS) $(LDFLAGS)
+
+klibc: $(OBJS)
+****** $(CC) -static -o $(EXEC) $(OBJS)
+
+install: $(EXEC)
+****** install -m 755 $(EXEC) $(DESTDIR)$(bindir)/$(EXEC)
+
+uninstall:
+****** rm $(DESTDIR)$(bindir)/$(EXEC)
+clean:
+****** rm -f *.o $(EXEC)
+
+%.o:** %.c
+****** $(CC) $(CFLAGS) -c -o $@ $<
diff -pNaur multipath-tools-0.4.8/path_priority/pp_pref_path/mpath_prio_pp.c multipath-tools-0.4.8.new/path_priority/pp_pref_path/mpath_prio_pp.c
--- multipath-tools-0.4.8/path_priority/pp_pref_path/mpath_prio_pp.c*** 1970-01-01 05:30:00.000000000 +0530
+++ multipath-tools-0.4.8.new/path_priority/pp_pref_path/mpath_prio_pp.c******* 2007-12-04 16:54:21.000000000 +0530
@@ -0,0 +1,67 @@
+ /*
+ ************************************************** ***************************
+ ************************************************** ************************* *
+ ***** (C)* Copyright 2007 Hewlett-Packard Development Company, L.P********* *
+ ************************************************** ************************* *
+ * This program is free software; you can redistribute it and/or modify it** *
+ * under the terms of the GNU General Public License as published by the Free*
+ * Software* Foundation; either version 2 of the License, or (at your option)*
+ * any later version.****************************************** ************* *
+ ************************************************** ************************* *
+ * This program is distributed in the hope that it will be useful, but****** *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY*
+ * or FITNESS FOR* A PARTICULAR PURPOSE. See the GNU General Public License* *
+ * for more details.****************************************** ************** *
+ ************************************************** ************************* *
+ * You should have received a copy of the GNU General Public License along** *
+ * with this program; if not, write to the Free Software Foundation, Inc.,** *
+ * 675 Mass Ave, Cambridge, MA 02139, USA.********************************** *
+ ************************************************** ************************* *
+ * The copy of the GNU General Public License is available at*************** *
+ * /opt/hp/HPDMmultipath-tool directoy************************************** *
+ ************************************************** ************************* *
+ ************************************************** ***************************
+ */
+
+/*
+ * Prioritizer for device mapper,when a path instance is provided as the
+ * preferred path.
+
+ * This prioritizer assigns a priority value based on the comparison made
+ * between the preferred path and the path instance for which this is called.
+ * A priority value of 1 is assigned to the preferred path and 0 to the other
+ * non-preferred paths.
+
+ * Returns zero on successful assignment of priority and -1 on failure.
+ * Failure to assign priority can be caused due to invalid pathname or a missing * argument.
+ */
+
+#include<stdio.h>
+#include<string.h>
+#define HIGH 1
+#define LOW 0
+#define FILE_NAME_SIZE 256
+
+int main(int argc, char * argv[])
+{
+
+****** char path[FILE_NAME_SIZE];
+******
+****** if(argv[1] && argv[2])
+****** {
+************** if(!strncmp(argv[2],"/dev/",5))
+********************** strcpy(path,argv[2]+5);
+
+************** if(!strcmp(path,argv[1]) || !strcmp(argv[1],argv[2]))
+************** {
+********************** printf("%u
", HIGH);
+********************** return 0;
+************** }
+************** else
+************** {
+********************** printf("%u
", LOW);
+********************** return 0;
+************** }
+****** }
+****** return -1;
+}
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
|
|

01-10-2008, 10:48 PM
|
|
|
mpath_prio_pp
Hi Veena,
On Wed, 9 Jan 2008 15:15:38 +0530, "T S, Veena (STSD)" wrote:
> Purpose of the patch-
> -- To introduce the prio_callout attribute into the multipath section of
> the configuration file.
The prio_callout feature has been changed to the libprio.
Please check the latest Christophe's git.
> -- To implement the preferred path feature in device mapper.
>
> Uses of the patch-
> -- Prio_callout attribute in the multipath section allows users to write
> callout routines,which can be specific to a LUN.
> -- When it is known the performance of one of the path is better than
> the other available paths for a particular LUN, the user can set it as
> preferred path.
How about opposite case such as the performance of some paths are
better than the one backup path for a particular LUN?
So if we can specify some preferred paths, that may be more useful.
> +int main(int argc, char * argv[])
> +{
> +
> + char path[FILE_NAME_SIZE];
> +
> + if(argv[1] && argv[2])
> + {
> + if(!strncmp(argv[2],"/dev/",5))
> + strcpy(path,argv[2]+5);
> +
> + if(!strcmp(path,argv[1]) || !strcmp(argv[1],argv[2]))
> + {
> + printf("%u
", HIGH);
> + return 0;
> + }
> + else
> + {
> + printf("%u
", LOW);
> + return 0;
> + }
> + }
> + return -1;
> +}
This prioritizer looks that we need to specify the preferred path
by devnode or major/minor, right?
If so, it doesn't work reliably.
Both devnode and major/minor may vary for each system reboot.
It's horrible to check and change the config file after every reboot.
We should be able to use more persistent name to specify a path,
though I don't have a good idea now...
Thanks,
Kiyoshi Ueda
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
|
|

01-17-2008, 10:44 AM
|
|
|
mpath_prio_pp
> -----Original Message-----
> From: Kiyoshi Ueda [mailto:k-ueda@ct.jp.nec.com]
> Sent: Friday, January 11, 2008 4:18 AM
> To: T S, Veena (STSD)
> Cc: dm-devel@redhat.com
> Subject: Re: [dm-devel] [patch] mpath_prio_pp
>
> Hi Veena,
>
> On Wed, 9 Jan 2008 15:15:38 +0530, "T S, Veena (STSD)" wrote:
> > Purpose of the patch-
> > -- To introduce the prio_callout attribute into the
> multipath section
> > of the configuration file.
>
> The prio_callout feature has been changed to the libprio.
> Please check the latest Christophe's git.
>
The changes made, to have the prio_callout attribute in the multipath
section
can be ported to the latest Christophe's git.
>
> > -- To implement the preferred path feature in device mapper.
> >
> > Uses of the patch-
> > -- Prio_callout attribute in the multipath section allows users to
> > write callout routines,which can be specific to a LUN.
> > -- When it is known the performance of one of the path is
> better than
> > the other available paths for a particular LUN, the user
> can set it as
> > preferred path.
>
> How about opposite case such as the performance of some paths
> are better than the one backup path for a particular LUN?
> So if we can specify some preferred paths, that may be more useful.
>
The preferred path approach implemented here is only an example to show
how
the selection of path(s) can be made for a particular LUN. Changes to
have
more than one preferred path can be made accordingly,if necessary.
>
> > +int main(int argc, char * argv[])
> > +{
> > +
> > + char path[FILE_NAME_SIZE];
> > +
> > + if(argv[1] && argv[2])
> > + {
> > + if(!strncmp(argv[2],"/dev/",5))
> > + strcpy(path,argv[2]+5);
> > +
> > + if(!strcmp(path,argv[1]) ||
> !strcmp(argv[1],argv[2]))
> > + {
> > + printf("%u
", HIGH);
> > + return 0;
> > + }
> > + else
> > + {
> > + printf("%u
", LOW);
> > + return 0;
> > + }
> > + }
> > + return -1;
> > +}
>
> This prioritizer looks that we need to specify the preferred
> path by devnode or major/minor, right?
> If so, it doesn't work reliably.
> Both devnode and major/minor may vary for each system reboot.
> It's horrible to check and change the config file after every reboot.
> We should be able to use more persistent name to specify a
> path, though I don't have a good idea now...
>
> Thanks,
> Kiyoshi Ueda
>
Thanks,
Veena
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
|
|
|
All times are GMT. The time now is 03:32 AM.
VBulletin, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org
|