head	1.15;
access;
symbols
	RELENG_8_4:1.13.0.2
	RELENG_9_1_0_RELEASE:1.9.2.2.2.2
	RELENG_9_1:1.9.2.2.0.2
	RELENG_9_1_BP:1.9.2.2
	RELENG_8_3_0_RELEASE:1.2.2.4.2.1
	RELENG_8_3:1.2.2.4.0.2
	RELENG_8_3_BP:1.2.2.4
	RELENG_9_0_0_RELEASE:1.9.2.1.2.1
	RELENG_9_0:1.9.2.1.0.2
	RELENG_9_0_BP:1.9.2.1
	RELENG_9:1.9.0.2
	RELENG_9_BP:1.9
	RELENG_8_2_0_RELEASE:1.2.2.3.4.1
	RELENG_8_2:1.2.2.3.0.4
	RELENG_8_2_BP:1.2.2.3
	RELENG_8_1_0_RELEASE:1.2.2.3.2.1
	RELENG_8_1:1.2.2.3.0.2
	RELENG_8_1_BP:1.2.2.3
	RELENG_8:1.2.0.2;
locks; strict;
comment	@# @;


1.15
date	2013.05.12.00.26.22;	author svnexp;	state Exp;
branches;
next	1.14;

1.14
date	2013.04.20.00.35.20;	author svnexp;	state Exp;
branches;
next	1.13;

1.13
date	2012.11.17.01.50.21;	author svnexp;	state Exp;
branches
	1.13.2.1;
next	1.12;

1.12
date	2011.12.19.15.46.15;	author dim;	state Exp;
branches;
next	1.11;

1.11
date	2011.10.25.13.49.48;	author pjd;	state Exp;
branches;
next	1.10;

1.10
date	2011.10.25.12.26.19;	author pjd;	state Exp;
branches;
next	1.9;

1.9
date	2011.06.27.09.15.41;	author pjd;	state Exp;
branches
	1.9.2.1;
next	1.8;

1.8
date	2011.03.22.21.11.36;	author pjd;	state Exp;
branches;
next	1.7;

1.7
date	2011.03.07.10.38.18;	author pjd;	state Exp;
branches;
next	1.6;

1.6
date	2011.03.06.23.09.33;	author pjd;	state Exp;
branches;
next	1.5;

1.5
date	2011.03.06.22.56.14;	author pjd;	state Exp;
branches;
next	1.4;

1.4
date	2010.11.22.20.10.48;	author brucec;	state Exp;
branches;
next	1.3;

1.3
date	2010.04.22.19.18.10;	author pjd;	state Exp;
branches;
next	1.2;

1.2
date	2010.03.02.18.44.08;	author uqs;	state Exp;
branches
	1.2.2.1;
next	1.1;

1.1
date	2010.02.18.23.16.19;	author pjd;	state Exp;
branches;
next	;

1.13.2.1
date	2012.11.17.01.50.21;	author svnexp;	state dead;
branches;
next	1.13.2.2;

1.13.2.2
date	2013.03.28.13.03.33;	author svnexp;	state Exp;
branches;
next	;

1.9.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.9.2.1.2.1;
next	1.9.2.2;

1.9.2.2
date	2012.01.01.19.19.48;	author dim;	state Exp;
branches
	1.9.2.2.2.1;
next	1.9.2.3;

1.9.2.3
date	2012.11.17.11.36.31;	author svnexp;	state Exp;
branches;
next	1.9.2.4;

1.9.2.4
date	2013.05.26.19.02.32;	author svnexp;	state Exp;
branches;
next	;

1.9.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.9.2.1.2.2;

1.9.2.1.2.2
date	2012.11.17.08.36.31;	author svnexp;	state Exp;
branches;
next	;

1.9.2.2.2.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.9.2.2.2.2;

1.9.2.2.2.2
date	2012.11.17.08.47.21;	author svnexp;	state Exp;
branches;
next	;

1.2.2.1
date	2010.04.18.21.14.49;	author pjd;	state dead;
branches;
next	1.2.2.2;

1.2.2.2
date	2010.04.18.21.14.49;	author pjd;	state Exp;
branches;
next	1.2.2.3;

1.2.2.3
date	2010.05.01.19.12.37;	author pjd;	state Exp;
branches
	1.2.2.3.2.1
	1.2.2.3.4.1;
next	1.2.2.4;

1.2.2.4
date	2011.03.29.20.58.25;	author trociny;	state Exp;
branches
	1.2.2.4.2.1;
next	1.2.2.5;

1.2.2.5
date	2012.11.17.10.36.15;	author svnexp;	state Exp;
branches;
next	1.2.2.6;

1.2.2.6
date	2013.05.26.19.21.41;	author svnexp;	state Exp;
branches;
next	;

1.2.2.3.2.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.2.2.3.4.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.2.2.4.2.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.2.2.4.2.2;

1.2.2.4.2.2
date	2012.11.17.08.24.56;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.15
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/250503
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@# $FreeBSD: head/sbin/hastctl/Makefile 250503 2013-05-11 09:51:44Z trociny $

.include <bsd.own.mk>

.PATH:	${.CURDIR}/../hastd

PROG=	hastctl
SRCS=	activemap.c
SRCS+=	crc32.c
SRCS+=	ebuf.c
SRCS+=	hast_checksum.c hast_compression.c hast_proto.c hastctl.c
SRCS+=	lzf.c
SRCS+=	metadata.c
SRCS+=	nv.c
SRCS+=	parse.y pjdlog.c
SRCS+=	proto.c proto_common.c proto_uds.c
SRCS+=	token.l
SRCS+=	subr.c
SRCS+=	y.tab.h
MAN=	hastctl.8

NO_WFORMAT=
NO_WCAST_ALIGN=
NO_WMISSING_VARIABLE_DECLARATIONS=
CFLAGS+=-I${.CURDIR}/../hastd
CFLAGS+=-DHAVE_CAPSICUM
CFLAGS+=-DINET
.if ${MK_INET6_SUPPORT} != "no"
CFLAGS+=-DINET6
.endif
# This is needed to have WARNS > 1.
CFLAGS+=-DYY_NO_UNPUT
CFLAGS+=-DYY_NO_INPUT

DPADD=	${LIBUTIL}
LDADD=	-lutil
.if ${MK_OPENSSL} != "no"
DPADD+=	${LIBCRYPTO}
LDADD+=	-lcrypto
CFLAGS+=-DHAVE_CRYPTO
.endif

YFLAGS+=-v

CLEANFILES=y.tab.c y.tab.h y.output

.include <bsd.prog.mk>
@


1.14
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/249657
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: head/sbin/hastctl/Makefile 249657 2013-04-19 19:45:00Z ed $
d35 2
a36 2
DPADD=	${LIBL} ${LIBUTIL}
LDADD=	-ll -lutil
@


1.13
log
@Switching exporter and resync
@
text
@d1 1
a1 1
# $FreeBSD: head/sbin/hastctl/Makefile 228712 2011-12-19 15:46:15Z dim $
d24 1
@


1.13.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:03:33 +0000
@
text
@d1 46
@


1.13.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 44
# $FreeBSD: releng/8.4/sbin/hastctl/Makefile 220151 2011-03-29 20:58:25Z trociny $

.include <bsd.own.mk>

.PATH:	${.CURDIR}/../hastd

PROG=	hastctl
SRCS=	activemap.c
SRCS+=	crc32.c
SRCS+=	ebuf.c
SRCS+=	hast_checksum.c hast_compression.c hast_proto.c hastctl.c
SRCS+=	lzf.c
SRCS+=	metadata.c
SRCS+=	nv.c
SRCS+=	parse.y pjdlog.c
SRCS+=	proto.c proto_common.c proto_uds.c
SRCS+=	token.l
SRCS+=	subr.c
SRCS+=	y.tab.h
WARNS?=	6
MAN=	hastctl.8

NO_WFORMAT=
CFLAGS+=-I${.CURDIR}/../hastd
CFLAGS+=-DINET
.if ${MK_INET6_SUPPORT} != "no"
CFLAGS+=-DINET6
.endif
# This is needed to have WARNS > 1.
CFLAGS+=-DYY_NO_UNPUT

DPADD=	${LIBL} ${LIBUTIL}
LDADD=	-ll -lutil
.if ${MK_OPENSSL} != "no"
DPADD+=	${LIBCRYPTO}
LDADD+=	-lcrypto
CFLAGS+=-DHAVE_CRYPTO
.endif

YFLAGS+=-v

CLEANFILES=y.tab.c y.tab.h y.output

.include <bsd.prog.mk>
@


1.12
log
@SVN rev 228712 on 2011-12-19 15:46:15Z by dim

Use NO_WCAST_ALIGN for usr.bin/hastctl and usr.bin/hastd; the alignment
warnings in sbin/hastd/lzf.c are only emitted for i386 and amd64, and
there they can be safely ignored.

MFC after:	1 week
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.11
log
@SVN rev 226731 on 2011-10-25 13:49:48Z by pjd

Revert r226726. The line was not duplicated.

Spotted by:	pluknet
MFC after:	3 days
@
text
@d23 1
@


1.10
log
@SVN rev 226726 on 2011-10-25 12:26:19Z by pjd

Remove duplicated line.

MFC after:	3 days
@
text
@d31 1
@


1.9
log
@SVN rev 223586 on 2011-06-27 09:15:41Z by pjd

Compile hastd and hastctl with capsicum support.

X-MFC after:	capsicum merge
@
text
@a30 1
CFLAGS+=-DYY_NO_INPUT
@


1.9.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.9.2.2
log
@SVN rev 229193 on 2012-01-01 19:19:48Z by dim

MFC r228712:

Use NO_WCAST_ALIGN for usr.bin/hastctl and usr.bin/hastd; the alignment
warnings in sbin/hastd/lzf.c are only emitted for i386 and amd64, and
there they can be safely ignored.
@
text
@a22 1
NO_WCAST_ALIGN=
@


1.9.2.3
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sbin/hastctl/Makefile 229193 2012-01-01 19:19:48Z dim $
@


1.9.2.4
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251004
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sbin/hastctl/Makefile 251004 2013-05-26 18:28:36Z trociny $
d34 2
a35 2
DPADD=	${LIBUTIL}
LDADD=	-lutil
@


1.9.2.2.2.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.9.2.2.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sbin/hastctl/Makefile 229193 2012-01-01 19:19:48Z dim $
@


1.9.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.9.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sbin/hastctl/Makefile 223586 2011-06-27 09:15:41Z pjd $
@


1.8
log
@SVN rev 219884 on 2011-03-22 21:11:36Z by pjd

Forgot to commit this as part of r219873.

MFC after:	1 week
@
text
@d24 1
@


1.7
log
@SVN rev 219370 on 2011-03-07 10:38:18Z by pjd

- Turn on printf extentions.
- Load support for %T for pritning time.
- Add support for %N for printing number in human readable form.
- Add support for %S for printing sockaddr structure (currently only AF_INET
  family is supported, as this is all we need in HAST).
- Disable gcc compile-time format checking as this will no longer work.

MFC after:	2 weeks
@
text
@d16 1
a16 1
SRCS+=	proto.c proto_common.c proto_tcp4.c proto_uds.c
@


1.6
log
@SVN rev 219354 on 2011-03-06 23:09:33Z by pjd

Allow to compress on-the-wire data using two algorithms:
- HOLE - it simply turns all-zero blocks into few bytes header;
	it is extremely fast, so it is turned on by default;
	it is mostly intended to speed up initial synchronization
	where we expect many zeros;
- LZF - very fast algorithm by Marc Alexander Lehmann, which shows
	very decent compression ratio and has BSD license.

MFC after:	2 weeks
@
text
@d22 1
d32 2
a33 2
DPADD=	${LIBL}
LDADD=	-ll
@


1.5
log
@SVN rev 219351 on 2011-03-06 22:56:14Z by pjd

Allow to checksum on-the-wire data using either CRC32 or SHA256.

MFC after:	2 weeks
@
text
@d11 2
a12 1
SRCS+=	hast_checksum.c hast_proto.c hastctl.c
@


1.4
log
@SVN rev 215704 on 2010-11-22 20:10:48Z by brucec

Fix some more warnings found by clang.
@
text
@d9 1
d11 1
a11 1
SRCS+=	hast_proto.c hastctl.c
@


1.3
log
@SVN rev 207070 on 2010-04-22 19:18:10Z by pjd

Fix compilation with WITHOUT_CRYPT or WITHOUT_OPENSSL options.

Reported by:	Andrei V. Lavreniyuk <andy.lavr@@reactor-xg.kiev.ua>
MFC after:	3 days
@
text
@d27 1
@


1.2
log
@SVN rev 204596 on 2010-03-02 18:44:08Z by uqs

Remove redundant WARNS?=6 overrides and inherit the WARNS setting from
the toplevel directory.

This does not change any WARNS level and survives a make universe.

Approved by:        ed (co-mentor)
@
text
@d28 7
a34 2
DPADD=	${LIBCRYPTO} ${LIBL}
LDADD=	-lcrypto -ll
@


1.2.2.1
log
@file Makefile was added on branch RELENG_8 on 2010-04-18 21:19:33 +0000
@
text
@d1 35
@


1.2.2.2
log
@SVN rev 206810 on 2010-04-18 21:14:49Z by pjd

MFC r204076,r204077,r204083,r205279:

r204076:

Please welcome HAST - Highly Avalable Storage.

HAST allows to transparently store data on two physically separated machines
connected over the TCP/IP network. HAST works in Primary-Secondary
(Master-Backup, Master-Slave) configuration, which means that only one of the
cluster nodes can be active at any given time. Only Primary node is able to
handle I/O requests to HAST-managed devices. Currently HAST is limited to two
cluster nodes in total.

HAST operates on block level - it provides disk-like devices in /dev/hast/
directory for use by file systems and/or applications. Working on block level
makes it transparent for file systems and applications. There in no difference
between using HAST-provided device and raw disk, partition, etc. All of them
are just regular GEOM providers in FreeBSD.

For more information please consult hastd(8), hastctl(8) and hast.conf(5)
manual pages, as well as http://wiki.FreeBSD.org/HAST.

Sponsored by:	FreeBSD Foundation
Sponsored by:	OMCnet Internet Service GmbH
Sponsored by:	TransIP BV

r204077:

Remove some lines left over by accident.

r204083:

Add missing KEYWORD line.

Pointed out by:	dougb

r205279 sys:

Simplify loops.
@
text
@a0 36
# $FreeBSD$

.include <bsd.own.mk>

.PATH:	${.CURDIR}/../hastd

PROG=	hastctl
SRCS=	activemap.c
SRCS+=	ebuf.c
SRCS+=	hast_proto.c hastctl.c
SRCS+=	metadata.c
SRCS+=	nv.c
SRCS+=	parse.y pjdlog.c
SRCS+=	proto.c proto_common.c proto_tcp4.c proto_uds.c
SRCS+=	token.l
SRCS+=	subr.c
SRCS+=	y.tab.h
WARNS?=	6
MAN=	hastctl.8

CFLAGS+=-I${.CURDIR}/../hastd
CFLAGS+=-DINET
.if ${MK_INET6_SUPPORT} != "no"
CFLAGS+=-DINET6
.endif
# This is needed to have WARNS > 1.
CFLAGS+=-DYY_NO_UNPUT

DPADD=	${LIBCRYPTO} ${LIBL}
LDADD=	-lcrypto -ll

YFLAGS+=-v

CLEANFILES=y.tab.c y.tab.h y.output

.include <bsd.prog.mk>
@


1.2.2.3
log
@SVN rev 207478 on 2010-05-01 19:12:37Z by pjd

MFC r207070:

Fix compilation with WITHOUT_CRYPT or WITHOUT_OPENSSL options.

Reported by:	Andrei V. Lavreniyuk <andy.lavr@@reactor-xg.kiev.ua>
@
text
@d29 2
a30 7
DPADD=	${LIBL}
LDADD=	-ll
.if ${MK_OPENSSL} != "no"
DPADD+=	${LIBCRYPTO}
LDADD+=	-lcrypto
CFLAGS+=-DHAVE_CRYPTO
.endif
@


1.2.2.4
log
@SVN rev 220151 on 2011-03-29 20:58:25Z by trociny

MFC r219351, r219354, r219369, r219370, r219371, r219372, r219373,
  r219385, r219482, r219620, r219669, r219721, r219813, r219814,
  r219815, r219816, r219817, r219818, r219821, r219830, r219831,
  r219832, r219833, r219837, r219844, r219864, r219873, r219879,
  r219882, r219884, r219887, r219900:

r219351 (pjd):

Allow to checksum on-the-wire data using either CRC32 or SHA256.

r219354 (pjd):

Allow to compress on-the-wire data using two algorithms:
- HOLE - it simply turns all-zero blocks into few bytes header;
        it is extremely fast, so it is turned on by default;
        it is mostly intended to speed up initial synchronization
        where we expect many zeros;
- LZF - very fast algorithm by Marc Alexander Lehmann, which shows
        very decent compression ratio and has BSD license.

r219369 (pjd):

Provides three states for pjdlog_initialized, so we can also tell that
this is fist initialization ever.

r219370 (pjd), r219385 (pjd):

- Turn on printf extentions.
- Load support for %T for pritning time.
- Add support for %N for printing number in human readable form.
- Add support for %S for printing sockaddr structure (currently only AF_INET
  family is supported, as this is all we need in HAST).
- Disable gcc compile-time format checking as this will no longer work.

r219371 (pjd):

Use %S to print IP address and port number.

r219372 (pjd):

- Log size of data to synchronize in human readable form (using %N).
- Log synchronization time (using %T).
- Log synchronization speed in human readable form (using %N).

r219373 (pjd):

Print some of the numbers in human readable form (using %N).

r219482:

Make workers inherit debug level from the main process.

r219620 (pjd):

In command line options allow size to be specified using k/M/G/T
suffixes.

r219669 (pjd):

Remove #include needed for debugging.

r219721:

For secondary, set 2 * HAST_KEEPALIVE seconds timeout for incoming
connection so the worker will exit if it does not receive packets from
the primary during this interval.

Reported by:    Christian Vogt <Christian.Vogt@@haw-hamburg.de>
Tested by:      Christian Vogt <Christian.Vogt@@haw-hamburg.de>

r219813 (pjd):

If there is any traffic on one of out descriptors, we were not checking for
long running hooks. Fix it by not using select(2) timeout to decide if we want
to check hooks or not.

r219814 (pjd):

When creating connection on behalf of primary worker, set pjdlog prefix
to resource name and role, so that any logs related to that can be identified
properly.

r219815 (pjd):

Add snprlcat() and vsnprlcat() - the functions I'm always missing.
They work as a combination of snprintf(3) and strlcat(3) - the caller
can append a string build based on the given format.

r219816 (pjd):

Use snprlcat() instead of two strlcat(3)s.

r219817 (pjd):

Log when we start hooks checking and when we execute a hook.

r219818 (pjd), r219821 (pjd):

In hast.conf we define the other node's address in 'remote' variable.
This way we know how to connect to secondary node when we are primary.
The same variable is used by the secondary node - it only accepts
connections from the address stored in 'remote' variable.
In cluster configurations it is common that each node has its individual
IP address and there is one addtional shared IP address which is assigned
to primary node. It seems it is possible that if the shared IP address is
from the same network as the individual IP address it might be choosen by
the kernel as a source address for connection with the secondary node.
Such connection will be rejected by secondary, as it doesn't come from
primary node individual IP.

Add 'source' variable that allows to specify source IP address we want to
bind to before connecting to the secondary node.

r219821 (pjd):

Forgot to commit this as a part of r219818.

r219830 (pjd):

Detect situation where resource internal identifier differs.
This means that both nodes have separately managed resources that don't
have the same data.

r219831 (pjd):

Be pedantic and free nvout before exiting.

r219832 (pjd):

Increase debug level of "Checking hooks." message.

r219833 (pjd):

Remove stale comment. Yes, it is valid to set role back to init.

r219837 (pjd):

Before handling any events on descriptors check signals so we can update
our info about worker processes if any of them was terminated in the meantime.

This fixes the problem with 'hastctl status' running from a hook called on
split-brain:
1. Secondary calls a hooks and terminates.
2. Hook asks for resource status via 'hastctl status'.
3. The main hastd handles the status request by sending it to the secondary
   worker who is already dead, but because signals weren't checked yet he
   doesn't know that and we get EPIPE.

r219843 (pjd):

Fix typo.

r219844 (pjd):

Initialize localcnt on first write. This fixes assertion when we create
resource, set role to primary, do no writes, then sent it to secondary
and accept connection from primary.

r219864 (pjd):

White space cleanups.

r219873 (pjd), r219873 (pjd):

The proto API is a general purpose API, so don't use 'hast' in structures or
function names. It can now be used outside of HAST.

r219879:

For requests that are sent only to remote component use the
error from remote.

r219882:

After synchronization is complete we should make primary counters be
equal to secondary counters:

  primary_localcnt = secondary_remotecnt
  primary_remotecnt = secondary_localcnt

Previously it was done wrong and split-brain was observed after
primary had synchronized up-to-date data from secondary.

r219887 (pjd):

Add pjd copyright.

r219900 (pjd):

Don't create socketpair for connection forwarding between parent and secondary.
Secondary doesn't need to connect anywhere.

Approved by:	pjd (mentor)
@
text
@a8 1
SRCS+=	crc32.c
d10 1
a10 2
SRCS+=	hast_checksum.c hast_compression.c hast_proto.c hastctl.c
SRCS+=	lzf.c
d14 1
a14 1
SRCS+=	proto.c proto_common.c proto_uds.c
a20 1
NO_WFORMAT=
d29 2
a30 2
DPADD=	${LIBL} ${LIBUTIL}
LDADD=	-ll -lutil
@


1.2.2.5
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sbin/hastctl/Makefile 220151 2011-03-29 20:58:25Z trociny $
@


1.2.2.6
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/251005
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sbin/hastctl/Makefile 251005 2013-05-26 18:30:07Z trociny $
d32 2
a33 2
DPADD=	${LIBUTIL}
LDADD=	-lutil
@


1.2.2.4.2.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.2.2.4.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sbin/hastctl/Makefile 220151 2011-03-29 20:58:25Z trociny $
@


1.2.2.3.4.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.2.2.3.2.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.1
log
@SVN rev 204076 on 2010-02-18 23:16:19Z by pjd

Please welcome HAST - Highly Avalable Storage.

HAST allows to transparently store data on two physically separated machines
connected over the TCP/IP network. HAST works in Primary-Secondary
(Master-Backup, Master-Slave) configuration, which means that only one of the
cluster nodes can be active at any given time. Only Primary node is able to
handle I/O requests to HAST-managed devices. Currently HAST is limited to two
cluster nodes in total.

HAST operates on block level - it provides disk-like devices in /dev/hast/
directory for use by file systems and/or applications. Working on block level
makes it transparent for file systems and applications. There in no difference
between using HAST-provided device and raw disk, partition, etc. All of them
are just regular GEOM providers in FreeBSD.

For more information please consult hastd(8), hastctl(8) and hast.conf(5)
manual pages, as well as http://wiki.FreeBSD.org/HAST.

Sponsored by:	FreeBSD Foundation
Sponsored by:	OMCnet Internet Service GmbH
Sponsored by:	TransIP BV
@
text
@a17 1
WARNS?=	6
@

