Missing the last part, indirect block is sparse and alloc is true
A rough frame for it, but need to change to pframe_get
The indirect block part. Need to review about the error handling and
cleaning