minor changes
diff --git a/client/src/main/java/org/apache/crail/metadata/DataNodeStatistics.java b/client/src/main/java/org/apache/crail/metadata/DataNodeStatistics.java
index 00eebd9..f697a32 100644
--- a/client/src/main/java/org/apache/crail/metadata/DataNodeStatistics.java
+++ b/client/src/main/java/org/apache/crail/metadata/DataNodeStatistics.java
@@ -22,29 +22,29 @@
 import java.nio.ByteBuffer;
 
 public class DataNodeStatistics {
-	public static final int CSIZE = 14;
-	
+	public static int CSIZE = DataNodeStatus.CSIZE + 12;
+
+	private DataNodeStatus status;
 	private long serviceId;
 	private int freeBlockCount;
-	private short status;
 	
 	public DataNodeStatistics(){
+		this.status = new DataNodeStatus();
 		this.serviceId = 0;
 		this.freeBlockCount = 0;
-		this.status = 0;
 	}
 	
 	public int write(ByteBuffer buffer){
+		this.status.write(buffer);
 		buffer.putLong(serviceId);
 		buffer.putInt(freeBlockCount);
-		buffer.putShort(status);
 		return CSIZE;
 	}
 	
 	public void update(ByteBuffer buffer) throws UnknownHostException {
+		this.status.update(buffer);
 		this.serviceId = buffer.getLong();
 		this.freeBlockCount = buffer.getInt();
-		this.status = buffer.getShort();
 	}
 
 	public int getFreeBlockCount() {
@@ -55,12 +55,12 @@
 		this.freeBlockCount = blockCount;
 	}
 
-	public short getStatus() {
+	public DataNodeStatus getStatus() {
 		return this.status;
 	}
 
 	public void setStatus(short status) {
-		this.status = status;
+		this.status.setStatus(status);
 	}
 
 	public void setStatistics(DataNodeStatistics statistics) {
diff --git a/client/src/main/java/org/apache/crail/metadata/DataNodeStatus.java b/client/src/main/java/org/apache/crail/metadata/DataNodeStatus.java
new file mode 100644
index 0000000..2938e1f
--- /dev/null
+++ b/client/src/main/java/org/apache/crail/metadata/DataNodeStatus.java
@@ -0,0 +1,32 @@
+package org.apache.crail.metadata;
+
+import java.nio.ByteBuffer;
+
+public class DataNodeStatus {
+    public static final int CSIZE = 2;
+
+    private short status;
+
+    public static final short STATUS_DATANODE_STOP = 1;
+
+    public DataNodeStatus() {
+        this.status = 0;
+    }
+
+    public int write(ByteBuffer buffer) {
+        buffer.putShort(status);
+        return CSIZE;
+    }
+
+    public void update(ByteBuffer buffer) {
+        this.status = buffer.getShort();
+    }
+
+    public short getStatus() {
+        return this.status;
+    }
+
+    public void setStatus(short status) {
+        this.status = status;
+    }
+}
diff --git a/client/src/main/java/org/apache/crail/rpc/RpcDispatcher.java b/client/src/main/java/org/apache/crail/rpc/RpcDispatcher.java
index 605193c..4ecbdf2 100644
--- a/client/src/main/java/org/apache/crail/rpc/RpcDispatcher.java
+++ b/client/src/main/java/org/apache/crail/rpc/RpcDispatcher.java
@@ -138,6 +138,9 @@
 	@Override
 	public RpcFuture<RpcRemoveDataNode> removeDataNode(
 			InetAddress ipaddr, int port) throws Exception {
+		if(connections.length > 1) {
+			throw new Exception("removeDataNode RPC currently not supported in multi-namenode environments");
+		}
 		return connections[0].removeDataNode(ipaddr, port);
 	}
 
diff --git a/client/src/main/java/org/apache/crail/rpc/RpcErrors.java b/client/src/main/java/org/apache/crail/rpc/RpcErrors.java
index 199f130..a223e05 100644
--- a/client/src/main/java/org/apache/crail/rpc/RpcErrors.java
+++ b/client/src/main/java/org/apache/crail/rpc/RpcErrors.java
@@ -55,7 +55,6 @@
 	public static short ERR_DIR_LOCATION_AFFINITY_MISMATCH = 26;
 	public static short ERR_ADD_BLOCK_FAILED = 27;
 	public static short ERR_CREATE_FILE_BUG = 28;
-	public static short ERR_DATANODE_STOP = 29;
 
 	static {
 		messages[ERR_OK] = "ERROR: No error, all fine";
diff --git a/client/src/main/java/org/apache/crail/rpc/RpcRemoveDataNode.java b/client/src/main/java/org/apache/crail/rpc/RpcRemoveDataNode.java
index ad3db57..8e70a5d 100644
--- a/client/src/main/java/org/apache/crail/rpc/RpcRemoveDataNode.java
+++ b/client/src/main/java/org/apache/crail/rpc/RpcRemoveDataNode.java
@@ -1,5 +1,5 @@
 package org.apache.crail.rpc;
 
 public interface RpcRemoveDataNode extends RpcResponse {
-    public short getData();
+    public short getRpcStatus();
 }
diff --git a/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeRequest.java b/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeRequest.java
index f496edf..d362441 100644
--- a/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeRequest.java
+++ b/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeRequest.java
@@ -270,11 +270,11 @@
 		return this.dumpNameNodeReq;
 	}
 	
-	public RpcRequestMessage.PingNameNodeReq pingNameNode(){
+	public RpcRequestMessage.PingNameNodeReq pingNameNode() {
 		return this.pingNameNodeReq;
 	}
 
-	public RpcRequestMessage.RemoveDataNodeReq removeDataNode(){
+	public RpcRequestMessage.RemoveDataNodeReq removeDataNode() {
 		return this.removeDataNodeReq;
 	}
 }
diff --git a/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeResponse.java b/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeResponse.java
index bd1d84b..1a34586 100644
--- a/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeResponse.java
+++ b/rpc-darpc/src/main/java/org/apache/crail/namenode/rpc/darpc/DaRPCNameNodeResponse.java
@@ -301,11 +301,11 @@
 		return getDataNodeRes;
 	}	
 	
-	public RpcResponseMessage.PingNameNodeRes pingNameNode(){
+	public RpcResponseMessage.PingNameNodeRes pingNameNode() {
 		return this.pingNameNodeRes;
 	}
 
-	public RpcResponseMessage.RemoveDataNodeRes removeDataNode(){
+	public RpcResponseMessage.RemoveDataNodeRes removeDataNode() {
 		return this.removeDataNodeRes;
 	}
 }
diff --git a/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpNameNodeRequest.java b/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpNameNodeRequest.java
index 37e5503..b9f141a 100644
--- a/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpNameNodeRequest.java
+++ b/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpNameNodeRequest.java
@@ -270,11 +270,11 @@
 		return this.dumpNameNodeReq;
 	}
 	
-	public RpcRequestMessage.PingNameNodeReq pingNameNode(){
+	public RpcRequestMessage.PingNameNodeReq pingNameNode() {
 		return this.pingNameNodeReq;
 	}
 
-	public RpcRequestMessage.RemoveDataNodeReq removeDataNode(){
+	public RpcRequestMessage.RemoveDataNodeReq removeDataNode() {
 		return this.removeDataNodeReq;
 	}
 }
diff --git a/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpNameNodeResponse.java b/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpNameNodeResponse.java
index 8a01a19..9c76230 100644
--- a/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpNameNodeResponse.java
+++ b/rpc-narpc/src/main/java/org/apache/crail/namenode/rpc/tcp/TcpNameNodeResponse.java
@@ -250,12 +250,12 @@
 	public RpcResponseMessage.GetDataNodeRes getDataNode() {
 		return getDataNodeRes;
 	}	
-	
-	public RpcResponseMessage.PingNameNodeRes pingNameNode(){
+
+	public RpcResponseMessage.PingNameNodeRes pingNameNode() {
 		return this.pingNameNodeRes;
 	}
 
-	public RpcResponseMessage.RemoveDataNodeRes removeDataNode(){
+	public RpcResponseMessage.RemoveDataNodeRes removeDataNode() {
 		return this.removeDataNodeRes;
 	}
 }
diff --git a/rpc/src/main/java/org/apache/crail/rpc/RpcRequestMessage.java b/rpc/src/main/java/org/apache/crail/rpc/RpcRequestMessage.java
index 7d1f414..8055fb3 100644
--- a/rpc/src/main/java/org/apache/crail/rpc/RpcRequestMessage.java
+++ b/rpc/src/main/java/org/apache/crail/rpc/RpcRequestMessage.java
@@ -579,12 +579,12 @@
 		private InetAddress ipAddr;
 		private int port;
 
-		public RemoveDataNodeReq(){
+		public RemoveDataNodeReq() {
 			this.ipAddr = null;
 			this.port = 0;
 		}
 
-		public RemoveDataNodeReq(InetAddress addr, int port){
+		public RemoveDataNodeReq(InetAddress addr, int port) {
 			this.ipAddr = addr;
 			this.port = port;
 		}
@@ -594,7 +594,7 @@
 			return 4 + Integer.BYTES;
 		}
 
-		public short getType(){
+		public short getType() {
 			return RpcProtocol.REQ_REMOVE_DATANODE;
 		}
 
@@ -622,11 +622,11 @@
 			this.port = buffer.getInt();
 		}
 
-		public InetAddress getIPAddress(){
+		public InetAddress getIPAddress() {
 			return this.ipAddr;
 		}
 
-		public int port(){
+		public int port() {
 			return this.port;
 		}
 	}
diff --git a/rpc/src/main/java/org/apache/crail/rpc/RpcResponseMessage.java b/rpc/src/main/java/org/apache/crail/rpc/RpcResponseMessage.java
index 32697ea..37377f3 100644
--- a/rpc/src/main/java/org/apache/crail/rpc/RpcResponseMessage.java
+++ b/rpc/src/main/java/org/apache/crail/rpc/RpcResponseMessage.java
@@ -660,11 +660,11 @@
 	public static class RemoveDataNodeRes implements RpcProtocol.NameNodeRpcMessage, RpcRemoveDataNode {
 		public static int CSIZE = Short.BYTES;
 
-		private short data;
+		private short rpcStatus;
 		private short error;
 
 		public RemoveDataNodeRes() {
-			this.data = 0;
+			this.rpcStatus = 0;
 			this.error = 0;
 		}
 
@@ -672,28 +672,28 @@
 			return CSIZE;
 		}
 
-		public short getType(){
+		public short getType() {
 			return RpcProtocol.RES_REMOVE_DATANODE;
 		}
 
 		public int write(ByteBuffer buffer) {
-			buffer.putShort(data);
+			buffer.putShort(rpcStatus);
 			return CSIZE;
 		}
 
 		public void update(ByteBuffer buffer) {
-			data = buffer.getShort();
+			rpcStatus = buffer.getShort();
 		}
 
-		public short getData(){
-			return data;
+		public short getRpcStatus() {
+			return rpcStatus;
 		}
 
-		public void setData(short data) {
-			this.data = data;
+		public void setRpcStatus(short rpcStatus) {
+			this.rpcStatus = rpcStatus;
 		}
 
-		public short getError(){
+		public short getError() {
 			return error;
 		}