Skip to content

Commit 9d81220

Browse files
committed
Initial commit of aoetools-36
1 parent cc43042 commit 9d81220

39 files changed

+3983
-0
lines changed

COPYING

+340
Large diffs are not rendered by default.

HACKING

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Contributing
2+
3+
Thanks for your interest in contributing to the aoetools. The best
4+
way to submit proposed changes is in plain-text "patches". These
5+
patches are generated by the diff program.
6+
7+
Patches should be clean (to the point and easy to read) and should do
8+
one thing. Send multiple patches if necessary. Patches should be
9+
generated with "diff -uprN" if possible, and should be designed to be
10+
applied with "patch -p1".
11+
12+
13+
Design note:
14+
15+
The aoe-mkdevs and aoe-mkshelf scripts are expected to work with
16+
special device files forever, but the aoe-discover script will likely
17+
someday use sysfs or something similar instead of
18+
/dev/etherd/discover. The same goes for aoe-interfaces. For that
19+
reason, there is no runtime interface for giving aoe-discover an
20+
alternative to /dev/etherd at runtime. Instead, the device directory
21+
is set once and for all by make. That way, the user interface won't
22+
change or become obsolete when aoe-discover stops using
23+
/dev/etherd/discover.

Makefile

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Makefile
2+
3+
# You can edit this file or override these variables on
4+
# the commandline. For example, "make install MANDIR=/tmp/man"
5+
# would use defaults for all variables except ${MANDIR}.
6+
7+
8+
# You can set this to something like /opt/aoetools-x
9+
# if you want to install everything in one place.
10+
#
11+
# Note that even with ${PREFIX} set, the devices in
12+
# /dev/etherd will be used unless you override ${DEVDIR}.
13+
PREFIX =
14+
15+
# Your aoe-driver device files should be in ${DEVDIR}.
16+
DEVDIR = /dev/etherd
17+
18+
# The programs will be installed in ${SBINDIR}.
19+
SBINDIR = ${PREFIX}/usr/sbin
20+
MANDIR = ${PREFIX}/usr/share/man
21+
22+
# NPERSHELF is the number of slot addresses per shelf address.
23+
# This number must match the same setting in the aoe driver.
24+
#
25+
# Older aoe drivers have NPERSHELF set to 10, and newer ones
26+
# use 16.
27+
#
28+
# You can see the setting in your driver like this in the driver
29+
# source directory. (Change into the "linux" directory if you're
30+
# using the standalone driver from CORAID.)
31+
#
32+
# grep 'NPERSHELF.*=' drivers/block/aoe/aoe.h
33+
#
34+
NPERSHELF=16
35+
36+
# end of user-configurable variables
37+
38+
39+
# these scripts are created from the *.in files
40+
CONF_SCRIPTS = aoe-discover aoe-interfaces aoe-mkshelf aoe-revalidate aoe-flush aoe-stat
41+
PROGS = aoeping aoecfg aoe-sancheck
42+
COMMANDS := ${CONF_SCRIPTS} aoe-mkdevs aoe-version coraid-update ${PROGS}
43+
CFLAGS = -Wall -O -g
44+
SANCHECKLIBS = -lpthread
45+
46+
AOE_PING_OBJ = aoeping.o linux.o
47+
AOE_CFG_OBJ = aoecfg.o linux.o
48+
SANCHECK_OBJ = aoe-sancheck.o
49+
50+
all : configure ${PROGS}
51+
@true
52+
53+
configure :
54+
@for f in ${CONF_SCRIPTS}; do \
55+
sh -xc "sed -e 's!@devdir@!${DEVDIR}!g' -e 's!@npershelf@!${NPERSHELF}!g' $$f.in > $$f" || break; \
56+
done
57+
58+
# DESTDIR was put in for Rob Holland to make gentoo packaging easier
59+
install : all
60+
mkdir -p ${DESTDIR}${SBINDIR}
61+
mkdir -p ${DESTDIR}${MANDIR}/man8
62+
@for f in ${COMMANDS}; do \
63+
sh -xc "install -m 700 $$f ${DESTDIR}${SBINDIR}/$$f" || break; \
64+
sh -xc "install -m 664 $$f.8 ${DESTDIR}${MANDIR}/man8/$$f.8" || break; \
65+
done
66+
67+
clean :
68+
rm -f ${CONF_SCRIPTS} ${AOE_PING_OBJ} ${AOE_CFG_OBJ} ${SANCHECK_OBJ} ${PROGS}
69+
70+
aoeping : ${AOE_PING_OBJ}
71+
${CC} ${CFLAGS} -o $@ ${AOE_PING_OBJ}
72+
aoeping.o : aoeping.c dat.h fns.h
73+
${CC} ${CFLAGS} -o $@ -c $<
74+
linux.o : linux.c config.h
75+
${CC} ${CFLAGS} -o $@ -c $<
76+
aoecfg: ${AOE_CFG_OBJ}
77+
${CC} ${CFLAGS} -o $@ ${AOE_CFG_OBJ}
78+
aoecfg.o : aoecfg.c dat.h fns.h
79+
${CC} ${CFLAGS} -o $@ -c $<
80+
aoe-sancheck : ${SANCHECK_OBJ}
81+
-$(CC) $(CFLAGS) -o $@ ${SANCHECK_OBJ} $(SANCHECKLIBS)
82+
aoe-sancheck.o : aoe-sancheck.c
83+
-$(CC) $(CFLAGS) -o $@ -c $<
84+

NEWS

+195
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
2013-08-07 Ed Cashin <[email protected]>
2+
support debugfs-exported debug info in sos-linux
3+
release 36
4+
5+
2013-07-10 Ed Cashin <[email protected]>
6+
add pkg subdirectory for distro-specific packaging files
7+
8+
2012-09-20 Ed Cashin <[email protected]>
9+
only use one of the sysfs version files in aoe-version
10+
release 35
11+
12+
2012-06-27 Ed Cashin <[email protected]>
13+
restore payload field in aoe-stat output
14+
release 34
15+
16+
2012-01-24 Ed Cashin <[email protected]>
17+
handle missing sysfs files in aoe-stat
18+
update docs for 3.x kernels
19+
remove "function" keyword in aoe-stat for Ubuntu
20+
release 33
21+
22+
2010-08-18 Justin Sanders <[email protected]>
23+
aoe-sancheck fix: zero out every interface
24+
release 32
25+
26+
2010-08-18 Justin Sanders <[email protected]>
27+
aoe-sancheck tool diagnoses MTU and other network issues
28+
release 31
29+
30+
2009-03-03 Ed Cashin <[email protected]>
31+
aoe-version modinfo workaround: cd to a directory without aoe
32+
release 30
33+
34+
2008-12-09 Ed Cashin <[email protected]>
35+
mention that aoeping uses raw sockets in manpage
36+
use absolute path to aoe.ko when ./aoe is readable
37+
release 29
38+
39+
2008-11-11 Ed Cashin <[email protected]>
40+
remove "function" reserved word from aoe-flush (for dash shell)
41+
release 28
42+
43+
2008-08-01 Ed Cashin <[email protected]>
44+
use ".txt" extension for output file of sos-linux
45+
46+
2008-06-27 Ed Cashin <[email protected]>
47+
aoeping: recognize errors in SMART command response
48+
aoe-stat manpage improvements
49+
release 27
50+
51+
2008-05-14 "Ed L. Cashin" <[email protected]>
52+
add sos-linux tool for collecting localhost information
53+
release 26
54+
55+
2008-04-11 "Ed L. Cashin" <[email protected]>
56+
create coraid-update for uploading update file to an update target
57+
create coraid-update manpage
58+
release 25
59+
60+
2008-03-25 "Ed L. Cashin" <[email protected]>
61+
clean up aoecfg object files in "clean" target
62+
63+
2008-02-22 "Ed L. Cashin" <[email protected]>
64+
make aoeping and aoecfg more conforming to AoE protocol
65+
release 24
66+
67+
2008-01-09 "Ed L. Cashin" <[email protected]>
68+
release 23
69+
70+
2008-01-09 Sam Hopkins <[email protected]>
71+
support new payload size information from aoe driver
72+
73+
2008-01-08 "Ed L. Cashin" <[email protected]>
74+
handle aoe-flush without arguments correctly
75+
76+
2007-12-19 "Ed L. Cashin" <[email protected]>
77+
fix aoecfg manpage typo (-s for string)
78+
79+
2007-12-10 "Ed L. Cashin" <[email protected]>
80+
aoe-flush: support flushing specific devices
81+
release 22
82+
83+
2007-10-29 "Ed L. Cashin" <[email protected]>
84+
aoe-interfaces should complain about non network interfaces
85+
aoe-interfaces should accept quoted list of interfaces
86+
aoe-interfaces clearing and setting are exclusive actions
87+
release 21
88+
89+
2007-10-12 "Ed L. Cashin" <[email protected]>
90+
add Erik Quanstrom's aoecfg program
91+
signal error when specified network interface starts with digit
92+
use a tag in the AoE header
93+
do not print shelf and slot when user specified both
94+
have aoeping use a tag for the first packet
95+
add pretty printing of ATA device identify fields
96+
based on input from Joshua Nicholas
97+
release 20
98+
99+
2007-08-27 "Ed L. Cashin" <[email protected]>
100+
add copyright information
101+
support kernel.org aoe driver in aoe-version
102+
add aoetools manpage
103+
release 19
104+
105+
2007-08-08 "Ed L. Cashin" <[email protected]>
106+
distinguish between missing device nodes and wrong ones
107+
release 18
108+
109+
2007-07-26 "Ed L. Cashin" <[email protected]>
110+
aoe-mkdevs and aoe-mkshelf are for systems without udev
111+
aoe-stat warns when device node has wrong minor number
112+
new script, aoe-version, shows installed and running sfw
113+
release 17
114+
115+
2007-07-17 "Ed L. Cashin" <[email protected]>
116+
check for char devices specifically before using them
117+
118+
2007-06-01 "Ed L. Cashin" <[email protected]>
119+
workaround dash POSIX math bug
120+
release 16
121+
122+
2007-03-20 "Ed L. Cashin" <[email protected]>
123+
add quoting to aoe-flush
124+
release 15
125+
126+
2007-02-26 Marcus Rueckert <[email protected]>
127+
create the same directories we install to
128+
129+
2007-02-06 Sam Hopkins <[email protected]>
130+
add support for -c flag to aoe-interfaces
131+
add support for -a flag to aoe-flush
132+
update manpages for aoe-interfaces, aoe-flush
133+
release 14
134+
135+
2006-12-21 Sam Hopkins <[email protected]>
136+
support aoe devices without "etherd" prefix in name
137+
create new character device nodes
138+
release 13
139+
140+
2006-10-30 Sam Hopkins <[email protected]>
141+
formatting cleanup of man pages
142+
cleanup of scripts, adding error checking
143+
add aoe-flush command
144+
release 12
145+
146+
2006-10-13 David Martinez Moreno <[email protected]>
147+
aoe-stat: POSIX shell math can't count as high as bash
148+
149+
2006-09-07 Anthony Wright <[email protected]>
150+
use POSIX shell math instead of relying on dc or bc
151+
release 11
152+
153+
2006-05-25 "Ed L. Cashin" <[email protected]>
154+
update README: aoetools are for 2.6 systems
155+
release 10
156+
157+
2006-01-18 "Ed L. Cashin" <[email protected]>
158+
aoe-revalidate: notice error in writing to revalidate device
159+
release 9
160+
161+
2005-11-09 Sam Hopkins <[email protected]>
162+
add aoe-revalidate
163+
document driver compatibility
164+
release 8
165+
166+
2005-08-18 "Ed L. Cashin" <[email protected]>
167+
format sub-gigabyte device sizes correctly
168+
release 7
169+
170+
2005-08-17 "Ed L. Cashin" <[email protected]>
171+
make aoe-stat show device size
172+
release 6
173+
174+
2005-07-13 "Ed L. Cashin" <[email protected]>
175+
make number of slots per shelf configurable
176+
Rob Holland <[email protected]>: install using PREFIX
177+
"make install" builds aoeping
178+
avoid gcc 4 warnings by specifying uchar in params
179+
release 5
180+
181+
2005-05-17 "Ed L. Cashin" <[email protected]>
182+
fix typo in Makefile preventing aoeping installation: s/PROG/PROGS/
183+
add TODO file
184+
release 4
185+
186+
2005-04-14 "Ed L. Cashin" <[email protected]>
187+
add very basic SMART support to aoeping
188+
release 3
189+
190+
2005-04-12 "Ed L. Cashin" <[email protected]>
191+
add aoeping, a userland tool for simple AoE communications
192+
release 2
193+
194+
2005-03-23 "Ed L. Cashin" <[email protected]>
195+
initial release of aoetools, version 1

README

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
The aoetools are programs that assist in using ATA over Ethernet on
2+
systems with version 2.6 and newer Linux kernels.
3+
4+
Systems running 2.4 Linux kernels do not need and should not install
5+
the aoetools. The aoe driver for 2.4 kernels is self sufficient.
6+
7+
Please see the aoetools manpage for a brief list of the tools.
8+
9+
--------------------------------------------------------------------
10+
AOE DRIVER COMPATIBILITY
11+
12+
If you are using udev on your system, the aoe-mkdevs and aoe-mkshelf
13+
should not be used. Just let udev create device nodes for you. If
14+
you need to configure udev, its manpages, in conjunction with the
15+
example in the EtherDrive HOWTO FAQ, should help.
16+
17+
If you are not using udev, it is important to ensure that the device
18+
nodes in /dev/etherd match the aoe driver. Please see devnodes.txt
19+
for information.
20+
21+
--------------------------------------------------------------------
22+
BUILDING THE AOETOOLS
23+
24+
If you need to configure the software, look at the variables at the
25+
top of the Makefile. The defaults should work for most people. When
26+
using the defaults there's only one step to configure and install the
27+
aoetools software and documentation:
28+
29+
make install
30+
31+
You'll need sufficient permissions to install in the default locations
32+
if you haven't overridden them with your own locations.
33+
34+
The aoe-sancheck tool depends on libpthread. If its header and
35+
library files are not present, the aoetools makefile skips
36+
aoe-sancheck. You can install your Linux distribution's "libpthread"
37+
and "libpthread-devel" packages (They might be called something
38+
slightly different) to help aoe-sancheck to build successfully.
39+
40+
--------------------------------------------------------------------
41+
LEGACY TOOLS
42+
43+
These two are legacy commands for systems without udev.
44+
45+
aoe-mkdevs create character and block device files
46+
aoe-mkshelf create block device files for one shelf address
47+
48+
--------------------------------------------------------------------
49+
RESOURCES
50+
51+
The aoetools homepage
52+
http://aoetools.sourceforge.net/
53+
54+
The CORAID homepage
55+
http://www.coraid.com/
56+
57+
The Linux Support Page at CORAID
58+
http://support.coraid.com/support/linux/

0 commit comments

Comments
 (0)