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
|
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.
|