)]}'
{
  "log": [
    {
      "commit": "ffe5df5574f3655ab30a1cedacb3c7cb37b3f7a6",
      "tree": "f99d862da1158d48f94e0743573e053bfcbfb580",
      "parents": [
        "c38464ff97af428ce9036c8613b0a8d3232129f7"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Wed Feb 28 13:46:11 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 28 13:46:11 2018 -0600"
      },
      "message": "xfs: fix u32 type usage in sb validation function\n\nSource kernel commit: 131fa58d391fc0939f6c66b23776ad5df5db20f9\n\nDon\u0027t use u32, use uint32_t, because this won\u0027t work in xfsprogs.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n[sandeen: no-op commit, fixed previously to keep build working]\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "c38464ff97af428ce9036c8613b0a8d3232129f7",
      "tree": "f99d862da1158d48f94e0743573e053bfcbfb580",
      "parents": [
        "d07cc7245eaaebd6a9073936965a4d9737773ccb"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "message": "xfs: don\u0027t screw up direct writes when freesp is fragmented\n\nSource kernel commit: 6d8a45ce29c7d67cc4fc3016dc2a07660c62482a\n\nxfs_bmap_btalloc is given a range of file offset blocks that must be\nallocated to some data/attr/cow fork.  If the fork has an extent size\nhint associated with it, the request will be enlarged on both ends to\ntry to satisfy the alignment hint.  If free space is fragmentated,\nsometimes we can allocate some blocks but not enough to fulfill any of\nthe requested range.  Since bmapi_allocate always trims the new extent\nmapping to match the originally requested range, this results in\nbmapi_write returning zero and no mapping.\n\nThe consequences of this vary -- buffered writes will simply re-call\nbmapi_write until it can satisfy at least one block from the original\nrequest.  Direct IO overwrites notice nmaps \u003d\u003d 0 and return -ENOSPC\nthrough the dio mechanism out to userspace with the weird result that\nwrites fail even when we have enough space because the ENOSPC return\noverrides any partial write status.  For direct CoW writes the situation\nwas disastrous because nobody notices us returning an invalid zero-length\nwrong-offset mapping to iomap and the write goes off into space.\n\nTherefore, if free space is so fragmented that we managed to allocate\nsome space but not enough to map into even a single block of the\noriginal allocation request range, we should break the alignment hint in\norder to guarantee at least some forward progress for the direct write.\nIf we return a short allocation to iomap_apply it\u0027ll call back about the\nremaining blocks.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "d07cc7245eaaebd6a9073936965a4d9737773ccb",
      "tree": "8ad3237f3dfb0d3fb9d7a3ddea920081e0a68607",
      "parents": [
        "3cb68815a885ca9c39e7d288ed6f4bd026b22b9c"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "message": "xfs: treat CoW fork operations as delalloc for quota accounting\n\nSource kernel commit: 4b4c1326fd7c7210d23d9dd3bfc51f2b6477bb9e\n\nSince the CoW fork only exists in memory, it is incorrect to update the\non-disk quota block counts when we modify the CoW fork.  Unlike the data\nfork, even real extents in the CoW fork are only delalloc-style\nreservations (on-disk they\u0027re owned by the refcountbt) so they must not\nbe tracked in the on disk quota info.  Ensure the i_delayed_blks\naccounting reflects this too.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "3cb68815a885ca9c39e7d288ed6f4bd026b22b9c",
      "tree": "f6f8975dafb016a19e1387552729d20d39b3e26f",
      "parents": [
        "1d3bac1f3b6b4aa8b4de1ed6a95b0440b1bcd953"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "message": "xfs: refactor accounting updates out of xfs_bmap_btalloc\n\nSource kernel commit: 751f3767c245f9adf4f0a4f8f04aae9ae1d675a0\n\nMove all the inode and quota accounting updates out of xfs_bmap_btalloc\nin preparation for fixing some quota accounting problems with copy on\nwrite.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "1d3bac1f3b6b4aa8b4de1ed6a95b0440b1bcd953",
      "tree": "160670996cba555bbf1c47f66dc1b66f1060f318",
      "parents": [
        "885ba5ce1dd446a82f2ecf1f03ad834d253b05d7"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "message": "xfs: refactor inode verifier corruption error printing\n\nSource kernel commit: 22431bf3dfbf44d7356933776eb486a6a01dea6f\n\nRefactor inode verifier error reporting into a non-libxfs function so\nthat we aren\u0027t encoding the message format in libxfs.  This also\nchanges the kernel dmesg output to resemble buffer verifier errors\nmore closely.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "885ba5ce1dd446a82f2ecf1f03ad834d253b05d7",
      "tree": "b01799b5221db41cb5993813751a7c8b078dc6ff",
      "parents": [
        "37d086ca9ac33917d90aa883decef8bb24524ba1"
      ],
      "author": {
        "name": "Shan Hai",
        "email": "shan.hai@oracle.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "message": "xfs: bmap code cleanup\n\nSource kernel commit: 6ca30729c206d62d88730a904af7d543a56273d8\n\nRemove the extent size hint and realtime inode relevant code from\nthe xfs_bmapi_reserve_delalloc since it is not called on the inode\nwith extent size hint set or on a realtime inode.\n\nSigned-off-by: Shan Hai \u003cshan.hai@oracle.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "37d086ca9ac33917d90aa883decef8bb24524ba1",
      "tree": "711290d4fb9e9debfa6e2c033daf64a7e6ca3593",
      "parents": [
        "d5105a897ca973d43e82d54bda4ea40692a94769"
      ],
      "author": {
        "name": "Carlos Maiolino",
        "email": "cmaiolino@redhat.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:19 2018 -0600"
      },
      "message": "Split buffer\u0027s b_fspriv field\n\nSource kernel commit: fb1755a645972ed096047583600838f6cf414e2b\n\nBy splitting the b_fspriv field into two different fields (b_log_item\nand b_li_list). It\u0027s possible to get rid of an old ABI workaround, by\nusing the new b_log_item field to store xfs_buf_log_item separated from\nthe log items attached to the buffer, which will be linked in the new\nb_li_list field.\n\nThis way, there is no more need to reorder the log items list to place\nthe buf_log_item at the beginning of the list, simplifying a bit the\nlogic to handle buffer IO.\n\nThis also opens the possibility to change buffer\u0027s log items list into a\nproper list_head.\n\nb_log_item field is still defined as a void *, because it is still used\nby the log buffers to store xlog_in_core structures, and there is no\nneed to add an extra field on xfs_buf just for xlog_in_core.\n\nSigned-off-by: Carlos Maiolino \u003ccmaiolino@redhat.com\u003e\nReviewed-by: Bill O\u0027Donnell \u003cbillodo@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n[darrick: minor style changes]\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n[sandeen: b_li_list unused in userspace]\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "d5105a897ca973d43e82d54bda4ea40692a94769",
      "tree": "3357cfa05471b67fadec02d35d726294c3bc253e",
      "parents": [
        "e91df8449abbbb2087c64428c8e4af25c445ca0e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: convert to new i_version API\n\nSource kernel commit: f0e28280629e0ec7921f3179409a179b1ea41f24\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nAcked-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "e91df8449abbbb2087c64428c8e4af25c445ca0e",
      "tree": "3968b158d387e53c1361b30b17aed2afd16f5557",
      "parents": [
        "faaad1df3f51c03131bd5bc527c9ffdcecb0f0f1"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: check sb_agblocks and sb_agblklog when validating superblock\n\nSource kernel commit: 4bb73d014785cc55225686f9f46e7192fb59d26b\n\nCurrently, we don\u0027t check sb_agblocks or sb_agblklog when we validate\nthe superblock, which means that we can fuzz garbage values into those\nvalues and the mount succeeds.  This leads to all sorts of UBSAN\nwarnings in xfs/350 since we can then coerce other parts of xfs into\nshifting by ridiculously large values.\n\nOnce we\u0027ve validated agblocks, make sure the agcount makes sense.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\n[sandeen: fix up u32 usage now so we keep building]\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "faaad1df3f51c03131bd5bc527c9ffdcecb0f0f1",
      "tree": "4735f27e2cdf6898236a15e87c7204ae02e273f1",
      "parents": [
        "e4b963e9ae98a1c7522e97eec7015d33f7eb8ab4"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: recheck reflink / dirty page status before freeing CoW reservations\n\nSource kernel commit: be78ff0e72778eb4df4aac66edb9e97462bfe00d\n\nEryu Guan reported seeing occasional hangs when running generic/269 with\na new fsstress that supports clonerange/deduperange.  The cause of this\nhang is an infinite loop when we convert the CoW fork extents from\nunwritten to real just prior to writing the pages out; the infinite\nloop happens because there\u0027s nothing in the CoW fork to convert, and so\nit spins forever.\n\nThe fundamental issue here is that when we go to perform these CoW fork\nconversions, we\u0027re supposed to have an extent waiting for us, but the\nlow space CoW reaper has snuck in and blown them away!  There are four\nconditions that can dissuade the reaper from touching our file -- no\nreflink iflag; dirty page cache; writeback in progress; or directio in\nprogress.  We check the four conditions prior to taking the locks, but\nwe neglect to recheck them once we have the locks, which is how we end\nup whacking the writeback that\u0027s in progress.\n\nTherefore, refactor the four checks into a helper function and call it\nonce again once we have the locks to make sure we really want to reap\nthe inode.  While we\u0027re at it, add an ASSERT for this weird condition so\nthat we\u0027ll fail noisily if we ever screw this up again.\n\nReported-by: Eryu Guan \u003ceguan@redhat.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nTested-by: Eryu Guan \u003ceguan@redhat.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "e4b963e9ae98a1c7522e97eec7015d33f7eb8ab4",
      "tree": "4043bf35bed0c3c850e402e1f968943fb012f5c0",
      "parents": [
        "f596a90d3d7a03f42cedcbc9b505fefe5da5df08"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: btree format ifork loader should check for zero numrecs\n\nSource kernel commit: 55e45429ce3e4ac9dd2bf4937b1a499a69ccc4ca\n\nA btree format inode fork with zero records makes no sense, so reject it\nif we see it, or else we can miscalculate memory allocations.  Found by\nzeroes fuzzing {a,u3}.bmbt.numrecs in xfs/{374,378,412} with KASAN.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "f596a90d3d7a03f42cedcbc9b505fefe5da5df08",
      "tree": "f2f3f37a544638a4f50f13be99085546a90d2b69",
      "parents": [
        "b67317ef3c22d69e0c29a5c624a84dc37e9c6ffd"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: attr leaf verifier needs to check for obviously bad count\n\nSource kernel commit: 79a69bf8dc240ebeb105226a8a8540df136bf987\n\nIn the attribute leaf verifier, we can check for obviously bad values of\nfirstused and count so that later attempts at lasthash don\u0027t run off the\nend of the memory buffer.  Found by ones fuzzing hdr.count in xfs/400 with\nKASAN.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "b67317ef3c22d69e0c29a5c624a84dc37e9c6ffd",
      "tree": "d309ef7e48fa9d79cb3b4413e6515fe1f484c37d",
      "parents": [
        "221b1ddc29415a673750665696f95990c53d8d2e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: directory scrubber must walk through data block to offset\n\nSource kernel commit: ce92d29ddf9908d397895c46b7c78e9db8df414d\n\nIn xfs_scrub_dir_rec, we must walk through the directory block entries\nto arrive at the offset given by the hash structure.  If we blindly\ntrust the hash address, we can end up midway into a directory entry and\nstray outside the block.  Found by lastbit fuzzing lents[3].address in\nxfs/390 with KASAN enabled.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "221b1ddc29415a673750665696f95990c53d8d2e",
      "tree": "9c601e98171825d58b59237e55aa5d909b718297",
      "parents": [
        "1048d0e209ca4ad387485e6aeed07dd5870b0f36"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: cross-reference the realtime bitmap\n\nSource kernel commit: 46d9bfb5e706493777b9dfed666cd8967f69e6fd\n\nWhile we\u0027re scrubbing various btrees, cross-reference the records\nwith the other metadata.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "1048d0e209ca4ad387485e6aeed07dd5870b0f36",
      "tree": "141b56d2ca3ca766265db7629185fb943bf26e71",
      "parents": [
        "556c739daebc238e585aae4b4c20a34760f6b7ae"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: add scrub cross-referencing helpers for the refcount btrees\n\nSource kernel commit: 49db55eca5665e32c9d3e67a7d5694bcc6c274de\n\nAdd a couple of functions to the refcount btrees that will be used\nto cross-reference metadata against the refcountbt.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "556c739daebc238e585aae4b4c20a34760f6b7ae",
      "tree": "be54b1c1bd1d7c2b4fd14cd2a5d05612238cbfb9",
      "parents": [
        "9deb7f653cf80aa158aee121cbb655d8d88c2413"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: add scrub cross-referencing helpers for the rmap btrees\n\nSource kernel commit: ed7c52d4bf92ac1f05b8c251a44a8bf4688f8786\n\nAdd a couple of functions to the rmap btrees that will be used\nto cross-reference metadata against the rmapbt.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "9deb7f653cf80aa158aee121cbb655d8d88c2413",
      "tree": "fe60e7d724cd8f1b8f75fb86b265b2c806c16eb6",
      "parents": [
        "1fe41a732560e8e7f029390fa9da5a9e83a3fe40"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: add scrub cross-referencing helpers for the inode btrees\n\nSource kernel commit: 2e001266b67c865ad904e1889658282d0773b207\n\nAdd a couple of functions to the inode btrees that will be used\nto cross-reference metadata against the inobt.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "1fe41a732560e8e7f029390fa9da5a9e83a3fe40",
      "tree": "ed4f01e98545d025462bd058e5e29bd67643fc7d",
      "parents": [
        "b09294b35f2e4690e718bd1b4bc99a1d50591776"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: add scrub cross-referencing helpers for the free space btrees\n\nSource kernel commit: ce1d802e6a889b8ee53b3444c6d7e8cfecadac50\n\nAdd a couple of functions to the free space btrees that will be used\nto cross-reference metadata against the bnobt/cntbt, and a generic\nbtree function that provides the real implementation.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "b09294b35f2e4690e718bd1b4bc99a1d50591776",
      "tree": "13a3d1089009cda08a8576b9d913461ab2749cae",
      "parents": [
        "8504509d9e0d93c7ed1dd0bb44925c9c17efe8d5"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: cancel tx on xfs_defer_finish() error during xattr set/remove\n\nSource kernel commit: c468562879a766de2c2fbedd41b653a7bf4c157d\n\nChris Dunlop reports a problem where an xattr operation fails,\nreports the following error to syslog and hangs during unmount:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ BUG: lock held when returning to user space! ]\n...\n------------------------------------------------\n\u003cPID\u003e is leaving the kernel with locks still held!\n1 lock held by \u003cPID\u003e:\n#0:  (sb_internal){......}, at: [\u003cffffffffa07692a3\u003e] xfs_trans_alloc+0xe3/0x130 [xfs]\n\nThe failure/shutdown occurs during deferred ops processing which\nleads to an error return from xfs_defer_finish() via\nxfs_attr_leaf_addname(). While the root cause of the failure is\nunknown corruption, the cause of the subsequent BUG above and\nunmount hang is failure to cancel the transaction before returning\nto userspace.\n\nThe transaction is not cancelled because the out_defer_cancel error\nhandling paths in the xfs_attr_[leaf|node]_[add|remove]name()\nfunctions clear args.trans without releasing the transaction. The\ncallers therefore lose the reference to the transaction and fail to\ncancel it.\n\nSince xfs_attr_[set|remove]() always cancel args.trans when !\u003d NULL\nand xfs_defer_finish()-\u003e...-\u003exfs_trans_roll() should always return\nwith a valid transaction, update the leaf/node xattr functions to\nnot reset args.trans in the error path responsible for cancelling\ndeferred ops.\n\nReported-by: Chris Dunlop \u003cchris@onthe.net.au\u003e\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "8504509d9e0d93c7ed1dd0bb44925c9c17efe8d5",
      "tree": "2a88ecb84c9cbd271a81f674e57a00d595c4cf58",
      "parents": [
        "dfcfc5f1aac7eb29d94eca4d45d9254eb96499a8"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: account finobt blocks properly in perag reservation\n\nSource kernel commit: ad90bb585c45917b6c1bb01c812fba337e689362\n\nXFS started using the perag metadata reservation pool for free inode\nbtree blocks in commit 76d771b4cbe33 (\"xfs: use per-AG reservations\nfor the finobt\"). To handle backwards compatibility, finobt blocks\nare accounted against the pool so long as the full reservation is\navailable at mount time. Otherwise the -\u003em_inotbt_nores flag is set\nand the filesystem falls back to the traditional per-transaction\nfinobt reservation.\n\nThis commit has two problems:\n\n- finobt blocks are always accounted against the metadata\nreservation on allocation, regardless of -\u003em_inotbt_nores state\n- finobt blocks are never returned to the reservation pool on free\n\nThe first problem affects reflink+finobt filesystems where the full\nfinobt reservation is not available at mount time. finobt blocks are\nessentially stolen from the reflink reservation, putting refcountbt\nmanagement at risk of allocation failure. The second problem is an\nunconditional leak of metadata reservation whenever finobt is\nenabled.\n\nUpdate the finobt block allocation callouts to consider\n-\u003em_inotbt_nores and account blocks appropriately. Blocks should be\nconsistently accounted against the metadata pool when\n-\u003em_inotbt_nores is false and otherwise tagged as RESV_NONE.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "dfcfc5f1aac7eb29d94eca4d45d9254eb96499a8",
      "tree": "f30d99336d4fbda8689b0c6749f877c699d29bbe",
      "parents": [
        "d7e71605e73f5c05ac029046d56781b675311592"
      ],
      "author": {
        "name": "Colin Ian King",
        "email": "colin.king@canonical.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: fix check on struct_version for versions 4 or greater\n\nSource kernel commit: a8789a5ae28f69d7f3791a0e74f8c44222f3108b\n\nIt appears that the check for versions 4 or more is incorrect and is\noff-by-one. Fix this.\n\nDetected by CoverityScan, CID#1463775 (\"Logically dead code\")\n\nFixes: ac503a4cc9e8 (\"xfs: refactor the geometry structure filling function\")\nSigned-off-by: Colin Ian King \u003ccolin.king@canonical.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "d7e71605e73f5c05ac029046d56781b675311592",
      "tree": "297be88297f165feb76e23eeb28cd3da1665e72c",
      "parents": [
        "ef4109d1b66633808ed945c13e6478a5eb09952f"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: use %px for data pointers when debugging\n\nSource kernel commit: c96900435fa9fdfd9702a60cd765bd85e380303e\n\nStarting with commit 57e734423ad (\"vsprintf: refactor %pK code out of\npointer\"), the behavior of the raw \u0027%p\u0027 printk format specifier was\nchanged to print a 32-bit hash of the pointer value to avoid leaking\nkernel pointers into dmesg.  For most situations that\u0027s good.\n\nThis is /undesirable/ behavior when we\u0027re trying to debug XFS, however,\nso define a PTR_FMT that prints the actual pointer when we\u0027re in debug\nmode.\n\nNote that %p for tracepoints still prints the raw pointer, so in the\nlong run we could consider rewriting some of these messages as\ntracepoints.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "ef4109d1b66633808ed945c13e6478a5eb09952f",
      "tree": "d9c8d1aa3a1d474fbb6f664e00078581225c2131",
      "parents": [
        "493b46c4d9a1dbf636a1f3452c1ac36232ede6f4"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:18 2018 -0600"
      },
      "message": "xfs: change 0x%p -\u003e %p in print messages\n\nSource kernel commit: 3d170aa24283568b1ed92a09daa0e05a8788c6a4\n\nSince %p prepends \"0x\" to the outputted string, we can drop the prefix.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "493b46c4d9a1dbf636a1f3452c1ac36232ede6f4",
      "tree": "9dde8a64d39617d2d408ae76cced5cf683c2b35d",
      "parents": [
        "fdef0e8b6a5e20f405526d5a2979fc2695f8d62d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: harden directory integrity checks some more\n\nSource kernel commit: 46c59736d8090e602f960aeaf1c6b8292151bf38\n\nIf a malicious filesystem image contains a block+ format directory\nwherein the directory inode\u0027s core.mode is set such that\nS_ISDIR(core.mode) \u003d\u003d 0, and if there are subdirectories of the\ncorrupted directory, an attempt to traverse up the directory tree will\ncrash the kernel in __xfs_dir3_data_check.  Running the online scrub\u0027s\nparent checks will tend to do this.\n\nThe crash occurs because the directory inode\u0027s d_ops get set to\nxfs_dir[23]_nondir_ops (it\u0027s not a directory) but the parent pointer\nscrubber\u0027s indiscriminate call to xfs_readdir proceeds past the ASSERT\nif we have non fatal asserts configured.\n\nFix the null pointer dereference crash in __xfs_dir3_data_check by\nlooking for S_ISDIR or wrong d_ops; and teach the parent scrubber\nto bail out if it is fed a non-directory \"parent\".\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "fdef0e8b6a5e20f405526d5a2979fc2695f8d62d",
      "tree": "0bf051e658323dc2eacfbfc31a098f838f0bc238",
      "parents": [
        "a2a523844910af899af620bfe25aef42455c6d66"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: refactor the geometry structure filling function\n\nSource kernel commit: ac503a4cc9e8ab574032e3e217ffb555f5bf2341\n\nRefactor the geometry structure filling function to use the superblock\nto fill the fields.  While we\u0027re at it, make the function less indenty\nand use some whitespace to make the function easier to read.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "a2a523844910af899af620bfe25aef42455c6d66",
      "tree": "7a8888718c56089ac4569e8e7d811e7fcacdef2f",
      "parents": [
        "079e8efb3ef7e5491cd28b10857dd14b58b380d6"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: hoist xfs_fs_geometry to libxfs\n\nSource kernel commit: c368ebcd4cc3bbc08602adce083ad3cc76a15258\n\nMove xfs_fs_geometry to libxfs so that we can clean up the fs geometry\nreporting in xfsprogs.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "079e8efb3ef7e5491cd28b10857dd14b58b380d6",
      "tree": "a84a3d75459f4d8d146a1ca3dcb258508f2453a2",
      "parents": [
        "71ffd552b499cc420aa2599ba0a2a8699551d966"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: trace log reservations at mount time\n\nSource kernel commit: b872af2c8700e9d64af8e13811b7679ede26ca00\n\nAt each mount, emit the transaction reservation type information via\ntracepoints.  This makes it easier to compare the log reservation info\ncalculated by the kernel and xfsprogs so that we can more easily diagnose\nminimum log size failures on freshly formatted filesystems.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Brian Foster \u003cbfoster@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "71ffd552b499cc420aa2599ba0a2a8699551d966",
      "tree": "b3907fcaca22fd61c2a26c1009e5c5d76e8c368b",
      "parents": [
        "055b84e39cabe4e2242b37bd2554908e10dd9d06"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: standardize quota verification function outputs\n\nSource kernel commit: eebf3cab9c5eac7fdb54fb9e9fb38c06f46f17f3\n\nRename xfs_dqcheck to xfs_dquot_verify and make it return an\nxfs_failaddr_t like every other structure verifier function.\nThis enables us to check on-disk quotas in the same way that we check\neverything else.  Callers are now responsible for logging errors, as\nXFS_QMOPT_DOWARN goes away.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "055b84e39cabe4e2242b37bd2554908e10dd9d06",
      "tree": "69eb9e94dbd358df6414e5f4db067420560cc91a",
      "parents": [
        "95d9582b620a1e91ef4cf532597b9edbfb8ea793"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: separate dquot repair into a separate function\n\nSource kernel commit: eeea79802871fef82a8ca6ab1220515855e5cdcc\n\nMove the dquot repair code into a separate function and remove\nXFS_QMOPT_DQREPAIR in favor of calling the helper directly.  Remove\nother dead code because quotacheck is the only caller of DQREPAIR.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "95d9582b620a1e91ef4cf532597b9edbfb8ea793",
      "tree": "d1fcb9d273b952f51e15f7cb86a8f5d09d998aff",
      "parents": [
        "e9998c63dc86706bee6fd61d2dd5d01530f8d1cc"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: create a new buf_ops pointer to verify structure metadata\n\nSource kernel commit: b55725974c9d3a5afcdf83daff6fba7d3f91ffca\n\nExpose all metadata structure buffer verifier functions via buf_ops.\nThese will be used by the online scrub mechanism to look for problems\nwith buffers that are already sitting around in memory.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "e9998c63dc86706bee6fd61d2dd5d01530f8d1cc",
      "tree": "45f203e984656d9d5594ba54faa29b9c84c53155",
      "parents": [
        "20e882d4fe6a7fdd0efbb61b3f10fb5b8ee8316a"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: fail out of xfs_attr3_leaf_lookup_int if it looks corrupt\n\nSource kernel commit: 8ba92d43d499f4920af983a7c16e02304dd36932\n\nIf the xattr leaf block looks corrupt, return -EFSCORRUPTED to userspace\ninstead of ASSERTing on debug kernels or running off the end of the\nbuffer on regular kernels.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "20e882d4fe6a7fdd0efbb61b3f10fb5b8ee8316a",
      "tree": "e985a33de3b5703f7c1ebfd14f9f2d50e883242f",
      "parents": [
        "1f98251ffd56f2d78fff582568e984dec952d89c"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: provide a centralized method for verifying inline fork data\n\nSource kernel commit: 9cfb9b47479e237d217dbcfafe034cbf98f45909\n\nReplace the current haphazard dir2 shortform verifier callsites with a\ncentralized verifier function that can be called either with the default\nverifier functions or with a custom set.  This helps us strengthen\nintegrity checking while providing us with flexibility for repair tools.\n\nxfs_repair wants this to be able to supply its own verifier functions\nwhen trying to fix possibly corrupt metadata.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "1f98251ffd56f2d78fff582568e984dec952d89c",
      "tree": "80a2f611826575a01725767655487ef29c88d620",
      "parents": [
        "6db3a8007a2493d6887cf45a5edfaa6a770b8492"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: refactor short form directory structure verifier function\n\nSource kernel commit: dc042c2d8ff629dd411e9a60bce9c379e2f8aaf8\n\nChange the short form directory structure verifier function to return\nthe instruction pointer of a failing check or NULL if everything\u0027s ok.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "6db3a8007a2493d6887cf45a5edfaa6a770b8492",
      "tree": "7cc638c851f98cd563236a261e780f6619f3e597",
      "parents": [
        "c7a710b7beeb21c5d84ab5e3c6a6aa9c96631fcc"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: create structure verifier function for short form symlinks\n\nSource kernel commit: 0795e004fd4f2723f3dbf09a195cd7ccf3c74c58\n\nCreate a function to check the structure of short form symlink targets.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "c7a710b7beeb21c5d84ab5e3c6a6aa9c96631fcc",
      "tree": "d35cf31f2ed0193fe023c0ef3b87248d9bf1b74f",
      "parents": [
        "ad42e5a1985ebf855d5497b07584e2d5557fb349"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: create structure verifier function for shortform xattrs\n\nSource kernel commit: 1e1bbd8e7ee0624034e9bf1e91ac11a7aaa2f8a6\n\nCreate a function to perform structure verification for short form\nextended attributes.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "ad42e5a1985ebf855d5497b07584e2d5557fb349",
      "tree": "3ea90b3fb5f93f0a5e565b4a40e92a3f458b5b7a",
      "parents": [
        "98703400d0a4c4c56874705ab692b14398068650"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: move inode fork verifiers to xfs_dinode_verify\n\nSource kernel commit: 71493b839e294065ba63bd6f8d07263f3afee8c6\n\nConsolidate the fork size and format verifiers to xfs_dinode_verify so\nthat we can reject bad inodes earlier and in a single place.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "98703400d0a4c4c56874705ab692b14398068650",
      "tree": "3ea72446bf30b630038e309531c2aad295587b1b",
      "parents": [
        "1e697959c36552580795dc81f9697fb9681c63b7"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: verify dinode header first\n\nSource kernel commit: 50aa90ef03007beca2c9108993f5b4f2bb4f0a66\n\nMove the v3 inode integrity information (crc, owner, metauuid) before we\nlook at anything else in the inode so that we don\u0027t waste time on a torn\nwrite or a totally garbled block.  This makes xfs_dinode_verify more\nconsistent with the other verifiers.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "1e697959c36552580795dc81f9697fb9681c63b7",
      "tree": "041866f38cd643c542d7133a3db7af8eac332d45",
      "parents": [
        "bc01119d6b2856bfdcab45efdcdcedb19cb517fc"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:17 2018 -0600"
      },
      "message": "xfs: refactor verifier callers to print address of failing check\n\nSource kernel commit: bc1a09b8e334bf5fca1d6727aec538dcff957961\n\nRefactor the callers of verifiers to print the instruction address of a\nfailing check.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "bc01119d6b2856bfdcab45efdcdcedb19cb517fc",
      "tree": "8130187efc16885c295a41367cf1e8914f92a9c6",
      "parents": [
        "7e6c95f1e86b447e7a4ebbe655a234ca7c610498"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "message": "xfs: have buffer verifier functions report failing address\n\nSource kernel commit: a6a781a58befcbd467ce843af4eaca3906aa1f08\n\nModify each function that checks the contents of a metadata buffer to\nreturn the instruction address of the failing test so that we can report\nmore precise failure errors to the log.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "7e6c95f1e86b447e7a4ebbe655a234ca7c610498",
      "tree": "d4520cd137b844cd310590e3d3f556ac2b0c4825",
      "parents": [
        "a7e32f0ddf56a6a3ac88074ce9e5d46451f1124c"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "message": "xfs: refactor xfs_verifier_error and xfs_buf_ioerror\n\nSource kernel commit: 31ca03c92c329525ee3a97d99c47f1ebbaed5d63\n\nSince all verification errors also mark the buffer as having an error,\nwe can combine these two calls.  Later we\u0027ll add a xfs_failaddr_t\nparameter to promote the idea of reporting corruption errors and the\naddress of the failing check to enable better debugging reports.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "a7e32f0ddf56a6a3ac88074ce9e5d46451f1124c",
      "tree": "6002bce81feba95e5521bf164ee490849483d3d7",
      "parents": [
        "bb2a125a59d637454de455956fd5ac57f61baea4"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "message": "xfs: remove XFS_WANT_CORRUPTED_RETURN from dir3 data verifiers\n\nSource kernel commit: 9101d3707b9acae8bbb0d82d47e99cf5c60b3ee5\n\nSince __xfs_dir3_data_check verifies on-disk metadata, we can\u0027t have it\nnoisily blowing asserts and hanging the system on corrupt data coming in\noff the disk.  Instead, have it return a boolean like all the other\nchecker functions, and only have it noisily fail if we fail in debug\nmode.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "bb2a125a59d637454de455956fd5ac57f61baea4",
      "tree": "40154eb620baa8dc4b3d83ad32ce7db4e6579748",
      "parents": [
        "fb75464f4051e2589b23c44abd69fd095f58d8cb"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "message": "xfs: refactor short form btree pointer verification\n\nSource kernel commit: e1e55aaf1cc646b736439cbd5af229759029ae34\n\nNow that we have xfs_verify_agbno, use it to verify short form btree\npointers instead of open-coding them.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "fb75464f4051e2589b23c44abd69fd095f58d8cb",
      "tree": "5c846ab1dc2397c18223b1e9db93156ba465fbf9",
      "parents": [
        "ecdc52ff8d8f927d130f711bcbd9bc388dc57057"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "message": "xfs: refactor long-format btree header verification routines\n\nSource kernel commit: 8368a6019d5bbb8b56c140029dcf5ea570b638f1\n\nCreate two helper functions to verify the headers of a long format\nbtree block.  We\u0027ll use this later for the realtime rmapbt.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "ecdc52ff8d8f927d130f711bcbd9bc388dc57057",
      "tree": "6c17053b1e731e80e9281c5d98834fad55d4a585",
      "parents": [
        "0197075701aad6da240187b7e8dc5cfe0205eb87"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "message": "xfs: remove XFS_FSB_SANITY_CHECK\n\nSource kernel commit: 59f6fec3bdb2aafc84d39f34000819d232182d71\n\nWe already have a function to verify fsb pointers, so get rid of the\nlast users of the (less robust) macro.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "0197075701aad6da240187b7e8dc5cfe0205eb87",
      "tree": "1fc1bd7d53031bae4ef8b35fe3cedba39857cab7",
      "parents": [
        "0b98035f00359582d6d4110d41a457ad2a82d6eb"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:16 2018 -0600"
      },
      "message": "xfs: eliminate duplicate icreate tx reservation functions\n\nSource kernel commit: c017cb5ddfd6326032570d5eba83308c8a9c13a9\n\nThe create transaction reservation calculation has two different\nbranches of code depending on whether the filesystem is a v5 format\nfs or older. Each branch considers the max reservation between the\nallocation case (new chunk allocation + record insert) and the\nmodify case (chunk exists, record modification) of inode allocation.\n\nThe modify case is the same for both superblock versions with the\nexception of the finobt. The finobt helper checks the feature bit,\nhowever, and so the modify case already shares the same code.\n\nNow that inode chunk allocation has been refactored into a helper\nthat checks the superblock version to calculate the appropriate\nreservation for the create transaction, the only remaining\ndifference between the create and icreate branches is the call to\nthe finobt helper. As noted above, the finobt helper is a no-op when\nthe feature is not enabled. Therefore, these branches are\neffectively duplicate and can be condensed.\n\nRemove the xfs_calc_create_*() branch of functions and update the\nvarious callers to use the xfs_calc_icreate_*() variant. The latter\ncreates the same reservation size for v4 create transactions as the\nremoved branch. As such, this patch does not result in transaction\nreservation changes.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "0b98035f00359582d6d4110d41a457ad2a82d6eb",
      "tree": "c645c3d3586eb870558dddacce79231f09647abf",
      "parents": [
        "2025cb0721ea7a23e3168907b2fd849e2987a98e"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "message": "xfs: refactor inode chunk alloc/free tx reservation\n\nSource kernel commit: 57af33e451b73f56feb428f5856cdf6e4e0c60cd\n\nThe reservation for the various forms of inode allocation is\nscattered across several different functions. This includes two\nvariants of chunk allocation (v5 icreate transactions vs. older\ncreate transactions) and the inode free transaction.\n\nTo clean up some of this code and clarify the purpose of specific\nallocfree reservations, continue the pattern of defining helper\nfunctions for smaller operational units of broader transactions.\nRefactor the reservation into an inode chunk alloc/free helper that\nconsiders the various conditions based on filesystem format.\n\nAn inode chunk free involves an extent free and buffer\ninvalidations. The latter requires reservation for log headers only.\nAn inode chunk allocation modifies the free space btrees and logs\nthe chunk on v4 supers. v5 supers initialize the inode chunk using\nordered buffers and so do not log the chunk.\n\nAs a side effect of this refactoring, add one more allocfree res to\nthe ifree transaction. Technically this does not serve a specific\npurpose because inode chunks are freed via deferred operations and\nthus occur after a transaction roll. tr_ifree has a bit of a history\nof tx overruns caused by too many agfl fixups during sustained file\ndeletion workloads, so add this extra reservation as a form of\npadding nonetheless.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "2025cb0721ea7a23e3168907b2fd849e2987a98e",
      "tree": "da24f3a4d03d2a946f322b59ce4f661ee4acb257",
      "parents": [
        "ec1b0fd9750b5d23ef91c9d35a80c201d8655a70"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "message": "xfs: include an allocfree res for inobt modifications\n\nSource kernel commit: f03c78f39710995d2766236f229295d91b8de9dd\n\nAnalysis of recent reports of log reservation overruns and code\ninspection has uncovered that the reservations associated with inode\noperations may not cover the worst case scenarios. In particular,\nmany cases only include one allocfree res. for a particular\noperation even though said operations may also entail AGFL fixups\nand inode btree block allocations in addition to the actual inode\nchunk allocation. This can easily turn into two or three block\nallocations (or frees) per operation.\n\nIn theory, the only way to define the worst case reservation is to\ninclude an allocfree res for each individual allocation in a\ntransaction. Since that is impractical (we can perform multiple agfl\nfixups per tx and not every allocation results in a full tree\noperation), we need to find a reasonable compromise that addresses\nthe deficiency in practice without blowing out the size of the\ntransactions.\n\nSince the inode btrees are not filled by the AGFL, record insertion\nand removal can directly result in block allocations and frees\ndepending on the shape of the tree. These allocations and frees\noccur in the same transaction context as the inobt update itself,\nbut are separate from the allocation/free that might be required for\nan inode chunk. Therefore, it makes sense to assume that an [f]inobt\ninsert/remove can directly result in one or more block allocations\non behalf of the tree.\n\nRefactor the inode transaction reservations to include one allocfree\nres. per inode btree modification to cover allocations required by\nthe tree itself. This separates the reservation required to allocate\nthe inode chunk from the reservation required for inobt record\ninsertion/removal. Apply the same logic to the finobt. This results\nin killing off the finobt modify condition because we no longer\nassume that the broader transaction reservation will cover finobt\nblock allocations and finobt shape changes can occur in either of\nthe inobt allocation or modify situations.\n\nSuggested-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "ec1b0fd9750b5d23ef91c9d35a80c201d8655a70",
      "tree": "38f20328f53396669a392e78d3c7f909bdd62a25",
      "parents": [
        "727b445bb72f50b073491261bc016cf32ad6d271"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "message": "xfs: truncate transaction does not modify the inobt\n\nSource kernel commit: a606ebdb859e78beb757dfefa08001df366e2ef5\n\nThe truncate transaction does not ever modify the inode btree, but\nincludes an associated log reservation. Update\nxfs_calc_itruncate_reservation() to remove the reservation\nassociated with inobt updates.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "727b445bb72f50b073491261bc016cf32ad6d271",
      "tree": "2afb53e42a5b2be0c63892fefc0377067e0d9080",
      "parents": [
        "12382cd23059944d5dfdb516e4c90334fc3415e6"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "message": "xfs: fix up agi unlinked list reservations\n\nSource kernel commit: e8341d9f6348640dff01d8c4a33695dc82bab5a3\n\nThe current AGI unlinked list addition and removal reservations do\nnot reflect the worst case log usage. An unlinked list removal can\nlog up to two on-disk inode clusters but only includes reservation\nfor one. An unlinked list addition logs the on-disk cluster but\nincludes reservation for an in-core inode.\n\nUpdate the AGI unlinked list reservation helpers to calculate the\ncorrect worst case reservation for the associated operations.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "12382cd23059944d5dfdb516e4c90334fc3415e6",
      "tree": "5db05ea7326f18a84dcf4da0e5a5e496859a5fb5",
      "parents": [
        "4bfc773dea23bc845fb48159a1a5e873d241d593"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 22:43:15 2018 -0600"
      },
      "message": "xfs: include inobt buffers in ifree tx log reservation\n\nSource kernel commit: a6f485908d5210a5662f7a031bd1deeb3867e466\n\nThe tr_ifree transaction handles inode unlinks and inode chunk\nfrees. The current transaction calculation does not accurately\nreflect worst case changes to the inode btree, however. The inobt\nportion of the current transaction reservation only covers\nmodification of a single inobt buffer (for the particular inode\nrecord). This is a historical artifact from the days before XFS\nsupported full inode chunk removal.\n\nWhen support for inode chunk removal was added in commit\n254f6311ed1b (\"Implement deletion of inode clusters in XFS.\"), the\nadditional log reservation required for chunk removal was not added\ncorrectly. The new reservation only considered the header overhead\nof associated buffers rather than the full contents of the btrees\nand AGF and AGFL buffers affected by the transaction. The\nreservation for the free space btrees was subsequently fixed up in\nITRUNCATE log reservation\"), but the res. for full inobt joins has\nnever been added.\n\nFurther review of the ifree reservation uncovered a couple more\nproblems:\n\n- The undocumented +2 blocks are intended for the AGF and AGFL, but\nare also not sized correctly and should be logged as full sectors\n(not FSBs).\n- The additional single block header is undocumented and serves no\napparent purpose.\n\nUpdate xfs_calc_ifree_reservation() to include a full inobt join in\nthe reservation calculation. Refactor the undocumented blocks\nappropriately and fix up the comments to reflect the current\ncalculation.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "4bfc773dea23bc845fb48159a1a5e873d241d593",
      "tree": "9c135a1361be74c892b50abd4fa6404dc25fae0f",
      "parents": [
        "4f35436ef1b45d3233a90223b2d32d9a6c8d0a16"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 19:50:56 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 19:50:56 2018 -0600"
      },
      "message": "xfsprogs: Release v4.15.1\n    \nUpdate all the necessary files for a 4.15.1 release.\n    \nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "4f35436ef1b45d3233a90223b2d32d9a6c8d0a16",
      "tree": "cf365d3f63f140523c324f04140f6a339cbcddfc",
      "parents": [
        "37c528caf8e50e017417fea44df57ec152aa4f7e"
      ],
      "author": {
        "name": "Jakub Bogusz",
        "email": "qboosh@pld-linux.org",
        "time": "Mon Feb 26 19:44:01 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 19:44:01 2018 -0600"
      },
      "message": "po/pl.po: update Polish translation for 4.15.0\n\nPolish translation update for xfsprogs 4.15.0\n\nSigned-off-by: Jakub Bogusz \u003cqboosh@pld-linux.org\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "37c528caf8e50e017417fea44df57ec152aa4f7e",
      "tree": "e3e6bd1b3e728a4f36695a44eb5936a815d3ad95",
      "parents": [
        "638c642d509e7fcfc2f5ead699b080a48280575e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 19:43:58 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 19:43:58 2018 -0600"
      },
      "message": "debian: don\u0027t fail postinst when upgrading chroot\n\nIf we\u0027re upgrading a systemd-enabled chroot we\u0027ll fail because systemctl\ncan\u0027t connect to a running systemd (nor should it).  We don\u0027t need to\nissue daemon-reload inside a chroot that doesn\u0027t have a running systemd,\nso we can ignore the return value.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Nathan Scott \u003cnathans@debian.org\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "638c642d509e7fcfc2f5ead699b080a48280575e",
      "tree": "0317ba0193e4d5547f0d78e198b19432f687ea5c",
      "parents": [
        "bc95a6f5bd99e2ccc1a450fa65e857f9d78bfa5c"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 26 19:43:58 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 26 19:43:58 2018 -0600"
      },
      "message": "debian: add build-depends on pkg-config\n\nSince the configure scripts now depend on pkg-config to autodetect where\nsystemd service files go, we need to list pkg-config as a build\ndependency.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "bc95a6f5bd99e2ccc1a450fa65e857f9d78bfa5c",
      "tree": "d792052b643405f7cfcc32be29b1fd5d0e3aa8c2",
      "parents": [
        "9393ba67e934e7780908b59ead3a69a280b93793"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 23 13:09:31 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 23 13:09:31 2018 -0600"
      },
      "message": "xfsprogs: Release v4.15.0\n    \nUpdate all the necessary files for a 4.15.0 release.\n    \nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "9393ba67e934e7780908b59ead3a69a280b93793",
      "tree": "b62dcf181229a5673edb82891a7bd291f8b057fb",
      "parents": [
        "9ae168bb755ae62ff388fceab6ab867434e0df7b"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Fri Feb 23 13:05:20 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 23 13:05:20 2018 -0600"
      },
      "message": "Fix spelling mistake in mkfs lazy superblock diagnostic\n\nSigned-off-by: \u003cnathans@debian.org\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "9ae168bb755ae62ff388fceab6ab867434e0df7b",
      "tree": "9bae88bd1c628ff118f9b85ef062fc1daca67619",
      "parents": [
        "c448626f43780bf0f3b53248fea93e8b6e01c5ad"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Fri Feb 23 13:05:17 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 23 13:05:17 2018 -0600"
      },
      "message": "Fix grammar and spelling in strings and man pages\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "c448626f43780bf0f3b53248fea93e8b6e01c5ad",
      "tree": "ad80ad6b7961f094639c258c51446e30ce206615",
      "parents": [
        "e3e429bb5192df5c835f8812596e23673673ecc1"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Fri Feb 23 13:05:15 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 23 13:05:15 2018 -0600"
      },
      "message": "Add xfs_scrub_fail systemd service file docs entry\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "e3e429bb5192df5c835f8812596e23673673ecc1",
      "tree": "d332b0e26e74f3b73b106b3c434844a32bde9c66",
      "parents": [
        "ec1cf08dbeb2d687ea84539478b9385191efdfea"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Fri Feb 23 13:05:13 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 23 13:05:13 2018 -0600"
      },
      "message": "Update .gitignore list for generated scrub cron file\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "ec1cf08dbeb2d687ea84539478b9385191efdfea",
      "tree": "9a204155385e552d265c6848e277eb2523c8d0b2",
      "parents": [
        "a753d26fbf735353c2a2c0e03d02dad87cab543f"
      ],
      "author": {
        "name": "Nathan Scott",
        "email": "nathans@debian.org",
        "time": "Fri Feb 23 13:05:07 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 23 13:05:07 2018 -0600"
      },
      "message": "Several updates to use more modern Debian packaging\n\nSwitch to Debian packaging features available in more\nrecent years to resolve some long-standing issues.\n\nIn particular, using the quilt format gives non-native\npackage builds finally, while keeping the ability for\ndevelopers to do upstream deb builds.  Also split the\nbinary-arch and binary-indep debian/rules targets as\nis now mandated, and update to latest standard version.\nMark a bunch of long-resolved bugs as fixed in the deb\nchangelog so they are automatically closed by the next\nupdate.\n\nSigned-off-by: Nathan Scott \u003cnathans@debian.org\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "a753d26fbf735353c2a2c0e03d02dad87cab543f",
      "tree": "6493e02c81dd8961368d95e171cfcf61d860e30c",
      "parents": [
        "5454c2bfb6f0228b836ed386507485624756bf8b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Feb 13 13:57:05 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Feb 13 13:57:05 2018 -0600"
      },
      "message": "xfsprogs: Release v4.15.0-rc1\n    \nUpdate all the necessary files for a 4.15.0-rc1 release.\n    \nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "5454c2bfb6f0228b836ed386507485624756bf8b",
      "tree": "c054daddc7f2b92baeb7c5ab6adf8f92c905c2e1",
      "parents": [
        "2e4959c1c632c5faf5efff445429d3a4a5089f27"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Tue Feb 13 13:46:42 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Feb 13 13:46:42 2018 -0600"
      },
      "message": "xfs_scrub: refactor outcome display into a separate helper\n\nMove all the printing of the scrub outcome into a separate helper to\ndeclutter the main function.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\n[sandeen: put \"Unmount ...\" on its own line]\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "2e4959c1c632c5faf5efff445429d3a4a5089f27",
      "tree": "287e2a99fdf67117cb536d86f07ed838a7516625",
      "parents": [
        "bb5dbd06b7265fbc56711f37db70e72a6fd854bf"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 12 15:47:56 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 12 15:47:56 2018 -0600"
      },
      "message": "xfs_scrub: always init phase information\n\nMake sure we initialize the overall phase state before we start\nexecuting any code that can end up in the report-status-and-exit paths.\nOtherwise if debugging is turned on we get garbage io/cpu stat reports.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "bb5dbd06b7265fbc56711f37db70e72a6fd854bf",
      "tree": "208f1a1bc8686abaf05c27812aa6933909fbaeee",
      "parents": [
        "82377bde20e9d52b167d8517d68423ccf47a9ebc"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 12 15:47:54 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 12 15:47:54 2018 -0600"
      },
      "message": "xfs_scrub: reclassify some of the warning messages\n\nSome of the warning messages are actually runtime errors in optional\ncomponents, so turn them into informational messages.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "82377bde20e9d52b167d8517d68423ccf47a9ebc",
      "tree": "9cda5b5810ca978059c22657ce324294755ff7fd",
      "parents": [
        "1df93c8d953fd736cbc6f4b62399cd5a1ab1fcc0"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 12 15:47:52 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 12 15:47:52 2018 -0600"
      },
      "message": "xfs_scrub: reclassify runtime errors\n\nIf the program encounters runtime errors, these should be noted as\ninformation.  Because these errors abort the execution flow (which is\ncounted as a runtime error), we need only call str_info to log the\nevent.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "1df93c8d953fd736cbc6f4b62399cd5a1ab1fcc0",
      "tree": "9401901c5a032e619fb2f50342088f85832b9f10",
      "parents": [
        "1658224d2b5dfb003b336a70adb6b729304973c2"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 12 15:47:50 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 12 15:47:50 2018 -0600"
      },
      "message": "xfs_scrub: classify lack of ioctl support as a runtime error\n\nIf the kernel doesn\u0027t have the SCRUB_METADATA ioctl that\u0027s a runtime\nerror, not a fs error.  Account it as such.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "1658224d2b5dfb003b336a70adb6b729304973c2",
      "tree": "132b7f0117c47a9005f48dec8da989dcbfad8934",
      "parents": [
        "d789af70600f1c494aac9e2edbd8baff002d249d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 12 15:47:40 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 12 15:47:40 2018 -0600"
      },
      "message": "xfs_scrub: remove preen mode\n\nWhile it\u0027s true that the kernel can tell us whether something needs\nrepairs or it needs optimizing, from the admin\u0027s perspective there\u0027s\nno point in having an optimize-only mode -- either fix everything, or\ndon\u0027t.  This is what xfs_repair does w.r.t. -n, so let\u0027s do the same\nthing too.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "d789af70600f1c494aac9e2edbd8baff002d249d",
      "tree": "8434a17286b157a18dbc0775f6d0825bd4195e21",
      "parents": [
        "720eec0f83c4adce70629d5d0f217595fa4b1f31"
      ],
      "author": {
        "name": "Marco Benatto",
        "email": "marco.antonio.780@gmail.com",
        "time": "Mon Feb 05 14:43:02 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 05 14:43:02 2018 -0600"
      },
      "message": "xfs_mdrestore: Don\u0027t rewind source file stream\n\nToday, xfs_mdrestore from stdin will fail if the -i flag is\nspecified, because it attempts to rewind the stream after\nthe initial read of the metablock.  This fails, and\nresults in an abort with \"specified file is not a metadata\ndump.\"\n\nRead the metablock exactly once in main(), validate the magic,\nprint informational flags if requested, and then pass it to\nperform_restore() which will then continue the restore process.\n\nReported-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Marco A Benatto \u003cmarco.antonio.780@gmail.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "720eec0f83c4adce70629d5d0f217595fa4b1f31",
      "tree": "9e51b928988f5d2ac5bbd5be482274ab65f7d6d8",
      "parents": [
        "8041435de7ed028a27ecca64302945ad455c69a6"
      ],
      "author": {
        "name": "Marco Benatto",
        "email": "marco.antonio.780@gmail.com",
        "time": "Mon Feb 05 14:41:24 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 05 14:41:24 2018 -0600"
      },
      "message": "xfs_mdrestore: Add -i option to built-in help\n\nCurrently we are missing -i option from usage().\nThis patch adds it to this biult-in help.\n\nSigned-off-by: Marco A Benatto \u003cmarco.antonio.780@gmail.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "8041435de7ed028a27ecca64302945ad455c69a6",
      "tree": "d2739bc7d2042a52b7450195473a67c9392d753b",
      "parents": [
        "33a503423d5fa11316aeb71b6e136aa3583df38d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 05 14:38:02 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 05 14:38:02 2018 -0600"
      },
      "message": "xfs_io: fix copy_file_range symbol name collision\n\nglibc 2.27 has a copy_file_range wrapper, so we need to change our\ninternal function out of the way to avoid compiler warnings.\n\nReported-by: fredrik@crux.nu\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "33a503423d5fa11316aeb71b6e136aa3583df38d",
      "tree": "672577bf3d4beeddf017c2a06a0c81f91a3e280f",
      "parents": [
        "e91c285f92cc1028f17833f9773ddc5c9905c804"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 05 14:37:49 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 05 14:37:49 2018 -0600"
      },
      "message": "xfs_scrub: kill dead code\n\nWe can\u0027t reach the return mess at the bottom of __xfs_scrub_test so get\nrid of it.\n\nFixes-coverity-id: 1428798\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "e91c285f92cc1028f17833f9773ddc5c9905c804",
      "tree": "d15dc4f3198b61691314aec301e467c79710c3b1",
      "parents": [
        "bfa66ecdb675afbf00d48c70cf5d53af383f27f0"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 05 14:37:42 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 05 14:37:42 2018 -0600"
      },
      "message": "xfs_scrub: close dir_fd if we don\u0027t get a DIR pointer\n\nIf we don\u0027t get a directory pointer, close dir_fd before jumping out.\n\nFixes-coverity-id: 1428799\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "bfa66ecdb675afbf00d48c70cf5d53af383f27f0",
      "tree": "ed8f6dd266582f6c7d2fdf419e3f7f54437e5e63",
      "parents": [
        "ffdd27262e488e9b536d1934f78d751b2938320e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Mon Feb 05 14:37:35 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Feb 05 14:37:35 2018 -0600"
      },
      "message": "mkfs: don\u0027t create realtime filesystems with reflink enabled\n\nWe don\u0027t support reflink on the realtime device, so don\u0027t let people\ncreate such things.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "ffdd27262e488e9b536d1934f78d751b2938320e",
      "tree": "cc3a687534a1a0e91fc8f2690acef8045d5461dd",
      "parents": [
        "19852474813fa039f7b2d952ff421f2eb2d3f06d"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:47 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:47 2018 -0600"
      },
      "message": "xfs_scrub: handle scrub-only kernels more helpfully\n\nIf xfs_scrub is run today against a 4.15 kernel, it fails with\n\nEXPERIMENTAL xfs_scrub program in use! Use at your own risk!\nError: /home: Kernel metadata optimization facility is required.\nInfo: /home: Scrub aborted after phase 1.\n/home: 2 errors found.\n\nBe a bit kinder to the user and suggest a path forward.  By the\ntime we fail for missing preen or repair functionality, we do\nknow that scrub is available, so suggest it.\n\nFurther, rather than stating what is required, state what was not\nfound ... we\u0027re failing, so state what was missing, vs. what is\nrequired - seems a bit more definitive.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nReviewed-by: Bill O\u0027Donnell \u003cbillodo@redhat.com\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "19852474813fa039f7b2d952ff421f2eb2d3f06d",
      "tree": "84a70b36b8324ebf21768b6fdba1c8d0f3aa32dc",
      "parents": [
        "5c7826c1aec6a0dfe2f714b7b4d92f4c623a864f"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:47 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:47 2018 -0600"
      },
      "message": "xfs_scrub: wire up repair ioctl\n\nCreate the mechanism we need to actually call the kernel\u0027s online repair\nfunctionality.  The interface will consume a repair description; the\ndescriptor management will follow in the next patch.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "5c7826c1aec6a0dfe2f714b7b4d92f4c623a864f",
      "tree": "c9b5171dc093930a02744989e848150ce0b83962",
      "parents": [
        "824b5807fb1e1a0e156b183a591f23b096c8868f"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:47 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:47 2018 -0600"
      },
      "message": "debian/control: remove nonexistent libreadline5-dev build dependency\n\nlibreadline5-dev hasn\u0027t existed as a package for quite some time now;\neven Debian \"oldoldstable\" doesn\u0027t know what that is.  Drop it in favor\nof libreadline-gplv2-dev.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n"
    },
    {
      "commit": "824b5807fb1e1a0e156b183a591f23b096c8868f",
      "tree": "7c9942733c10e2e49f775cb3957d732f8477efb6",
      "parents": [
        "f1dca11cad13086a30df05bed57b600abf06374d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: integrate services with systemd\n\nCreate a systemd service unit so that we can run the online scrubber\nunder systemd with (somewhat) appropriate containment.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "f1dca11cad13086a30df05bed57b600abf06374d",
      "tree": "ece356e6f14c7aa65d888901f88c205c0cf67e56",
      "parents": [
        "ed60d2102c0f5a151756a7b68275c33dad517691"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: create a script to scrub all xfs filesystems\n\nCreate an xfs_scrub_all command to find all XFS filesystems\nand run an online scrub against them all.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "ed60d2102c0f5a151756a7b68275c33dad517691",
      "tree": "b0d7e666fce99fb8ec1c42ff87d4eaaff0571375",
      "parents": [
        "7e36bc0fa8ad5a4aef21b7c1ca8bc2b52b5d0dd5"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: progress indicator\n\nImplement a progress indicator.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "7e36bc0fa8ad5a4aef21b7c1ca8bc2b52b5d0dd5",
      "tree": "cd7ac4c21969dc8dd87ae7c2b9ae97d70f6b7ed8",
      "parents": [
        "698c6c7cb8ba7572f79fa1c8a21dec4300cfc28e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: fstrim the free areas if there are no errors on the filesystem\n\nIf the filesystem scan comes out clean or fixes all the problems, call\nfstrim to clean out the free areas (if it\u0027s an ssd/thinp/whatever).\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "698c6c7cb8ba7572f79fa1c8a21dec4300cfc28e",
      "tree": "859f11630e26119f2fb85905dbdbd4aaed851ba2",
      "parents": [
        "03c0cd8ffaed63b31f50698c4d9d1cb75c14d47b"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: check summary counters\n\nMake sure the filesystem summary counters are somewhat close to what\nwe can find by scanning the filesystem.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "03c0cd8ffaed63b31f50698c4d9d1cb75c14d47b",
      "tree": "2013efa9dfc7504de9320c07b7473daf91a069e9",
      "parents": [
        "b364a9c008fc049089844ec137225e1025ad7955"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: optionally use SCSI READ VERIFY commands to scrub data blocks on disk\n\nIf we sense that we\u0027re talking to a raw SCSI disk, use the SCSI READ\nVERIFY command to ask the disk to verify a disk internally.  This can\nsharply reduce the runtime of the data block verification phase on\ndevices whose internal bandwidth exceeds their link bandwidth.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "b364a9c008fc049089844ec137225e1025ad7955",
      "tree": "9f267b731887c81e68e63d5453f28e724997b344",
      "parents": [
        "2000470d5376e41524efb4a50de970627866d417"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: scrub file data blocks\n\nRead all data blocks from the disk, hoping to catch IO errors.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "2000470d5376e41524efb4a50de970627866d417",
      "tree": "7e7ed79bb47132a2424a7b5aaec5e1c2106fdccc",
      "parents": [
        "0cf6f68627469fcdab0756e668f5d15d6fab6ccd"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: create infrastructure to read verify data blocks\n\nManage the scheduling, issuance, and reporting of data block\nverification reads.  This enables us to combine adjacent (or nearly\nadjacent) read requests, and to take advantage of high-IOPS devices by\nissuing IO from multiple threads.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "0cf6f68627469fcdab0756e668f5d15d6fab6ccd",
      "tree": "7128d991f8485d70be5e1a7f4471d7e2ace873b3",
      "parents": [
        "4bbed4ecc2af9e9bff1764ec8e737418cf644aab"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: create a bitmap data structure\n\nCreate an efficient tree-based bitmap data structure.  We will use this\nduring the data block scan to record the LBAs of IO errors so that we\ncan report broken files to userspace.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "4bbed4ecc2af9e9bff1764ec8e737418cf644aab",
      "tree": "55055189e1ed0c3d3351bae7a0c766a3fe144033",
      "parents": [
        "396cd0223598bb11a73d49fbd2fb64d1b8d4e354"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: warn about normalized Unicode name collisions\n\nIterate all directory and xattr names to look for name collisions\namongst Unicode normalized names.  This is generally a sign of buggy\nprograms or malicious duplicate files.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "396cd0223598bb11a73d49fbd2fb64d1b8d4e354",
      "tree": "b0ce34b363fccf773d6b1df302d3649e130149c7",
      "parents": [
        "c4892e766914ab1ea36ae93cc310eebec9f1d524"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: warn about suspicious characters in directory/xattr names\n\nLook for control characters and punctuation that interfere with shell\nglobbing in directory entry names and extended attribute key names.\nTechnically these aren\u0027t filesystem corruptions because names are\narbitrary sequences of bytes, but they\u0027ve been known to cause problems\nin the Unix environment so warn if we see them.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "c4892e766914ab1ea36ae93cc310eebec9f1d524",
      "tree": "c4bb1678a159e7498402db89dbe37ed58f1fd959",
      "parents": [
        "fa16b376a47a4a468c378ae95e7775cbe6c9cb98"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: check directory connectivity\n\nOpening directories by file handle will cause the kernel to perform\nparent lookups all the way to the root directory.  Take advantage of\nthis to ensure that directories actually connect to the root.  Some\nday we\u0027ll have parent pointers and can make this more comprehensive.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "fa16b376a47a4a468c378ae95e7775cbe6c9cb98",
      "tree": "9834b0a9f2880660ef1e7060e66ee3b67c690221",
      "parents": [
        "d11cc69eb14eea967463d6f76a4f55b09598fa7e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: scan inodes\n\nScan all the inodes in the system for problems.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "d11cc69eb14eea967463d6f76a4f55b09598fa7e",
      "tree": "6f201a59b6232d9b1551b99ae97408e279b04715",
      "parents": [
        "e758ad0198760fcb4daaf3560feb7292d314b344"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: thread-safe stats counter\n\nCreate a threaded stats counter that we\u0027ll use to track scan progress.\nThis includes things like how much of the disk blocks we\u0027ve scanned,\nor later how much progress we\u0027ve made in each phase.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "e758ad0198760fcb4daaf3560feb7292d314b344",
      "tree": "a1109320e293f5502137e6f623237f96db7045f2",
      "parents": [
        "fd7d73c0c4643496e3cc4f1aedd14689a4d57200"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: scan filesystem and AG metadata\n\nScrub the filesystem and per-AG metadata.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "fd7d73c0c4643496e3cc4f1aedd14689a4d57200",
      "tree": "c9033747a437163f15af17745e85e5e212758996",
      "parents": [
        "604dd3345f350379ded09d4a2218f4478844f245"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: wrap the scrub ioctl\n\nCreate some wrappers to call the scrub ioctls.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "604dd3345f350379ded09d4a2218f4478844f245",
      "tree": "41831efdd3da2f5cfabcc127adaea655cb01419f",
      "parents": [
        "c6eb0ff20c2a9e115d52a7a98b53984944c43829"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:46 2018 -0600"
      },
      "message": "xfs_scrub: filesystem counter collection functions\n\nAdd a couple of helper functions to estimate the inode and block\ncounters on the filesystem.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "c6eb0ff20c2a9e115d52a7a98b53984944c43829",
      "tree": "ab2798c15f4d83667b33efca2a827ee3557f36b5",
      "parents": [
        "bc94c5d69e14bbe6e2b4fd74e2ef8b2ef66ccedc"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "message": "xfs_scrub: add file space map iteration functions\n\nThese helpers enable userspace to iterate all the space map information\nfor a file.  The iteration function uses GETBMAPX.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "bc94c5d69e14bbe6e2b4fd74e2ef8b2ef66ccedc",
      "tree": "da4129cf5b4e2adc6875abf98067248e1e548767",
      "parents": [
        "372d4ba99155b2432dee293431f15b0df2f9e4b0"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "message": "xfs_scrub: add space map iteration functions\n\nThese helpers enable userspace to iterate all the space map information\nin a filesystem.  The iteration function uses GETFSMAP.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "372d4ba99155b2432dee293431f15b0df2f9e4b0",
      "tree": "d6e0e0aae762f8f1cefe95e145b2343585b95014",
      "parents": [
        "50a573a72917dd093b68c618bb0253a9a49fe50b"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "message": "xfs_scrub: add inode iteration functions\n\nThese helpers enable userspace to count or iterate all inodes in a\nfilesystem.  The counting function uses INUMBERS, while the inode\niterator uses INUMBERS and BULKSTAT to iterate over every inode that\nshould be in the filesystem.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "50a573a72917dd093b68c618bb0253a9a49fe50b",
      "tree": "a8d0422a4ebb4cf9a9198d0dd848c7cba67fbb5c",
      "parents": [
        "a555a1f410f99a68660e81ccc861d1a05d190981"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "message": "xfs_scrub: find XFS filesystem geometry\n\nDiscover the geometry of the XFS filesystem that we\u0027ve been told to\nscan, and set up some common functions that will be used by the\nscrub phases.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "a555a1f410f99a68660e81ccc861d1a05d190981",
      "tree": "14f0aedd18d13c9867fc71ddcf918fe990bdc44a",
      "parents": [
        "e031d90f536d192cb9206cbc55222beeca68d057"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "message": "xfs_scrub: create an abstraction for a block device\n\nCreate an abstraction to handle all of our low level disk operations.\nWe\u0027ll eventually use it to bind to a fs mount point and block device.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "e031d90f536d192cb9206cbc55222beeca68d057",
      "tree": "ac0416786a456a02a1518062ee55b04fcaa34257",
      "parents": [
        "173a02839e85915bd4feca0170fd6a0ca87d3bb9"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "message": "xfs_scrub: figure out how many threads we\u0027re going to need\n\nCreate the plumbing to figure out how many threads we\u0027re going to want\nto do all of our scrubbing.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    },
    {
      "commit": "173a02839e85915bd4feca0170fd6a0ca87d3bb9",
      "tree": "1430dd7e235d522e8d048951ddad308c7ac0ced6",
      "parents": [
        "828105d1922556ce8e9d31cc2693ed88ebf5f87c"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "darrick.wong@oracle.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "committer": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Feb 02 09:32:45 2018 -0600"
      },
      "message": "xfs_scrub: dispatch the various phases of the scrub program\n\nCreate the dispatching routines that we\u0027ll use to call out to each\nseparate phase of the program.\n\nSigned-off-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\n\n"
    }
  ],
  "next": "828105d1922556ce8e9d31cc2693ed88ebf5f87c"
}
