Hi, Reynold. Sry for the late update. I followed your advice and added some inline comments there now. Please review it.

I do NOT mean the "useMemory and useDisk cannot both be true here". I mean that the block can be in just one store. .Please notice the origin comment  there said "isValid means it is either stored in-memory or on-disk."  This also indicates that the block can either be just one  store.  

What I point out is that,  even if the block is physically just in one store, the value of the memSize and diskSize can be both large than 0 here ( reason is given in my new added inline comments). Therefore, to update the blcokstatus just call the '_blocks.put(blockId, BlockStatus(storageLevel, memSize, diskSize))' in the outter scope is wrong there. And this will caused the information usage statistics wrong. You can find it on the Storage webpage. 

If there is still some problems or questions for this pull request, please just drop me a line. Thanks.