FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Device-mapper Development

 
 
LinkBack Thread Tools
 
Old 04-05-2011, 06:41 PM
 
Default multipath-tools/libmultipath config.c config.h ...

CVSROOT: /cvs/dm
Module name: multipath-tools
Branch: RHEL5_FC6
Changes by: bmarzins@sourceware.org 2011-04-05 18:41:45

Modified files:
libmultipath : config.c config.h defaults.h dict.c discovery.c

Log message:
Fix for bz #674366. Multipath has a new defaults config value file_timeout.
This allows users to set the length of time multipathd will wait for a necessary
file to appear. Previously, it used the hardcoded value, WAIT_MAX_SECONDS.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/config.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r 1=1.19.2.9&r2=1.19.2.10
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/config.h.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r 1=1.18.2.14&r2=1.18.2.15
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/defaults.h.diff?cvsroot=dm&only_with_tag=RHEL5_FC6 &r1=1.7.2.1&r2=1.7.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/dict.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1= 1.17.2.18&r2=1.17.2.19
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/discovery.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC 6&r1=1.32.2.19&r2=1.32.2.20

--- multipath-tools/libmultipath/config.c 2009/05/15 21:01:26 1.19.2.9
+++ multipath-tools/libmultipath/config.c 2011/04/05 18:41:45 1.19.2.10
@@ -417,6 +417,7 @@
conf->max_fds = 0;
conf->attribute_flags = 0;
conf->flush_on_last_del = 0;
+ conf->file_timeout = DEFAULT_FILE_TIMEOUT;

/*
* read the config file
--- multipath-tools/libmultipath/config.h 2011/02/18 18:27:00 1.18.2.14
+++ multipath-tools/libmultipath/config.h 2011/04/05 18:41:45 1.18.2.15
@@ -84,6 +84,7 @@
int pg_prio_calc;
int log_checker_err;
int fast_io_fail;
+ int file_timeout;
unsigned int dev_loss;
uid_t uid;
gid_t gid;
--- multipath-tools/libmultipath/defaults.h 2009/04/29 04:41:33 1.7.2.1
+++ multipath-tools/libmultipath/defaults.h 2011/04/05 18:41:45 1.7.2.2
@@ -12,6 +12,7 @@
#define DEFAULT_PGTIMEOUT -PGTIMEOUT_NONE
#define DEFAULT_USER_FRIENDLY_NAMES 0
#define DEFAULT_VERBOSITY 2
+#define DEFAULT_FILE_TIMEOUT 90

#define DEFAULT_CHECKINT 5
#define MAX_CHECKINT(a) (a << 2)
--- multipath-tools/libmultipath/dict.c 2011/03/18 19:50:40 1.17.2.18
+++ multipath-tools/libmultipath/dict.c 2011/04/05 18:41:45 1.17.2.19
@@ -85,6 +85,21 @@
}

static int
+file_timeout_handler(vector strvec)
+{
+ char * buff;
+ buff = set_value(strvec);
+ if (!buff)
+ return 1;
+ conf->file_timeout = atoi(buff);
+ if (conf->file_timeout < 0)
+ conf->file_timeout = DEFAULT_FILE_TIMEOUT;
+
+ FREE(buff);
+ return 0;
+}
+
+static int
udev_dir_handler(vector strvec)
{
conf->udev_dir = set_value(strvec);
@@ -1848,6 +1863,12 @@
}

static int
+snprint_file_timeout(char * buff, int len, void * data)
+{
+ return snprintf(buff, len, "%i", conf->file_timeout);
+}
+
+static int
snprint_def_udev_dir (char * buff, int len, void * data)
{
if (!conf->udev_dir)
@@ -2153,6 +2174,7 @@
install_keyword("gid", &def_gid_handler, &snprint_def_gid);
install_keyword("fast_io_fail_tmo", &def_fast_io_fail_handler, &snprint_def_fast_io_fail);
install_keyword("dev_loss_tmo", &def_dev_loss_handler, &snprint_def_dev_loss);
+ install_keyword("file_timeout", &file_timeout_handler, &snprint_file_timeout);
__deprecated install_keyword("default_selector", &def_selector_handler, NULL);
__deprecated install_keyword("default_path_grouping_policy", &def_pgpolicy_handler, NULL);
__deprecated install_keyword("default_getuid_callout", &def_getuid_callout_handler, NULL);
--- multipath-tools/libmultipath/discovery.c 2011/03/07 15:45:15 1.32.2.19
+++ multipath-tools/libmultipath/discovery.c 2011/04/05 18:41:45 1.32.2.20
@@ -181,7 +181,6 @@
* not multipath(8), ran by udev
*/
#if DAEMON
-#define WAIT_MAX_SECONDS 90
#define WAIT_LOOP_PER_SECOND 5

static int
@@ -190,7 +189,7 @@
int loop;
struct stat stats;

- loop = WAIT_MAX_SECONDS * WAIT_LOOP_PER_SECOND;
+ loop = conf->file_timeout * WAIT_LOOP_PER_SECOND;

while (--loop) {
if (stat(filename, &stats) == 0)
@@ -632,7 +631,7 @@
return 1;

#if DAEMON
- int loop = WAIT_MAX_SECONDS * WAIT_LOOP_PER_SECOND;
+ int loop = conf->file_timeout * WAIT_LOOP_PER_SECOND;

while (loop--) {
sdev = sysfs_open_device_path(attr_buff);

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 

Thread Tools




All times are GMT. The time now is 06:50 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org