Skip to contentSkip to conversation

multipath: changes to NetApp's prioritizer

PATCH Applied Benjamin Marzinski 3 participants 4 messages Apr 25, 2011 – Apr 26, 2011 Device mapper

lore
Share & tools
lore

Benjamin Marzinski

author maintainer
#0 lore raw

PATCH 1/1 multipath: changes to NetApp's prioritizer

This is a patch sent to me by Martin George from NetApp. It changes the prioriziter name from netapp to ontap, and adds some minor enchancements to the prioritizer. I can send another patch to change the file names to match, but that makes it harder to see the full file history in git.

---
 libmultipath/hwtable.c             |    4 +--
 libmultipath/prio.h                |    2 -
 libmultipath/prioritizers/Makefile |    5 +++-
 libmultipath/prioritizers/netapp.c |   44 +++++++++++++++++++------------------
 multipath.conf.defaults            |    4 +--
 multipath/multipath.conf.5         |    2 -
 6 files changed, 33 insertions(+), 28 deletions(-)
libmultipath/hwtable.c +2 -2
Index: multipath-tools-110412/libmultipath/hwtable.c
===================================================================
@@ -903,7 +903,7 @@ static struct hwentry default_hw[] = {
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
 		.minio         = 128,
 		.checker_name  = DIRECTIO,
-		.prio_name     = PRIO_NETAPP,
+		.prio_name     = PRIO_ONTAP,
 		.prio_args     = NULL,
 	},
 	/*
@@ -947,7 +947,7 @@ static struct hwentry default_hw[] = {
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
 		.minio         = 128,
 		.checker_name  = DIRECTIO,
-		.prio_name     = PRIO_NETAPP,
+		.prio_name     = PRIO_ONTAP,
 		.prio_args     = NULL,
 	},
 	/*
libmultipath/prio.h +1 -1
Index: multipath-tools-110412/libmultipath/prio.h
===================================================================
@@ -21,7 +21,7 @@
 #define PRIO_EMC "emc"
 #define PRIO_HDS "hds"
 #define PRIO_HP_SW "hp_sw"
-#define PRIO_NETAPP "netapp"
+#define PRIO_ONTAP "ontap"
 #define PRIO_RANDOM "random"
 #define PRIO_RDAC "rdac"
 #define PRIO_DATACORE "datacore"
libmultipath/prioritizers/Makefile +4 -1
Index: multipath-tools-110412/libmultipath/prioritizers/Makefile
===================================================================
@@ -11,7 +11,7 @@ LIBS = \
 	libprioemc.so \
 	libpriordac.so \
 	libprioalua.so \
-	libprionetapp.so \
+	libprioontap.so \
 	libpriodatacore.so \
 	libpriohds.so
 
@@ -22,6 +22,9 @@ all: $(LIBS)
 libprioalua.so: alua.o alua_rtpg.o
 	$(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^
 
+libprioontap.so: netapp.o
+	$(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^
+
 libprio%.so: %.o
 	$(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^
 
libmultipath/prioritizers/netapp.c +23 -21

134 lines not on this page · raw message

multipath.conf.defaults +2 -2
Index: multipath-tools-110412/multipath.conf.defaults
===================================================================
@@ -503,7 +503,7 @@
 #		rr_weight		uniform
 #		rr_min_io		128
 #		path_checker		directio
-#		prio			netapp
+#		prio			ontap
 #		prio_args		""
 #	}
 #	device {
@@ -534,7 +534,7 @@
 #		rr_weight		uniform
 #		rr_min_io		128
 #		path_checker		directio
-#		prio			netapp
+#		prio			ontap
 #		prio_args		""
 #	}
 #	device {
multipath/multipath.conf.5 +1 -1
Index: multipath-tools-110412/multipath/multipath.conf.5
===================================================================
@@ -150,7 +150,7 @@ Generate the path priority for EMC array
 .B mpath_prio_alua /dev/%n
 Generate the path priority based on the SCSI-3 ALUA settings.
 .TP
-.B mpath_prio_netapp /dev/%n
+.B mpath_prio_ontap /dev/%n
 Generate the path priority for NetApp arrays.
 .TP
 .B mpath_prio_rdac /dev/%n
#1 lore raw
Quoted 1 line · Benjamin Marzinski

This is a patch sent to me by Martin George from NetApp.

Applied.

Quoted 4 lines

It changes the
prioriziter name from netapp to ontap, and adds some minor enchancements to the prioritizer. I can send another patch to change the file names to match, but that makes it harder to see the full file history in git.

Yes, the files rename is welcome too.

Signature · 3 lines
Christophe Varoqui
OpenSVC - Software to scale
http://www.opensvc.com/
#2 lore raw

which version of multipath?
my invironment is fedora12 multipath 0.4.9. multibus for netapp there is not improvment in throughput?
thanks

Quoted 21 lines · At 2011-04-25 19:48:25,"Christophe Varoqui" <[email protected]>…
Quoted 1 line · Benjamin Marzinski

This is a patch sent to me by Martin George from NetApp.

Applied.

Quoted 4 lines

It changes the
prioriziter name from netapp to ontap, and adds some minor enchancements to the prioritizer. I can send another patch to change the file names to match, but that makes it harder to see the full file history in git.

Yes, the files rename is welcome too.

Signature · 8 lines
Christophe Varoqui
OpenSVC - Software to scale
http://www.opensvc.com/

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel
#3 lore raw
Quoted 1 line · yue

which version of multipath?

upstream. you'd have to compile the multipath-tools git head from git.kernel.org to test.

Quoted 2 lines

my invironment is fedora12 multipath 0.4.9. multibus for netapp there is not improvment in throughput?

don't get you expectation too high though ... this patch is only a rename from 'netapp' to 'ontap'. I can see no fonctional change except:

@@ -194,14 +194,14 @@ static int netapp_prio(const char *dev, int fd)

        memset(&results, 0, sizeof (results));
        rc = send_gva(dev, fd, 0x41, results, &results_size);
-       if (rc == 0) {
+       if (rc >= 0) {
                tot_len = results[0] << 24 | results[1] << 16 |
                          results[2] << 8 | results[3];
                if (tot_len <= 8) {