On Tue, Nov 19, 2019 at 06:22:28PM +0900, Namjae Jeon wrote: > > No idea what the code does. But I was just skimming over and find the > > above pattern somehow strange. Shouldn't this be something like > Right. > > > > > if (!READ_ONCE(sbi->s_dirt)) { > > WRITE_ONCE(sbi->s_dirt, true); > > It should be : > if (READ_ONCE(sbi->s_dirt)) { > WRITE_ONCE(sbi->s_dirt, false); > I will fix it on v3. The other option would be to an unsigned long flags field and define bits flags on it, then use test_and_set_bit, test_and_clear_bit etc. Which might be closer to the pattern we use elsewhere in the kernel.