On 12/13, Chao Yu wrote: > On 2022/12/13 6:45, Jaegeuk Kim wrote: > > On 12/12, Chao Yu wrote: > > > On 2022/12/12 22:14, Yangtao Li wrote: > > > > Hi Chao, > > > > > > > > > The difference here is, if we use f2fs_realtime_discard_enable() in > > > > > f2fs_put_super(), we will only write checkpoint w/ CP_TRIMMED flag > > > > > when discard option is enable and device supports discard. > > > > > > > > > But actually, if discard option is disabled, we still needs to give > > > > > put_super() a chance to write checkpoint w/ CP_TRIMMED flag. > > > > > > > > Why do we still have to set the CP_TRIMMED flag when the discard opt is > > > > not set. > > > > Did I miss something? > > > > > > Hi Yangtao, > > > > > > I guess it's up to scenario. e.g. > > > > > > mount w/ nodiscard and use FITRIM to trigger in-batch discard, > > > if we set CP_TRIMMED flag during umount, next time, after mount > > > w/ discard, it doesn't to issue redundant discard. > > > > If fitrim was called with a range, we can get a wrong FI_TRIMMED flag. > > Isn't it > > We can set CP_TRIMMED flag only if fitrim was called on full range w/ 4k > granularity, > due to it will check sbi->discard_blks variable to make sure there is no > range we > haven't trimmed. > > > better to get a full discard range after remount even though some are > > redundant? > > If nodiscard is set, and sbi->discard_blks becomes zero, it says a full range > fitrim > was been triggered.
That gives another assumption, and I prefer to make it simple. > > So, previous check condition has no problem, right? > > if ((f2fs_hw_support_discard(sbi) || f2fs_hw_should_discard(sbi)) && > !sbi->discard_blks && !dropped) { > > Thanks, > > > > > > > > > Thanks, > > > > > > > > > > > Thx, > > > > Yangtao _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel