Benjamin Marzinski | 10 Feb 19:18
Picon
Favicon

[PATCH] multipath: another manpage update

Missed an option with my last manpage update.

Signed-off-by: Benjamin Marzinski <bmarzins <at> redhat.com>
---
 multipath/multipath.conf.5 |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Index: multipath-tools-120123/multipath/multipath.conf.5
===================================================================
--- multipath-tools-120123.orig/multipath/multipath.conf.5
+++ multipath-tools-120123/multipath/multipath.conf.5
@@ -333,7 +333,9 @@ will disable the timeout.
 .TP
 .B dev_loss_tmo
 Specify the number of seconds the scsi layer will wait after a problem has
-been detected on a FC remote port before removing it from the system.
+been detected on a FC remote port before removing it from the system. This
+can be set to "infinity" which sets it to the max value of 2147483647
+seconds, or 68 years.
 .TP
 .B queue_without_daemon
 If set to

Benjamin Marzinski | 10 Feb 19:16
Picon
Favicon

[PATCH] multipath: adjust messages

Stop the rport_id messages from being dispalyed all the time, and add a message
alerting users when multipath tries to setup a map and fails, or ends up
removing the map.

Signed-off-by: Benjamin Marzinski <bmarzins <at> redhat.com>
---
 libmultipath/configure.c |    3 +++
 libmultipath/discovery.c |    2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

Index: multipath-tools-120123/libmultipath/configure.c
===================================================================
--- multipath-tools-120123.orig/libmultipath/configure.c
+++ multipath-tools-120123/libmultipath/configure.c
@@ -576,6 +576,9 @@ coalesce_paths (struct vectors * vecs, v
 				   "for create/reload map",
 				mpp->alias, r);
 			if (r == DOMAP_FAIL) {
+				condlog(2, "%s: %s map",
+					mpp->alias, (mpp->action == ACT_CREATE)?
+					"ignoring" : "removing");
 				remove_map(mpp, vecs, 0);
 				continue;
 			} else /* if (r == DOMAP_RETRY) */
Index: multipath-tools-120123/libmultipath/discovery.c
===================================================================
--- multipath-tools-120123.orig/libmultipath/discovery.c
+++ multipath-tools-120123/libmultipath/discovery.c
@@ -318,7 +318,7 @@ sysfs_set_scsi_tmo (struct multipath *mp
 	vector_foreach_slot(mpp->paths, pp, i) {
(Continue reading)

Benjamin Marzinski | 10 Feb 19:14
Picon
Favicon

[PATCH] kpartx: verify GUID partition entry size

This patch pulls in some kernel code to catch a corrupt GUID partition
table with the wrong size.

Signed-off-by: Boris Ranto <branto <at> redhat.com>
Signed-off-by: Benjamin Marzinski <bmarzins <at> redhat.com>
---
 kpartx/gpt.c |    9 +++++++++
 1 file changed, 9 insertions(+)

Index: multipath-tools-120123/kpartx/gpt.c
===================================================================
--- multipath-tools-120123.orig/kpartx/gpt.c
+++ multipath-tools-120123/kpartx/gpt.c
@@ -367,6 +367,15 @@ is_gpt_valid(int fd, uint64_t lba,
 	}

 
+	/* Check that sizeof_partition_entry has the correct value */
+	if (__le32_to_cpu((*gpt)->sizeof_partition_entry) != sizeof(gpt_entry)) {
+		// printf("GUID partition entry size check failed.\n");
+		free(*gpt);
+		*gpt = NULL;
+		return 0;
+	}
+
+
 	if (!(*ptes = alloc_read_gpt_entries(fd, *gpt))) {
 		free(*gpt);
 		*gpt = NULL;

(Continue reading)

Benjamin Marzinski | 10 Feb 19:13
Picon
Favicon

[PATCH] multipath: don't remove map twice

If setup_mutipath fails, it removes the map itself, so don't try to again.

Signed-off-by: Benjamin Marzinski <bmarzins <at> redhat.com>
---
 multipathd/main.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: multipath-tools-120123/multipathd/main.c
===================================================================
--- multipath-tools-120123.orig/multipathd/main.c
+++ multipath-tools-120123/multipathd/main.c
@@ -518,7 +518,7 @@ rescan:
 	 * update our state from kernel regardless of create or reload
 	 */
 	if (setup_multipath(vecs, mpp))
-		goto fail_map;
+		goto fail; /* if setup_multipath fails, it removes the map */

 	sync_map_state(mpp);

Benjamin Marzinski | 10 Feb 19:11
Picon
Favicon

[PATCH] multipath: cleanup dev_loss_tmo issues

There are a couple of issues with the dev_loss_tmo code.  First, the
comparison between fast_io_fail and dev_loss was failing for
fast_io_fail = -1. Second, if fast_io_fail_tmo was set to off, and
dev_loss was greater than 600, dev_loss_tmo would not be set. Finally,
verify_paths was calling sysfs_set_scsi_tmo without ever calling
select_fast_io_fail.  However, this hasn't be causing problems since
setup_map is always called immediately after verify_paths, and it calls
all the select_ functions correctly.  This patch fixes all these.  Now,
if setting dev_loss_tmo fails, and fast_io_fail is set to off, it will
retry will dev_loss_tmo set to 600. Also, the calls that are duplicated
between verify_paths and setup_map have been removed.

Signed-off-by: Benjamin Marzinski <bmarzins <at> redhat.com>
---
 libmultipath/discovery.c   |   22 +++++++++++++++-------
 libmultipath/structs_vec.c |    5 -----
 2 files changed, 15 insertions(+), 12 deletions(-)

Index: multipath-tools-120123/libmultipath/discovery.c
===================================================================
--- multipath-tools-120123.orig/libmultipath/discovery.c
+++ multipath-tools-120123/libmultipath/discovery.c
@@ -299,17 +299,17 @@ sysfs_set_scsi_tmo (struct multipath *mp
 			no_path_retry_tmo = MAX_DEV_LOSS_TMO;
 		if (no_path_retry_tmo > dev_loss_tmo)
 			dev_loss_tmo = no_path_retry_tmo;
-		condlog(3, "%s: update dev_loss_tmo to %d\n",
+		condlog(3, "%s: update dev_loss_tmo to %d",
 			mpp->alias, dev_loss_tmo);
 	} else if (mpp->no_path_retry == NO_PATH_RETRY_QUEUE) {
(Continue reading)

Benjamin Marzinski | 10 Feb 19:10
Picon
Favicon

[PATCH] multipath: fix shutdown crashes

A number of processes don't reach a pthread cancellation point
before they use the pathvec or mpvec vectors, after they've
locked the vecs lock.  This can cause crashes on shutdown, since
these vectors are deallocated.  Also, the log thread accesses a
number of resources which may have been deallocated during shutdown
without holding any locks. This patch avoids these issues by
adding pthread_testcancel() checks after acquiring the vecs lock,
and having the child process make sure the log thread has exitted
before deallocating the resources.

Signed-off-by: Benjamin Marzinski <bmarzins <at> redhat.com>
---
 libmultipath/log_pthread.c |    1 +
 libmultipath/waiter.c      |    1 +
 multipathd/main.c          |    6 +++++-
 3 files changed, 7 insertions(+), 1 deletion(-)

Index: multipath-tools-120123/multipathd/main.c
===================================================================
--- multipath-tools-120123.orig/multipathd/main.c
+++ multipath-tools-120123/multipathd/main.c
@@ -729,6 +729,7 @@ uxsock_trigger (char * str, char ** repl

 	pthread_cleanup_push(cleanup_lock, &vecs->lock);
 	lock(vecs->lock);
+	pthread_testcancel();

 	r = parse_cmd(str, reply, len, vecs);

@@ -781,7 +782,9 @@ uev_trigger (struct uevent * uev, void *
(Continue reading)

Mikulas Patocka | 10 Feb 14:10
Picon
Favicon

Re: DMLoop


On Tue, 7 Feb 2012, Bryn M. Reeves wrote:

> On 02/07/2012 10:45 AM, Aleksandar Kostadinov wrote:
> > Hello,
> > 
> > anybody knows the status of dm-loop[1]? Does it have any future?
> > Any alternatives for mapping file ranges to the underlying block
> > device?
> > 
> > [1] http://sources.redhat.com/lvm2/wiki/DMLoop
> > 
> 
> Yes and no. The original patch was really just proof-of-concept (it
> implements the loop device quite differently from traditional
> /dev/loop). This gives better I/O performance and memory footprint
> (running heavy I/O to a few loopback devices doesn't bring a small
> system to its knees for e.g.).
> 
> Apparently Jens Axboe liked the idea as he posted patches to implement
> similar changes in /dev/loop a little while later. These were not
> merged at the time because of some feedback from Christoph suggesting
> additional VFS interfaces would be needed to make the idea really
> workable. Those interfaces still aren't present but the general idea
> still seems to have legs.

Hi

Could you please describe which specific VFS interfaces do you mean?

(Continue reading)

Gerhard Wichert | 7 Feb 16:49

multipath-tools

Hi Christophe,

It would be nice if You could add the Fujitsu storage devices to the HW config 
table of the multipath tools. Find attached a diff file against version 0.4.9 
with the configuration parameters for the Fujitsu devices.

Thanks,

Gerhard

diff -rup multipath-tools-0.4.9/libmultipath/hwtable.c multipath-tools-0.4.9-
fts/libmultipath/hwtable.c
--- multipath-tools-0.4.9/libmultipath/hwtable.c        2010-05-22 
14:01:58.000000000 +0200
+++ multipath-tools-0.4.9-fts/libmultipath/hwtable.c    2012-02-07 
16:17:55.000000000 +0100
@@ -352,6 +352,22 @@ static struct hwentry default_hw[] = {
                .prio_name     = DEFAULT_PRIO,
                .prio_args     = NULL,
        },
+       {
+               .vendor        = "FUJITSU",
+               .product       = "ETERNUS_DX(L|400|8000)",
+               .getuid        = DEFAULT_GETUID,
+               .features      = "1 queue_if_no_path",
+               .hwhandler     = DEFAULT_HWHANDLER,
+               .selector      = DEFAULT_SELECTOR,
+               .pgpolicy      = GROUP_BY_PRIO,
+               .pgfailback    = -FAILBACK_IMMEDIATE,
+               .rr_weight     = RR_WEIGHT_NONE,
(Continue reading)

Joe Thornber | 2 Feb 17:39
Picon
Favicon
Gravatar

[PATCH 00/11] Latest dm-thin patches

Clean patches that merge together various fixes in the thin-dev tree.

Joe Thornber (11):
  Unlock the superblock on an error path for new metadata dev creation.
  Remove redundant arg from value_ptr()
  [dm-thin] [bio prison] Don't use the bi_next field for the holder of
    a cell.
  [dm-thin] dm_thin_remove_block() wasn't decrementing the
    mapped_blocks counter.
  [dm-thin] btree-remove - fix rebalancing of 3 nodes.
  Remove entries from the ref_count tree if they're no longer needed.
  [dm-thin] Commit every second to prevent too much of a position
    building up.
  [dm-thin] Add support for external origins.
  [dm-thin] Discard support part 1
  [dm-thin] Add support for REQ_DISCARD
  [dm-thin] some tidy ups of the __open_device() error path (Mike
    Snitzer)

 Documentation/device-mapper/thin-provisioning.txt |   38 ++-
 drivers/md/dm-thin-metadata.c                     |   25 +-
 drivers/md/dm-thin.c                              |  442 ++++++++++++++++-----
 drivers/md/persistent-data/dm-btree-internal.h    |    7 +-
 drivers/md/persistent-data/dm-btree-remove.c      |  202 ++++++----
 drivers/md/persistent-data/dm-btree.c             |   27 +-
 drivers/md/persistent-data/dm-space-map-common.c  |    3 -
 7 files changed, 531 insertions(+), 213 deletions(-)

--

-- 
1.7.5.4
(Continue reading)

George Shuklin | 31 Jan 00:25
Picon

Tutorial or sample code for device mapper

Good day.

I've trying to find any 'newbie' documentation for device mapper. 
Something like simple one-to-one IO passtrough or something like that. 
Any suggestion? Or, may be name of the simplest existing device-mapper 
based driver to research?

Thanks.

Ing. Mario De Chenno | 31 Jan 10:47
Picon
Favicon
Gravatar

git source repository

Hi,
when git source repository on kernel.org will be back online?
Best regards
--


Ing. Mario De Chenno
Centro Elaborazione Dati Amministrativi
Seconda Universita' degli Studi di Napoli
via A. De Gasperi 55, 80133 Napoli
telefono: +39 081 5667024
fax: +39 081 5667013
e-mail: mario.dechenno <at> unina2.it




Gmane