freebsd-skq/sbin
trociny cc424717c7 MFC r257155, r257582, r259191, r259192, r259193, r259194, r259195, r259196:
r257155:

Make hastctl list command output current queue sizes.

Reviewed by:	pjd

r257582 (pjd):

Correct alignment.

r259191:

For memsync replication, hio_countdown is used not only as an
indication when a request can be moved to done queue, but also for
detecting the current state of memsync request.

This approach has problems, e.g. leaking a request if memsynk ack from
the secondary failed, or racy usage of write_complete, which should be
called only once per write request, but for memsync can be entered by
local_send_thread and ggate_send_thread simultaneously.

So the following approach is implemented instead:

1) Use hio_countdown only for counting components we waiting to
   complete, i.e. initially it is always 2 for any replication mode.

2) To distinguish between "memsync ack" and "memsync fin" responses
   from the secondary, add and use hio_memsyncacked field.

3) write_complete() in component threads is called only before
   releasing hio_countdown (i.e. before the hio may be returned to the
   done queue).

4) Add and use hio_writecount refcounter to detect when
   write_complete() can be called in memsync case.

Reported by:	Pete French petefrench ingresso.co.uk
Tested by:	Pete French petefrench ingresso.co.uk

r259192:

Add some macros to make the code more readable (no functional chages).

r259193:

Fix compiler warnings.

r259194:

In remote_send_thread, if sending a request fails don't take the
request back from the receive queue -- it might already be processed
by remote_recv_thread, which lead to crashes like below:

  (primary) Unable to receive reply header: Connection reset by peer.
  (primary) Unable to send request (Connection reset by peer):
      WRITE(954662912, 131072).
  (primary) Disconnected from kopusha:7772.
  (primary) Increasing localcnt to 1.
  (primary) Assertion failed: (old > 0), function refcnt_release,
      file refcnt.h, line 62.

Taking the request back was not necessary (it would properly be
processed by the remote_recv_thread) and only complicated things.

r259195:

Send wakeup to threads waiting on empty queue before releasing the
lock to decrease spurious wakeups.

Submitted by:	davidxu

r259196:

Check remote protocol version only for the first connection (when it
is actually sent by the remote node).

Otherwise it generated confusing "Negotiated protocol version 1" debug
messages when processing the second connection.
2013-12-28 19:21:22 +00:00
..
adjkerntz Revert r253748,253749 2013-07-28 18:44:17 +00:00
atm In sbin/atm/atmconfig/diag.c, fix a few warnings about format strings 2011-12-17 00:26:45 +00:00
badsect Add missing static keywords for global variables to tools in sbin/. 2011-11-04 13:36:02 +00:00
bsdlabel Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
camcontrol MFC r257345,257382,257388: 2013-12-10 22:55:22 +00:00
ccdconfig Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
clri
comcontrol A number of places in the source tree still reference cuad.* after 2012-12-08 22:16:36 +00:00
conscontrol Changed "conscontrol unset" to accept an existing virtual 2011-04-18 20:28:07 +00:00
ddb remove duplicate semicolons where possible. 2012-10-22 03:00:37 +00:00
devd Correct the printf format specifier for total_events. 2013-07-08 21:10:30 +00:00
devfs Clarify how "hide" and "unhide" commands work on directories. 2013-07-12 06:03:25 +00:00
dhclient Change the cap_rights_t type from uint64_t to a structure that we can extend 2013-09-05 00:09:56 +00:00
dmesg Move the check whether the clear flag is set. This has 2 advantages 2013-06-11 17:46:32 +00:00
dump Mark non-returning function as such 2012-11-29 05:16:50 +00:00
dumpfs When running the -m option to generate a newfs(8) command suitable for 2013-05-16 20:07:08 +00:00
dumpon Adapt to the fact that minidumps are now on by default. 2013-04-30 07:22:03 +00:00
etherswitchcfg Improve grammar and readability. 2013-09-20 19:25:01 +00:00
fdisk Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
fdisk_pc98 Change <sys/diskpc98.h> to not redefine the same symbols that are 2013-08-07 00:00:48 +00:00
ffsinfo Cross-reference gvinum(8) instead of vinum(8). 2013-03-16 22:02:47 +00:00
fsck Make fsck and fsck_msdosfs WARNS=6 clean 2012-10-21 12:01:19 +00:00
fsck_ffs MFC r256448, r257029; 2013-12-11 19:25:17 +00:00
fsck_msdosfs Print a newline after the error message. 2012-11-03 09:18:37 +00:00
fsdb Revert 248634 and 248643 (e.g., restoring 248625 and 248639). 2013-03-23 20:00:02 +00:00
fsirand Fix sbin/ build with a 64-bit ino_t. 2012-09-27 23:31:06 +00:00
gbde Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
geom MFC 257006 2013-12-13 16:55:39 +00:00
ggate Fix warnings found by -Wmising-variable-declarations. 2012-10-19 05:43:38 +00:00
growfs MFC r256448, r257029; 2013-12-11 19:25:17 +00:00
gvinum Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
hastctl MFC r257155, r257582, r259191, r259192, r259193, r259194, r259195, r259196: 2013-12-28 19:21:22 +00:00
hastd MFC r257155, r257582, r259191, r259192, r259193, r259194, r259195, r259196: 2013-12-28 19:21:22 +00:00
ifconfig Merge r256824 from head: 2013-10-29 09:24:39 +00:00
init init: Set kernel login class and CPU mask on new processes. 2013-08-13 18:51:26 +00:00
ipf Update ipfilter 4.1.28 --> 5.1.2. 2013-09-06 23:11:19 +00:00
ipfw Remove duplicated parapgraph. 2013-07-24 08:36:29 +00:00
iscontrol Remove unimplemented options from iscsi.conf(5) manual page, mention 2013-10-10 11:28:20 +00:00
kldconfig Raise WARNS for various tools where possible. 2010-01-17 21:56:27 +00:00
kldload Remove contractions. 2013-04-11 18:46:41 +00:00
kldstat In printfile(), exit the process instead of only printing the warning. 2010-11-13 16:49:07 +00:00
kldunload
ldconfig Add a comment about why aout support is still here: We need it for 2013-03-19 16:57:04 +00:00
mca Fix a variety of compile errors with gcc48 and clang 2012-05-31 08:22:02 +00:00
md5 Add the Clang specific -Wmissing-variable-declarations to WARNS=6. 2013-04-19 19:45:00 +00:00
mdconfig Resolve fflag with realpath(). 2013-07-31 07:06:58 +00:00
mdmfs Remove trailing whitespace per mdoc lint warning 2012-03-29 05:02:12 +00:00
mknod Fix some more warnings found by clang. 2010-11-22 20:10:48 +00:00
mksnap_ffs Note that a UFS filesystem can have up to 20 active snapshots. 2011-02-15 07:25:54 +00:00
mount Minor mdoc fixes. 2013-07-18 05:46:33 +00:00
mount_cd9660 Update the manual page to reflect reality. With r138509 and r152355, 2013-03-05 23:05:43 +00:00
mount_fusefs Fix warnings found by -Wmising-variable-declarations. 2012-10-19 05:43:38 +00:00
mount_msdosfs Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
mount_nfs Document the "gssname" and "allgssname" mount options added by the 2013-07-09 01:31:36 +00:00
mount_nullfs GC unused variables. Prefer NULL over 0 for pointers. 2013-03-05 22:41:35 +00:00
mount_udf Use build_iovec() to make it less cryptic. This also fixes warnings. 2013-03-06 00:36:33 +00:00
mount_unionfs GC unused variables. Prefer NULL over 0 for pointers. 2013-03-05 22:41:35 +00:00
nandfs mdoc: remove superfluous paragraph macro. 2012-05-17 11:29:22 +00:00
natd remove duplicate semicolons where possible. 2012-10-22 03:00:37 +00:00
newfs Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
newfs_msdos Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
newfs_nandfs Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
nfsiod - Display current settings when run without options. 2009-12-26 08:36:02 +00:00
nos-tun nos-tun(8): make WARNS=3 clean 2010-03-10 18:51:13 +00:00
nvmecontrol MFC r257531: 2013-11-05 15:52:38 +00:00
pfctl - Get rid of #ifdef __FreeBSD__. 2012-09-29 16:42:01 +00:00
pflogd pflogd does not depend on libutil 2013-01-01 18:28:21 +00:00
ping Check the return error of set[ug]id. While this can never fail in the 2012-10-22 03:31:22 +00:00
ping6 Remove EOL whitespace. 2013-05-08 21:04:19 +00:00
quotacheck Fix sbin/ build with a 64-bit ino_t. 2012-09-27 23:31:06 +00:00
rcorder Fix warnings found by -Wmising-variable-declarations. 2012-10-19 05:43:38 +00:00
reboot Add a new gptboot(8) man page. Factor out the redundant information 2013-07-01 22:38:36 +00:00
recoverdisk Sweep man pages replacing ad -> ada. 2013-10-01 18:41:53 +00:00
resolvconf Add resolvconf(8) which manages resolv.conf. 2011-03-18 12:18:52 +00:00
restore Check the return error of set[e][ug]id. While this can never fail in the 2012-10-22 03:07:05 +00:00
route When destination parameter is missing, exit with a clear synopsis, 2013-10-08 08:16:17 +00:00
routed mdoc sweep 2013-05-13 18:13:50 +00:00
rtsol Add dump.c to the rtsol build. It is needed now that sec2str is non-static 2011-06-08 21:59:07 +00:00
savecore With rotating kernel dumps the higest dump number is not necessarily the 2012-12-16 23:09:27 +00:00
sconfig
setkey Correct prefix for "locally installed things" 2013-01-16 05:03:46 +00:00
shutdown Add simple example. 2013-03-19 21:40:14 +00:00
spppcontrol mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
sunlabel mdoc: fix column names, indentation, column separation within each row, and 2012-04-07 09:05:30 +00:00
swapon MFC r258469: 2013-12-25 15:40:15 +00:00
sysctl Use the right format string for line buffer. 2013-01-13 04:28:44 +00:00
tunefs Constify string pointers. 2013-05-16 21:04:56 +00:00
umount Fix memory leak in umount.c 2012-11-15 15:06:21 +00:00
Makefile Remove all legacy ATA code parts, not used since options ATA_CAM enabled in 2013-04-04 07:12:24 +00:00
Makefile.amd64 Integrate nvmecontrol(8) into the amd64 and i386 builds. 2012-09-17 21:41:38 +00:00
Makefile.arm MF tbemd: Move to using Makefile.arch to select what to build. 2010-09-13 02:25:21 +00:00
Makefile.i386 Integrate nvmecontrol(8) into the amd64 and i386 builds. 2012-09-17 21:41:38 +00:00
Makefile.ia64 MF tbemd: Move to using Makefile.arch to select what to build. 2010-09-13 02:25:21 +00:00
Makefile.inc
Makefile.mips MF tbemd: Move to using Makefile.arch to select what to build. 2010-09-13 02:25:21 +00:00
Makefile.pc98 MF tbemd: Move to using Makefile.arch to select what to build. 2010-09-13 02:25:21 +00:00
Makefile.sparc64 MF tbemd: Move to using Makefile.arch to select what to build. 2010-09-13 02:25:21 +00:00