There are misleading error messages in the committed
As I saw in the code in DataNode.java:startDataNode
Here the error message seems a bit misleading. The error comes up when the given quantity in the configuration set to volsConfigured is set lower than -1 but in that case the error should say something like "Value configured is either less than -1 or >= ...".
Also the general error message in DataNode.java
May be better changed to "should be greater than or equal to -1" to be precise, as -1 is a valid choice.
In hdfs-default.xml I couldn't understand the phrase "The range of the value is -1 now, -1 represents the minimum of volume valids is 1." It might be better to write something clearer like "The minimum is -1 representing 1 valid remaining volume".