1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
2004-03-06 multipath-tools-0.1.1
* include dlist.h in multipath main.c (PM Hahn)
* typo in hotplug script (PM Hahn)
* pass -9 opt to gzip for manpages (PM Hahn)
2004-03-05 multipath-tools-0.1.0
* add the group_by_tur policy
* add the multipathd daemon for pathchecking & DM hot-reconfig
* multipath doesn't run twice
* massive cleanups, and code restructuring
* Avoid Kernel Bug when passing too small a buffer in do_inq()
* Sync with 2.6.3-udm4 target synthax (no more PG prio)
2004-02-21 multipath-018
* From the Debian SID inclusion review (Philipp Matthias Hahn)
* use DESTDIR install prefix in the Makefile
* add man pages for devmap_name & multipath
* correct libsysfs.h includes
* fork the hotplug script in its own shell
* Sync with the kernel device mapper code as of 2.6.3-udm3
ie. Remove the test interval parameter and its uses
* Remove superfluous scsi parameter passed from hotplug
* Add the man pages to the [un]install targets
2004-02-17 multipath-017
* remove the restrictive -f flag.
Introduce a more generic "-m iopolicy" one.
* remove useless "int with_sysfs" in env struct
2004-02-04 multipath-016
* add a GROUP_BY_SERIAL flag. This should be useful for
controlers that activate they spare paths on simple IO
submition with a penalty. The StorageWorks HW defaults to
this mode, even if the MULTIBUS mode is OK.
* remove unused sg_err.c
* big restructuring : split devinfo.c from main.c. Export :
* void basename (char *, char *);
* int get_serial (int, char *);
* int get_lun_strings (char *, char *, char *, char *);
* int get_evpd_wwid(char *, char *);
* long get_disk_size (char *);
* stop passing struct env as param
* add devmap_name proggy for udev to name devmaps as per their
internal DM name and not only by their sysfs enum name (dm-*)
The corresponding udev.rules line is :
KERNEL="dm-[0-9]*", PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK="%c"
* remove make_dm_node fn & call. Rely on udev for this.
* don't rely on the linux symlink in the udev/klibc dir since
udev build doesn't use it anymore. This corrects build breakage
2004-01-19 multipath-013
* update the DM target synthax to the 2.6.0-udm5 style
2003-12-29 multipath-012
* check hotplug event refers to a block device; if not exit early
* refresh doc
* add the uninstall target in Makefile
2003-12-22 multipath-010
* tweak the install target in Makefile
* stop passing fds as argument : this change enable a strict
segregation of ugly 2.4 code
* sysfs version of get_lun_strings()
* be careful about the return of get_unique_id() since errors
formerly caught up by if(open()) in the caller fn are now returned
by get_unique_id()
* send get_serial() in unused.c
* introduce dm-simplecmd for RESUME & SUSPEND requests
* split add_map() in setup_map() & dm-addmap()
* setup_map() correctly submits "SUSPEND-RELOAD-RESUME or CREATE"
sequences instead of the bogus "RELOAD or CREATE"
* don't print .sg_dev if equal to .dev (2.6) in print_path()
* since the kernel code handles defective paths, remove all
code to cope with them :
* move do_tur() to unused.c
* remove .state from path struct
* remove .state settings & conditionals
* add a cmdline switch to force maps to failover mode,
ie 1 path per priority group
* add default policies to the whitelist array (spread io ==
MULTIBUS / io forced to 1 path == FAILOVER)
* move get_disk_size() call out of add_map() to coalesce()
* comment tricky coalesce() fn
* bogus unsused.c file renamed to unused.c
2003-12-20 multipath-010
* big ChangeLog update
* start to give a little control over target params :
introduce cmdline arg -i to control polling interval
* cope with hotplug-style calling convention :
ie "multipath scsi $DEVPATH" ... to avoid messing with
online maps not concerned by an event
* example hotplug agent to drop in /etc/hotplug.d/scsi
* revert the run & resched patch : unless someone proves me
wrong, this was overdesigned
* move commented out functions in unused.c
* update multipath target params to "udm[23] style"
* mp target now supports nr_path == 1, so do we
* add gratuitous free()
* push version forward
2003-12-15 multipath-009
* Make the HW-specific get_unique_id switch pretty
* Prepare to field-test by whitelisting all known fibre array,
try to fetch WWID from the standard EVPD 0x83 off 8 for everyone
* configure the multipath target with round-robin path selector and
conservative default for a start (udm1 style) :
yes it makes this release the firstreally useful one.
* temporarily disable map creation for single path device
due to current restrictive defaults in the kernel target.
Sistina should work it out.
* correct the strncmp logic in blacklist function.
* update the Makefiles to autodetect libgcc.a & gcc includes
"ulibc-style". Factorisation of udevdirs & others niceties
* drop a hint about absent /dev/sd? on failed open()
* implement a reschedule flag in /var/run.
Last thing the prog do before exit is check if a call to multipath
was done (but canceled by /var/run/multipath.run check) during its
execution. If so restart themain loop.
* implement a blacklist of sysfs bdev to not bother with for now
(hd,md, dm, sr, scd, ram, raw).
This avoid sending SG_IO to unappropiate devices.
* Adds a /var/run/multipath.run handling to avoid simultaneous runs.
* Remove a commented-out "printf"
* drop a libdevmapper copy in extras/multipath;
maybe discussions w/Sistina folks will bring a better solution in the future.
* drop a putchar usage in libdevmapper to compile cleanly with klibc
* drop another such usage of my own in main.c
* massage the Makefile to compile libdevmapper against klibc
* use "ld" to produce the binary rather than "gcc -static"
* stop being stupid w/ uneeded major, minor & dev in main.c:dm_mk_node()
* reverse to creating striped target for now because the multipath target
is more hairy than expected initialy
* push the version code to 009 to be in synch w/ udev
2003-11-27 multipath-007
* removes sg_err.[ch] deps
* makes sure the core code play nice with klibc
* port the sysfs calls to dlist helpers
* links against udev's sysfs (need libsysfs.a & dlist.a)
* finally define DM_TARGET as "multipath" as Joe posted the code today (not tested yet)
* push version forward (do you want it in sync with udev version?)
2003-11-19
* merged in udev-006 tree
2003-09-18 Christophe Varoqui <christophe.varoqui@free.fr>
* multipath 0.0.1 released.
* Initial release.
|