summaryrefslogtreecommitdiffstats
path: root/sbin/hastd/hast_proto.c
Commit message (Collapse)AuthorAgeFilesLines
* - Add support for 'memsync' mode. This is the fastest replication mode that'spjd2013-02-171-2/+2
| | | | | | | | | | why it will now be the default. - Bump protocol version to 2 and add backward compatibility for version 1. - Allow to specify hosts by kern.hostid as well (in addition to hostname and kern.hostuuid) in configuration file. Sponsored by: Panzura Tested by: trociny
* For functions that return -1 on failure check exactly for -1 and not forpjd2012-01-101-7/+7
| | | | | | any negative number. MFC after: 3 days
* Use PJDLOG_ASSERT() and PJDLOG_ABORT() everywhere instead of assert().pjd2011-09-271-4/+3
| | | | MFC after: 3 days
* Add missing ifdef. This fixes build with NO_OPENSSL.trociny2011-04-261-0/+2
| | | | | | Reported by: Pawel Tyll <ptyll@nitronet.pl> Approved by: pjd (mentor) MFC after: 1 week
* Remove hast_proto_recv(). It was used only in one place, wheretrociny2011-04-171-18/+0
| | | | | | | | hast_proto_recv_hdr() may be used. This also fixes the issue (introduced by r220523) with hastctl, which crashed on assert in hast_proto_recv_data(). Suggested and approved by: pjd (mentor)
* In hast_proto_recv() remove unnecessary check. The size is checkedtrociny2011-04-101-6/+1
| | | | | | | later in hast_proto_recv_data(). Approved by: pjd (mentor) MFC after: 1 week
* In hast_proto_recv_data() check that the size of the data to betrociny2011-04-101-2/+5
| | | | | | | received does not exceed the buffer size. Approved by: pjd (mentor) MFC after: 1 week
* Allow to compress on-the-wire data using two algorithms:pjd2011-03-061-0/+2
| | | | | | | | | | | - 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
* Allow to checksum on-the-wire data using either CRC32 or SHA256.pjd2011-03-061-178/+8
| | | | MFC after: 2 weeks
* Constify arguments we can constify.pjd2010-08-301-14/+16
| | | | | MFC after: 2 weeks Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com
* Eliminate dead code.pjd2010-06-141-3/+1
| | | | | | Found by: Coverity Prevent CID: 5158 MFC after: 3 days
* Fix compilation with WITHOUT_CRYPT or WITHOUT_OPENSSL options.pjd2010-04-221-0/+8
| | | | | Reported by: Andrei V. Lavreniyuk <andy.lavr@reactor-xg.kiev.ua> MFC after: 3 days
* Please welcome HAST - Highly Avalable Storage.pjd2010-02-181-0/+401
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
OpenPOWER on IntegriCloud