On Thu, May 26, 2022 at 08:01:22 AM -0700, Leah Rumancik wrote: > On Wed, May 25, 2022 at 02:23:10PM -0700, Darrick J. Wong wrote: >> Hi everyone, >> >> 3. fstesting -- new patches proposed for stable branches shouldn't >> introduce new regressions, and ideally there would also be a regression >> test that would now pass. As Dave and I have stated in the past, >> fstests is a big umbrella of a test suite, which implies that A/B >> testing is the way to go. I think at least Zorro and I would like to >> improve the tagging in fstests to make it more obvious which tests >> contain enough randomness that they cannot be expected to behave 100% >> reliably. > It would be nice to find an agreement on testing requirements. I have > attached some ideas on configs/number of tests/etc as well as the status > of my work on 5.15 below. > > >> a> I've been following the recent fstests threads, and it seems to me >> that there are really two classes of users -- sustaining people who want >> fstests to run reliably so they can tell if their backports have broken >> anything; and developers, who want the randomness to try to poke into >> dusty corners of the filesystem. Can we make it easier to associate >> random bits of data (reliability rates, etc.) with a given fstests >> configuration? And create a test group^Wtag for the tests that rely on >> RNGs to shake things up? > This would be great! > >> >> >> Thoughts? Flames? >> >> --D > This thread had good timing :) I have been working on setting up > some automated testing. Currently, 5.15.y is our priority so I have > started working on this branch. > > Patches are being selected by simply searching for the “Fixes” > tag and applying if the commit-to-be-fixed is in the stable branch, > but AUTOSEL would be nice, so I’ll start playing around with that. > Amir, it would be nice to sync up the patch selection process. I can > help share the load, especially for 5.15. > > Selecting just the tagged “Fixes” for 5.15.y for patches through > 5.17.2, 15 patches were found and applied - if there are no > complaints about the testing setup, I can go ahead and send out this > batch: > > c30a0cbd07ec xfs: use kmem_cache_free() for kmem_cache objects > 5ca5916b6bc9 xfs: punch out data fork delalloc blocks on COW writeback failure > a1de97fe296c xfs: Fix the free logic of state in xfs_attr_node_hasname > 1090427bf18f xfs: remove xfs_inew_wait > 089558bc7ba7 xfs: remove all COW fork extents when remounting readonly > 7993f1a431bc xfs: only run COW extent recovery when there are no live extents > 09654ed8a18c xfs: check sb_meta_uuid for dabuf buffer recovery > f8d92a66e810 xfs: prevent UAF in xfs_log_item_in_current_chkpt > b97cca3ba909 xfs: only bother with sync_filesystem during readonly remount > eba0549bc7d1 xfs: don't generate selinux audit messages for capability testing > e014f37db1a2 xfs: use setattr_copy to set vfs inode attributes > 70447e0ad978 xfs: async CIL flushes need pending pushes to be made stable > c8c568259772 xfs: don't include bnobt blocks when reserving free block pool > cd6f79d1fb32 xfs: run callbacks before waking waiters in xlog_state_shutdown_callbacks > 919edbadebe1 xfs: drop async cache flushes from CIL commits. > In our experience, we found that some of the patches which fix bugs would not have the associated "Fixes" tag. Hence I am currently using the script https://gist.github.com/chandanr/c1e3affdb06eb2e025f955e7a77b2338 to identify such commits along with the commits which have the "Fixes" tag. The following command line obtains the list of commits from v5.18, # list-xfs-fix-commits.sh v5.17 v5.18 --- Actual fixes --- 1: eba0549bc7d10 2: e014f37db1a2d 3: 70447e0ad9781 4: c8c5682597727 5: cd6f79d1fb324 6: 919edbadebe17 7: 9a5280b312e2e ---- Possible fixes; Along with matching regex ---- 1: 871b9316e7a77: bug 2: 41667260bc84d: bug 3: 83a44a4f47ad2: fix 4: a9a4bc8c76d74: rac.+ 5: dbd0f5299302f: rac.+ 6: 941fbdfd6dd0f: rac.+ 7: 01728b44ef1b7: bug 8: b9b1335e64030: fix 9: 82be38bcf8a2e: fix 10: d2d7c0473586d: fix 11: ab9c81ef321f9: assert 12: b5f17bec1213a: rac.+ 13: 41e6362183589: fix 14: 3c4cb76bce438: rac.+ 15: 5652ef31705f2: fail I go through each commit in the "Possible fixes" section and determine if any of those need to be backported. -- chandan