svn commit: r252517 - stable/9/sbin/hastd

Mikolaj Golub trociny at FreeBSD.org
Tue Jul 2 19:27:08 UTC 2013


Author: trociny
Date: Tue Jul  2 19:27:07 2013
New Revision: 252517
URL: http://svnweb.freebsd.org/changeset/base/252517

Log:
  MFC r248294, r248296:
  
  r248294 (pjd):
  
  Delete requests can be larger than MAXPHYS.
  
  r248296 (pjd):
  
  Minor corrections.

Modified:
  stable/9/sbin/hastd/hastd.8
  stable/9/sbin/hastd/secondary.c
Directory Properties:
  stable/9/sbin/hastd/   (props changed)

Modified: stable/9/sbin/hastd/hastd.8
==============================================================================
--- stable/9/sbin/hastd/hastd.8	Tue Jul  2 18:54:39 2013	(r252516)
+++ stable/9/sbin/hastd/hastd.8	Tue Jul  2 19:27:07 2013	(r252517)
@@ -51,7 +51,7 @@ Only one machine (cluster node) can acti
 This machine is called primary.
 The
 .Nm
-daemon operates on block level, which makes it transparent for file
+daemon operates on block level, which makes it transparent to file
 systems and applications.
 .Pp
 There is one main
@@ -68,7 +68,7 @@ The exact format is:
 hastd: <resource name> (<role>)
 .Ed
 .Pp
-When (and only when)
+If (and only if)
 .Nm
 operates in primary role for the given resource, corresponding
 .Pa /dev/hast/<name>
@@ -77,8 +77,8 @@ File systems and applications can use th
 requests to.
 Every write, delete and flush operation
 .Dv ( BIO_WRITE , BIO_DELETE , BIO_FLUSH )
-is send to local component and synchronously replicated
-to the remote (secondary) node if it is available.
+is send to local component and replicated to the remote (secondary) node if it
+is available.
 Read operations
 .Dv ( BIO_READ )
 are handled locally unless I/O error occurs or local version of the data

Modified: stable/9/sbin/hastd/secondary.c
==============================================================================
--- stable/9/sbin/hastd/secondary.c	Tue Jul  2 18:54:39 2013	(r252516)
+++ stable/9/sbin/hastd/secondary.c	Tue Jul  2 19:27:07 2013	(r252517)
@@ -582,7 +582,7 @@ requnpack(struct hast_resource *res, str
 			hio->hio_error = EINVAL;
 			goto end;
 		}
-		if (hio->hio_length > MAXPHYS) {
+		if (hio->hio_cmd != HIO_DELETE && hio->hio_length > MAXPHYS) {
 			pjdlog_error("Data length is too large (%ju > %ju).",
 			    (uintmax_t)hio->hio_length, (uintmax_t)MAXPHYS);
 			hio->hio_error = EINVAL;


More information about the svn-src-all mailing list