Whamcloud - gitweb
- fixes, comments and cleanups:
- fixed test 34c from sanity.sh. It has two sub-bugs:
(1) when reg file is created by mknod and did not open as reg file, it has no lsm and has no OST object. I nthis case truncate path should set i_size into inode on MDS. This ws done correctly, but i_size was not returned corectly to client after that as mds_reint_setattr() had bug with setting body->valid |= SIZE for that case (comment added).
(2) later, in the same test, when file was opened and lsm created, MDS sent setattr RPC to OST to pass its inode attrs. As there was o_flags set to CROW, filter_setattr_internal() was confused and called fsfilt_iocontrol() instead of fsfilt_setattr(). Thus inode size was not set correctly and 0 was returned to client whereas MDS inode size should have been returned instead.
- in filter_preprw_read() more fixes about handling unexisting object. No -ENOENT should be returned and everythign should be done like object exists, but its size is 0 (thanks to Niu for catching this out).