oiv source from hadoop-0.21.0 ,just a litter different