On Wed, Nov 8, 2017 at 10:27 AM, Amir Goldstein <amir73il@xxxxxxxxx> wrote: > On Wed, Nov 8, 2017 at 8:59 AM, zhangyi (F) <yi.zhang@xxxxxxxxxx> wrote: >> On 2017/11/8 5:38, Amir Goldstein Wrote: >>> For old existing merge dirs whose "origin" xattr was not set at copy up >>> time, we amend the situation on lookup. >>> >>> If no origin fh is stored in upper of a merge dir, store fh of upper most >>> lower dir or 'null' fh if lower does not support file handles. We do this >>> so we can filter out whiteouts in case lower dir is removed offline and >>> then upper dir becomes a pure upper in a future mount. >>> >>> Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> >>> --- [...] > >> At the same time, consider the opposite side, all directories move from a base filesystem which 'file >> handle' supported to a not supported one. It will trigger NULL pointer crash in ovl_verify_origin_fh() >> because fh is NULL but ofh was existed. Following change good ? >> >> - if (!ofh) >> + if (!ofh || !fh) >> return -ENODATA; >> > > Thanks for pointing that out, but change is not good because it looses the > information about finding a stored null_fh. > If we do want to stick with ovl_null_fh trick, I could pass in &ovl_null_fh > instead of NULL, in case of !ovl_can_decode_fh(origin->d_sb). > This fixes the NULL pointer crash and I can remove this special case, Zhangyi, I pushed a fix rebased on overlayfs-next from today to https://github.com/amir73il/linux/commits/ovl-whiteouts Tested it with xfs and with xfs without uuid (test patch). I did not test the migration cases that you listed. Please review. Thanks, Amir. -- To unsubscribe from this list: send the line "unsubscribe linux-unionfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html