> 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. I will replace it with test_and_set/clear_bit(). Thanks!