On Tue, Oct 8, 2024 at 3:35 PM Mark Harmstone <maharmstone@xxxxxxxx> wrote: > > On 8/10/24 15:18, Filipe Manana wrote: > >>> There's also nothing in this test that is btrfs specific, it could be > >>> made a generic test instead. > >> > >> Yes there is, it's running btrfs check every time. > > > > Right, but instead of calling it explicitly, it could pass > > "_check_scratch_fs" as an argument instead, and the test becomes > > generic: > > > > _log_writes_fast_replay_check fua "$SCRATCH_DEV" "_check_scratch_fs" > > Well, we could, but this is a test for a btrfs-specific race that > existed between two known commits - this isn't a generic stress test. > There's no reason to believe a) that other filesystems are vulnerable to > this, or b) that their check programs would even pick it up. Does it mean other filesystems can never have any similar bugs in the future? Or never had similar bugs in the past but no one wrote a test for them. Does it mean all check programs for all filesystem don't have and will never have such checks? How do you know that? No one can. We write generic test cases when we are not exercising features specific to a filesystem. Similarly, we write filesystem specific test cases when we are exercising features unique for a specific filesystem. If you check git history and the mailing list, you'll see tons of examples where a generic test case was written even if a bug was detected (so far) only on a particular filesystem - i.e. what the test does can be run on any filesystem. > > Mark >