)]}'
{
  "commit": "9fd4e539ed0737be165fc633063885a477ac556a",
  "tree": "12c25b8cb743292f178efb769b89cdecd4914660",
  "parents": [
    "0b7fba4034da2a6dd6ebb994ad9f592939a752cf"
  ],
  "author": {
    "name": "MITSUNARI Shigeo",
    "email": "herumi@nifty.com",
    "time": "Thu Feb 21 16:42:01 2013 -0800"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Thu Feb 28 06:59:01 2013 -0800"
  },
  "message": "fs/block_dev.c: page cache wrongly left invalidated after revalidate_disk()\n\ncommit 7630b661da330b35dd57b6f5d6d62b386f2dd751 upstream.\n\nWe found that bdev-\u003ebd_invalidated was left set once revalidate_disk()\nis called, which results in page cache flush every time that device is\nopen.\n\nSpecifically, we found this problem in MD block device.  Once we resize\na MD device, mdadm --monitor periodically flush all page cache for that\ndevice every 60 or 1000 seconds when it opens the device.\n\nThis bug lies since at least 3.2.0 till the latest kernel(3.6.2).  Patch\nis attached.\n\nThe following steps will reproduce the problem.\n\n1. prepair a block device (eg /dev/sdb).\n\n2. create two partitions:\n\n   sudo parted /dev/sdb\n   mklabel gpt\n   mkpart primary 0% 50%\n   mkpart primary 50% 100%\n\n3. create a md device.\n\n   sudo mdadm -C /dev/md/hoge -l 1 -n 2 -e 1.2 --assume-clean --auto\u003dmd --symlink\u003dno /dev/sdb1 /dev/sdb2\n\n4. create file system and mount it\n\n   sudo mkfs.ext3 /dev/md/hoge\n   sudo mkdir /mnt/test\n   sudo mount /dev/md/hoge /mnt/test\n\n5. try to resize the device\n\n   sudo mdadm -G /dev/md/hoge --size\u003dmax\n\n6. create a file to fill file cache.\n\n  sudo dd if\u003d/dev/urandom of\u003d/mnt/test/data bs\u003d1M count\u003d10\n\nand verify the current status of file by free command.\n\n7. mdadm monitor will open the md device every 1000 seconds and you\n   will find all file cache on the device are cleared.\n\nThe timing can be reduced by the following steps.\n\na) kill mdadm and restart it with --delay option\n\n   /sbin/mdadm --monitor --delay\u003d30 --pid-file /var/run/mdadm/monitor.pid --daemonise --scan --syslog\n\nor open the md device directly.\n\n   sudo dd if\u003d/dev/md/hoge of\u003d/dev/null bs\u003d4096 count\u003d1\n\nSigned-off-by: MITSUNARI Shigeo \u003cherumi@nifty.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ba11c30f302dd37012d361a14c96db7c8ca22d0f",
      "old_mode": 33188,
      "old_path": "fs/block_dev.c",
      "new_id": "b3be92c980eeee9e203a35656b13364a67aee28a",
      "new_mode": 33188,
      "new_path": "fs/block_dev.c"
    }
  ]
}
