diff --git a/dsync.go b/dsync.go
index <HASH>..<HASH> 100644
--- a/dsync.go
+++ b/dsync.go
@@ -45,8 +45,8 @@ func SetNodesWithClients(rpcClnts []RPC, rpcOwnNode int) (err error) {
 	// Validate if number of nodes is within allowable range.
 	if dnodeCount != 0 {
 		return errors.New("Cannot reinitialize dsync package")
-	} else if len(rpcClnts) < 4 {
-		return errors.New("Dsync not designed for less than 4 nodes")
+	} else if len(rpcClnts) < 2 {
+		return errors.New("Dsync not designed for less than 2 nodes")
 	} else if len(rpcClnts) > 16 {
 		return errors.New("Dsync not designed for more than 16 nodes")
 	} else if len(rpcClnts)&1 == 1 {
Relax minimum number of nodes to 2

Now that we have relaxed the quorum for reads to N/2, it actually makes sense to lower the minimum number of nodes from 4 down to 2.



This means that for a 2 node system, both nodes need to be up in order to acquire a (write) lock. To obtain a read lock just a single node (which one doesn't matter) needs to be up.