On Wed, Jun 04, 2025 at 02:12:11AM +0100, Tingmao Wang wrote: > On 6/4/25 01:55, Al Viro wrote: > > On Wed, Jun 04, 2025 at 01:45:45AM +0100, Tingmao Wang wrote: > >> + rename_seqcount = read_seqbegin(&rename_lock); > >> + if (rename_seqcount % 2 == 1) { > > > > Please, describe the condition when that can happen, preferably > > along with a reproducer. > > My understanding is that when a rename is in progress the seqcount is odd, > is that correct? > > If that's the case, then the fs_race_test in patch 2 should act as a > reproducer, since it's constantly moving the directory. > > I can add a comment to explain this, thanks for pointing out. Please, read through the header declaring those primitives and read the documentation it refers to - it's useful for background. What's more, look at the area covered by rename_lock - I seriously suspect that you are greatly overestimating it.