)]}'
{
  "commit": "a65f2f4fe575e2069276795af46f962dd4559edf",
  "tree": "5ec8f173e814e0dcb08ffbe90ee52baa57b07fac",
  "parents": [
    "9cb831d9d848608e5756db751360c383e297cbe7"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Thu Aug 12 17:33:46 2021 +0100"
  },
  "committer": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Wed Sep 29 11:42:04 2021 +0100"
  },
  "message": "mm: Remove swap BIO paths and only use DIO paths\n\nDelete the BIO-generating swap read/write paths and always use -\u003eswap_rw().\nThis puts the mapping layer in the filesystem.\n\n[!] ALSO: Add a compile-time knob to disable swap by asynchronous DIO, only\n    using synchronous DIO.  Async DIO doesn\u0027t seem to work, with ATA errors\n    being chucked out by the swap-on-blockdev and swapfile-on-XFS.  It also\n    misbehaves on NFS.\n\nI have tested this with sync DIO on ext4-swapfile, xfs-swapfile, a raw\nblockdev and NFS.  The first three work; NFS works for a while then grinds to\na halt, chucking out lists of blocked sunrpc operations (I suspect it can\u0027t\nallocate memory somewhere).\n\nSuggested-by: Matthew Wilcox (Oracle) \u003cwilly@infradead.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: Matthew Wilcox \u003cwilly@infradead.org\u003e\ncc: Christoph Hellwig \u003chch@lst.de\u003e\ncc: Jens Axboe \u003caxboe@kernel.dk\u003e\ncc: Darrick J. Wong \u003cdjwong@kernel.org\u003e\ncc: linux-block@vger.kernel.org\ncc: linux-xfs@vger.kernel.org\ncc: linux-fsdevel@vger.kernel.org\ncc: linux-mm@kvack.org\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8f1199d59162f17cc6a92eeb585db1236e7cf7ca",
      "old_mode": 33188,
      "old_path": "mm/page_io.c",
      "new_id": "b48318951380a4b31587badcbc698175a07ef42f",
      "new_mode": 33188,
      "new_path": "mm/page_io.c"
    },
    {
      "type": "modify",
      "old_id": "22d10f7138487434a56bb37216b1fc868882212e",
      "old_mode": 33188,
      "old_path": "mm/swapfile.c",
      "new_id": "95d2571e3727abfd25822447e3d7d77cabeb19b9",
      "new_mode": 33188,
      "new_path": "mm/swapfile.c"
    }
  ]
}
