1*19e13b0aSDarrick J. WongXFS Maintainer Entry Profile 2*19e13b0aSDarrick J. Wong============================ 3*19e13b0aSDarrick J. Wong 4*19e13b0aSDarrick J. WongOverview 5*19e13b0aSDarrick J. Wong-------- 6*19e13b0aSDarrick J. WongXFS is a well known high-performance filesystem in the Linux kernel. 7*19e13b0aSDarrick J. WongThe aim of this project is to provide and maintain a robust and 8*19e13b0aSDarrick J. Wongperformant filesystem. 9*19e13b0aSDarrick J. Wong 10*19e13b0aSDarrick J. WongPatches are generally merged to the for-next branch of the appropriate 11*19e13b0aSDarrick J. Wonggit repository. 12*19e13b0aSDarrick J. WongAfter a testing period, the for-next branch is merged to the master 13*19e13b0aSDarrick J. Wongbranch. 14*19e13b0aSDarrick J. Wong 15*19e13b0aSDarrick J. WongKernel code are merged to the xfs-linux tree[0]. 16*19e13b0aSDarrick J. WongUserspace code are merged to the xfsprogs tree[1]. 17*19e13b0aSDarrick J. WongTest cases are merged to the xfstests tree[2]. 18*19e13b0aSDarrick J. WongOndisk format documentation are merged to the xfs-documentation tree[3]. 19*19e13b0aSDarrick J. Wong 20*19e13b0aSDarrick J. WongAll patchsets involving XFS *must* be cc'd in their entirety to the mailing 21*19e13b0aSDarrick J. Wonglist linux-xfs@vger.kernel.org. 22*19e13b0aSDarrick J. Wong 23*19e13b0aSDarrick J. WongRoles 24*19e13b0aSDarrick J. Wong----- 25*19e13b0aSDarrick J. WongThere are eight key roles in the XFS project. 26*19e13b0aSDarrick J. WongA person can take on multiple roles, and a role can be filled by 27*19e13b0aSDarrick J. Wongmultiple people. 28*19e13b0aSDarrick J. WongAnyone taking on a role is advised to check in with themselves and 29*19e13b0aSDarrick J. Wongothers on a regular basis about burnout. 30*19e13b0aSDarrick J. Wong 31*19e13b0aSDarrick J. Wong- **Outside Contributor**: Anyone who sends a patch but is not involved 32*19e13b0aSDarrick J. Wong in the XFS project on a regular basis. 33*19e13b0aSDarrick J. Wong These folks are usually people who work on other filesystems or 34*19e13b0aSDarrick J. Wong elsewhere in the kernel community. 35*19e13b0aSDarrick J. Wong 36*19e13b0aSDarrick J. Wong- **Developer**: Someone who is familiar with the XFS codebase enough to 37*19e13b0aSDarrick J. Wong write new code, documentation, and tests. 38*19e13b0aSDarrick J. Wong 39*19e13b0aSDarrick J. Wong Developers can often be found in the IRC channel mentioned by the ``C:`` 40*19e13b0aSDarrick J. Wong entry in the kernel MAINTAINERS file. 41*19e13b0aSDarrick J. Wong 42*19e13b0aSDarrick J. Wong- **Senior Developer**: A developer who is very familiar with at least 43*19e13b0aSDarrick J. Wong some part of the XFS codebase and/or other subsystems in the kernel. 44*19e13b0aSDarrick J. Wong These people collectively decide the long term goals of the project 45*19e13b0aSDarrick J. Wong and nudge the community in that direction. 46*19e13b0aSDarrick J. Wong They should help prioritize development and review work for each release 47*19e13b0aSDarrick J. Wong cycle. 48*19e13b0aSDarrick J. Wong 49*19e13b0aSDarrick J. Wong Senior developers tend to be more active participants in the IRC channel. 50*19e13b0aSDarrick J. Wong 51*19e13b0aSDarrick J. Wong- **Reviewer**: Someone (most likely also a developer) who reads code 52*19e13b0aSDarrick J. Wong submissions to decide: 53*19e13b0aSDarrick J. Wong 54*19e13b0aSDarrick J. Wong 0. Is the idea behind the contribution sound? 55*19e13b0aSDarrick J. Wong 1. Does the idea fit the goals of the project? 56*19e13b0aSDarrick J. Wong 2. Is the contribution designed correctly? 57*19e13b0aSDarrick J. Wong 3. Is the contribution polished? 58*19e13b0aSDarrick J. Wong 4. Can the contribution be tested effectively? 59*19e13b0aSDarrick J. Wong 60*19e13b0aSDarrick J. Wong Reviewers should identify themselves with an ``R:`` entry in the kernel 61*19e13b0aSDarrick J. Wong and fstests MAINTAINERS files. 62*19e13b0aSDarrick J. Wong 63*19e13b0aSDarrick J. Wong- **Testing Lead**: This person is responsible for setting the test 64*19e13b0aSDarrick J. Wong coverage goals of the project, negotiating with developers to decide 65*19e13b0aSDarrick J. Wong on new tests for new features, and making sure that developers and 66*19e13b0aSDarrick J. Wong release managers execute on the testing. 67*19e13b0aSDarrick J. Wong 68*19e13b0aSDarrick J. Wong The testing lead should identify themselves with an ``M:`` entry in 69*19e13b0aSDarrick J. Wong the XFS section of the fstests MAINTAINERS file. 70*19e13b0aSDarrick J. Wong 71*19e13b0aSDarrick J. Wong- **Bug Triager**: Someone who examines incoming bug reports in just 72*19e13b0aSDarrick J. Wong enough detail to identify the person to whom the report should be 73*19e13b0aSDarrick J. Wong forwarded. 74*19e13b0aSDarrick J. Wong 75*19e13b0aSDarrick J. Wong The bug triagers should identify themselves with a ``B:`` entry in 76*19e13b0aSDarrick J. Wong the kernel MAINTAINERS file. 77*19e13b0aSDarrick J. Wong 78*19e13b0aSDarrick J. Wong- **Release Manager**: This person merges reviewed patchsets into an 79*19e13b0aSDarrick J. Wong integration branch, tests the result locally, pushes the branch to a 80*19e13b0aSDarrick J. Wong public git repository, and sends pull requests further upstream. 81*19e13b0aSDarrick J. Wong The release manager is not expected to work on new feature patchsets. 82*19e13b0aSDarrick J. Wong If a developer and a reviewer fail to reach a resolution on some point, 83*19e13b0aSDarrick J. Wong the release manager must have the ability to intervene to try to drive a 84*19e13b0aSDarrick J. Wong resolution. 85*19e13b0aSDarrick J. Wong 86*19e13b0aSDarrick J. Wong The release manager should identify themselves with an ``M:`` entry in 87*19e13b0aSDarrick J. Wong the kernel MAINTAINERS file. 88*19e13b0aSDarrick J. Wong 89*19e13b0aSDarrick J. Wong- **Community Manager**: This person calls and moderates meetings of as many 90*19e13b0aSDarrick J. Wong XFS participants as they can get when mailing list discussions prove 91*19e13b0aSDarrick J. Wong insufficient for collective decisionmaking. 92*19e13b0aSDarrick J. Wong They may also serve as liaison between managers of the organizations 93*19e13b0aSDarrick J. Wong sponsoring work on any part of XFS. 94*19e13b0aSDarrick J. Wong 95*19e13b0aSDarrick J. Wong- **LTS Maintainer**: Someone who backports and tests bug fixes from 96*19e13b0aSDarrick J. Wong uptream to the LTS kernels. 97*19e13b0aSDarrick J. Wong There tend to be six separate LTS trees at any given time. 98*19e13b0aSDarrick J. Wong 99*19e13b0aSDarrick J. Wong The maintainer for a given LTS release should identify themselves with an 100*19e13b0aSDarrick J. Wong ``M:`` entry in the MAINTAINERS file for that LTS tree. 101*19e13b0aSDarrick J. Wong Unmaintained LTS kernels should be marked with status ``S: Orphan`` in that 102*19e13b0aSDarrick J. Wong same file. 103*19e13b0aSDarrick J. Wong 104*19e13b0aSDarrick J. WongSubmission Checklist Addendum 105*19e13b0aSDarrick J. Wong----------------------------- 106*19e13b0aSDarrick J. WongPlease follow these additional rules when submitting to XFS: 107*19e13b0aSDarrick J. Wong 108*19e13b0aSDarrick J. Wong- Patches affecting only the filesystem itself should be based against 109*19e13b0aSDarrick J. Wong the latest -rc or the for-next branch. 110*19e13b0aSDarrick J. Wong These patches will be merged back to the for-next branch. 111*19e13b0aSDarrick J. Wong 112*19e13b0aSDarrick J. Wong- Authors of patches touching other subsystems need to coordinate with 113*19e13b0aSDarrick J. Wong the maintainers of XFS and the relevant subsystems to decide how to 114*19e13b0aSDarrick J. Wong proceed with a merge. 115*19e13b0aSDarrick J. Wong 116*19e13b0aSDarrick J. Wong- Any patchset changing XFS should be cc'd in its entirety to linux-xfs. 117*19e13b0aSDarrick J. Wong Do not send partial patchsets; that makes analysis of the broader 118*19e13b0aSDarrick J. Wong context of the changes unnecessarily difficult. 119*19e13b0aSDarrick J. Wong 120*19e13b0aSDarrick J. Wong- Anyone making kernel changes that have corresponding changes to the 121*19e13b0aSDarrick J. Wong userspace utilities should send the userspace changes as separate 122*19e13b0aSDarrick J. Wong patchsets immediately after the kernel patchsets. 123*19e13b0aSDarrick J. Wong 124*19e13b0aSDarrick J. Wong- Authors of bug fix patches are expected to use fstests[2] to perform 125*19e13b0aSDarrick J. Wong an A/B test of the patch to determine that there are no regressions. 126*19e13b0aSDarrick J. Wong When possible, a new regression test case should be written for 127*19e13b0aSDarrick J. Wong fstests. 128*19e13b0aSDarrick J. Wong 129*19e13b0aSDarrick J. Wong- Authors of new feature patchsets must ensure that fstests will have 130*19e13b0aSDarrick J. Wong appropriate functional and input corner-case test cases for the new 131*19e13b0aSDarrick J. Wong feature. 132*19e13b0aSDarrick J. Wong 133*19e13b0aSDarrick J. Wong- When implementing a new feature, it is strongly suggested that the 134*19e13b0aSDarrick J. Wong developers write a design document to answer the following questions: 135*19e13b0aSDarrick J. Wong 136*19e13b0aSDarrick J. Wong * **What** problem is this trying to solve? 137*19e13b0aSDarrick J. Wong 138*19e13b0aSDarrick J. Wong * **Who** will benefit from this solution, and **where** will they 139*19e13b0aSDarrick J. Wong access it? 140*19e13b0aSDarrick J. Wong 141*19e13b0aSDarrick J. Wong * **How** will this new feature work? This should touch on major data 142*19e13b0aSDarrick J. Wong structures and algorithms supporting the solution at a higher level 143*19e13b0aSDarrick J. Wong than code comments. 144*19e13b0aSDarrick J. Wong 145*19e13b0aSDarrick J. Wong * **What** userspace interfaces are necessary to build off of the new 146*19e13b0aSDarrick J. Wong features? 147*19e13b0aSDarrick J. Wong 148*19e13b0aSDarrick J. Wong * **How** will this work be tested to ensure that it solves the 149*19e13b0aSDarrick J. Wong problems laid out in the design document without causing new 150*19e13b0aSDarrick J. Wong problems? 151*19e13b0aSDarrick J. Wong 152*19e13b0aSDarrick J. Wong The design document should be committed in the kernel documentation 153*19e13b0aSDarrick J. Wong directory. 154*19e13b0aSDarrick J. Wong It may be omitted if the feature is already well known to the 155*19e13b0aSDarrick J. Wong community. 156*19e13b0aSDarrick J. Wong 157*19e13b0aSDarrick J. Wong- Patchsets for the new tests should be submitted as separate patchsets 158*19e13b0aSDarrick J. Wong immediately after the kernel and userspace code patchsets. 159*19e13b0aSDarrick J. Wong 160*19e13b0aSDarrick J. Wong- Changes to the on-disk format of XFS must be described in the ondisk 161*19e13b0aSDarrick J. Wong format document[3] and submitted as a patchset after the fstests 162*19e13b0aSDarrick J. Wong patchsets. 163*19e13b0aSDarrick J. Wong 164*19e13b0aSDarrick J. Wong- Patchsets implementing bug fixes and further code cleanups should put 165*19e13b0aSDarrick J. Wong the bug fixes at the beginning of the series to ease backporting. 166*19e13b0aSDarrick J. Wong 167*19e13b0aSDarrick J. WongKey Release Cycle Dates 168*19e13b0aSDarrick J. Wong----------------------- 169*19e13b0aSDarrick J. WongBug fixes may be sent at any time, though the release manager may decide to 170*19e13b0aSDarrick J. Wongdefer a patch when the next merge window is close. 171*19e13b0aSDarrick J. Wong 172*19e13b0aSDarrick J. WongCode submissions targeting the next merge window should be sent between 173*19e13b0aSDarrick J. Wong-rc1 and -rc6. 174*19e13b0aSDarrick J. WongThis gives the community time to review the changes, to suggest other changes, 175*19e13b0aSDarrick J. Wongand for the author to retest those changes. 176*19e13b0aSDarrick J. Wong 177*19e13b0aSDarrick J. WongCode submissions also requiring changes to fs/iomap and targeting the 178*19e13b0aSDarrick J. Wongnext merge window should be sent between -rc1 and -rc4. 179*19e13b0aSDarrick J. WongThis allows the broader kernel community adequate time to test the 180*19e13b0aSDarrick J. Wonginfrastructure changes. 181*19e13b0aSDarrick J. Wong 182*19e13b0aSDarrick J. WongReview Cadence 183*19e13b0aSDarrick J. Wong-------------- 184*19e13b0aSDarrick J. WongIn general, please wait at least one week before pinging for feedback. 185*19e13b0aSDarrick J. WongTo find reviewers, either consult the MAINTAINERS file, or ask 186*19e13b0aSDarrick J. Wongdevelopers that have Reviewed-by tags for XFS changes to take a look and 187*19e13b0aSDarrick J. Wongoffer their opinion. 188*19e13b0aSDarrick J. Wong 189*19e13b0aSDarrick J. WongReferences 190*19e13b0aSDarrick J. Wong---------- 191*19e13b0aSDarrick J. Wong| [0] https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git/ 192*19e13b0aSDarrick J. Wong| [1] https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/ 193*19e13b0aSDarrick J. Wong| [2] https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/ 194*19e13b0aSDarrick J. Wong| [3] https://git.kernel.org/pub/scm/fs/xfs/xfs-documentation.git/ 195