)]}'
{
  "commit": "d785a06a0b9d0cd86b3cc1bf8e236e62af7b47ed",
  "tree": "7a238aedb0facb5c207a0477296e78b9ef7d551b",
  "parents": [
    "acc55e220166a5ad898e66ad6153fd62eaaac76d"
  ],
  "author": {
    "name": "NeilBrown",
    "email": "neilb@suse.de",
    "time": "Mon Jun 26 00:27:48 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Mon Jun 26 09:58:38 2006 -0700"
  },
  "message": "[PATCH] md/bitmap: change md/bitmap file handling to use bmap to file blocks\n\nIf md is asked to store a bitmap in a file, it tries to hold onto the page\ncache pages for that file, manipulate them directly, and call a cocktail of\noperations to write the file out.  I don\u0027t believe this is a supportable\napproach.\n\nThis patch changes the approach to use the same approach as swap files.  i.e.\nbmap is used to enumerate all the block address of parts of the file and we\nwrite directly to those blocks of the device.\n\nswapfile only uses parts of the file that provide a full pages at contiguous\naddresses.  We don\u0027t have that luxury so we have to cope with pages that are\nnon-contiguous in storage.  To handle this we attach buffers to each page, and\nstore the addresses in those buffers.\n\nWith this approach the pagecache may contain data which is inconsistent with\nwhat is on disk.  To alleviate the problems this can cause, md invalidates the\npagecache when releasing the file.  If the file is to be examined while the\narray is active (a non-critical but occasionally useful function), O_DIRECT io\nmust be used.  And new version of mdadm will have support for this.\n\nThis approach simplifies a lot of code:\n - we no longer need to keep a list of pages which we need to wait for,\n   as the b_endio function can keep track of how many outstanding\n   writes there are.  This saves a mempool.\n - -EAGAIN returns from write_page are no longer possible (not sure if\n    they ever were actually).\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e40d3e4b8d27b4b29eba89ceddc4e63947ddba3f",
      "old_mode": 33188,
      "old_path": "drivers/md/bitmap.c",
      "new_id": "bedd66e9e8acf3aa93b9cb2f0d22fafce8935380",
      "new_mode": 33188,
      "new_path": "drivers/md/bitmap.c"
    },
    {
      "type": "modify",
      "old_id": "9c8907ca60a7ab58d67d68feed128acc0c312ad1",
      "old_mode": 33188,
      "old_path": "include/linux/raid/bitmap.h",
      "new_id": "63df898fe2e95dcf092a3ac5dedeb76b431f8122",
      "new_mode": 33188,
      "new_path": "include/linux/raid/bitmap.h"
    }
  ]
}
