)]}'
{
  "commit": "233e70f4228e78eb2f80dc6650f65d3ae3dbf17c",
  "tree": "4e18fbe1851e6d2161b7f18265cb21f8a61e3ce7",
  "parents": [
    "3318a386e4ca68c76e0294363d29bdc46fcad670"
  ],
  "author": {
    "name": "Al Viro",
    "email": "viro@ZenIV.linux.org.uk",
    "time": "Fri Oct 31 23:28:30 2008 +0000"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sat Nov 01 09:49:46 2008 -0700"
  },
  "message": "saner FASYNC handling on file close\n\nAs it is, all instances of -\u003erelease() for files that have -\u003efasync()\nneed to remember to evict file from fasync lists; forgetting that\ncreates a hole and we actually have a bunch that *does* forget.\n\nSo let\u0027s keep our lives simple - let __fput() check FASYNC in\nfile-\u003ef_flags and call -\u003efasync() there if it\u0027s been set.  And lose that\ncrap in -\u003erelease() instances - leaving it there is still valid, but we\ndon\u0027t have to bother anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ada4605d12236cdf682d182b35034afd1ccf821b",
      "old_mode": 33188,
      "old_path": "arch/ia64/kernel/perfmon.c",
      "new_id": "6543a5547c84669434e5d4dbc3d962400a714f57",
      "new_mode": 33188,
      "new_path": "arch/ia64/kernel/perfmon.c"
    },
    {
      "type": "modify",
      "old_id": "408f5f92cb4e1f56959fae99936b34d030f67d70",
      "old_mode": 33188,
      "old_path": "drivers/char/hpet.c",
      "new_id": "53fdc7ff387051507ade9def9a75eb67ff1bfd13",
      "new_mode": 33188,
      "new_path": "drivers/char/hpet.c"
    },
    {
      "type": "modify",
      "old_id": "1d7b429f7ffaf8dd0ad262cfee1e513e4afa1ff9",
      "old_mode": 33188,
      "old_path": "drivers/char/ipmi/ipmi_devintf.c",
      "new_id": "41fc11dc921c70260e89551f111a8f73d97a3b10",
      "new_mode": 33188,
      "new_path": "drivers/char/ipmi/ipmi_devintf.c"
    },
    {
      "type": "modify",
      "old_id": "235fab0bdf79d99e3bd4328c8d3a6ee42c0fb7f9",
      "old_mode": 33188,
      "old_path": "drivers/char/ipmi/ipmi_watchdog.c",
      "new_id": "a4d57e31f713bc0c9d11f54b610ab33365e6b692",
      "new_mode": 33188,
      "new_path": "drivers/char/ipmi/ipmi_watchdog.c"
    },
    {
      "type": "modify",
      "old_id": "705a839f1796125b257925dc8c3aac722d992018",
      "old_mode": 33188,
      "old_path": "drivers/char/random.c",
      "new_id": "675076f5fca881d0ab3752b44c8356766dac1c3a",
      "new_mode": 33188,
      "new_path": "drivers/char/random.c"
    },
    {
      "type": "modify",
      "old_id": "32dc89720d5896a6f6efebcfdfa8e8999999d85f",
      "old_mode": 33188,
      "old_path": "drivers/char/rtc.c",
      "new_id": "20d6efb6324ef4f8dc9da36eba4c77d24df0d9cd",
      "new_mode": 33188,
      "new_path": "drivers/char/rtc.c"
    },
    {
      "type": "modify",
      "old_id": "85e0eb76eeab92ca751ce59acfcacc38a39f61a5",
      "old_mode": 33188,
      "old_path": "drivers/char/sonypi.c",
      "new_id": "2457b07dabd69a18d01acc75b257d6f88ae85a3e",
      "new_mode": 33188,
      "new_path": "drivers/char/sonypi.c"
    },
    {
      "type": "modify",
      "old_id": "0d46627663b1e93e0d50729b41162ca32c5af1a0",
      "old_mode": 33188,
      "old_path": "drivers/gpu/drm/drm_fops.c",
      "new_id": "78eeed5caaff1ed68ed01cb2cd27a2ed156caa49",
      "new_mode": 33188,
      "new_path": "drivers/gpu/drm/drm_fops.c"
    },
    {
      "type": "modify",
      "old_id": "3ac320785fc58212d38334c2a87f35b130c66a45",
      "old_mode": 33188,
      "old_path": "drivers/hid/usbhid/hiddev.c",
      "new_id": "83e851a5ed3041f9b25bf212634f81355d0dd9f3",
      "new_mode": 33188,
      "new_path": "drivers/hid/usbhid/hiddev.c"
    },
    {
      "type": "modify",
      "old_id": "2f83543a9dfca95c797e42421055497fc1c6f2e0",
      "old_mode": 33188,
      "old_path": "drivers/ieee1394/dv1394.c",
      "new_id": "965cfdb84ebc757c0c170e437be99bf637b88dbd",
      "new_mode": 33188,
      "new_path": "drivers/ieee1394/dv1394.c"
    },
    {
      "type": "modify",
      "old_id": "d85af1b670274466f5ec13a518d8011da1cb7da0",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/core/uverbs_main.c",
      "new_id": "eb36a81dd09bff2d544675de4c37c447614d3262",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/core/uverbs_main.c"
    },
    {
      "type": "modify",
      "old_id": "3524bef62be654910ec23ca5c917787269a6b018",
      "old_mode": 33188,
      "old_path": "drivers/input/evdev.c",
      "new_id": "1070db330d3563010668c2608c00db1c85369a1f",
      "new_mode": 33188,
      "new_path": "drivers/input/evdev.c"
    },
    {
      "type": "modify",
      "old_id": "65d7077a75a19202288d4bc4484c19ca9b93c5c2",
      "old_mode": 33188,
      "old_path": "drivers/input/joydev.c",
      "new_id": "a85b1485e77499cd6afb15f46590b82951e1aa9e",
      "new_mode": 33188,
      "new_path": "drivers/input/joydev.c"
    },
    {
      "type": "modify",
      "old_id": "82ec6b1b646782276363f769bc73e96226237459",
      "old_mode": 33188,
      "old_path": "drivers/input/misc/hp_sdc_rtc.c",
      "new_id": "216a559f55ea5c706731afc7f7f4abc1219891ed",
      "new_mode": 33188,
      "new_path": "drivers/input/misc/hp_sdc_rtc.c"
    },
    {
      "type": "modify",
      "old_id": "8137e50ded87de13d31d378557a68ba58d3cedb5",
      "old_mode": 33188,
      "old_path": "drivers/input/mousedev.c",
      "new_id": "d8c056fe7e982c2ee1f1dc39298e0e4721a06921",
      "new_mode": 33188,
      "new_path": "drivers/input/mousedev.c"
    },
    {
      "type": "modify",
      "old_id": "470770c09260334fd79c664c2a484ed0384a9f93",
      "old_mode": 33188,
      "old_path": "drivers/input/serio/serio_raw.c",
      "new_id": "06bbd0e74c6f96d37ff423c60f78eebe92f8fb83",
      "new_mode": 33188,
      "new_path": "drivers/input/serio/serio_raw.c"
    },
    {
      "type": "modify",
      "old_id": "f5233f3d9eff03399c13e3e0b7138ad620056797",
      "old_mode": 33188,
      "old_path": "drivers/message/fusion/mptctl.c",
      "new_id": "b89f476cd0a98e922f93e90dc04a2bd383af022e",
      "new_mode": 33188,
      "new_path": "drivers/message/fusion/mptctl.c"
    },
    {
      "type": "modify",
      "old_id": "a3fabdbe6ca6eb01efc616aee7df91cc4ae312c1",
      "old_mode": 33188,
      "old_path": "drivers/message/i2o/i2o_config.c",
      "new_id": "f3384c32b9a1e3910e39f9331dd14a4ed382eb7f",
      "new_mode": 33188,
      "new_path": "drivers/message/i2o/i2o_config.c"
    },
    {
      "type": "modify",
      "old_id": "f483c4221f7602cb80022699e98008c5e2d33d79",
      "old_mode": 33188,
      "old_path": "drivers/misc/sony-laptop.c",
      "new_id": "06f07e19dc70748173c373a6dacc07cc25a72935",
      "new_mode": 33188,
      "new_path": "drivers/misc/sony-laptop.c"
    },
    {
      "type": "modify",
      "old_id": "6daea0c91862ecddc2110712c8e62381e1e9639c",
      "old_mode": 33188,
      "old_path": "drivers/net/tun.c",
      "new_id": "33b6d1b122fb59fdadfdd2f156a0596f37efcc25",
      "new_mode": 33188,
      "new_path": "drivers/net/tun.c"
    },
    {
      "type": "modify",
      "old_id": "079e9ed907e06caa6d5a453c56c31e413f0cf6c5",
      "old_mode": 33188,
      "old_path": "drivers/rtc/rtc-dev.c",
      "new_id": "ecdea44ae4e5465ddeb37e07361d74f020aa65da",
      "new_mode": 33188,
      "new_path": "drivers/rtc/rtc-dev.c"
    },
    {
      "type": "modify",
      "old_id": "afe1de99876319ba40d7c28a884458a3bff1b91e",
      "old_mode": 33188,
      "old_path": "drivers/scsi/megaraid/megaraid_sas.c",
      "new_id": "a454f94623d73348491ccc603070cc55e0866edd",
      "new_mode": 33188,
      "new_path": "drivers/scsi/megaraid/megaraid_sas.c"
    },
    {
      "type": "modify",
      "old_id": "9adf35bd8b5667f6c535070729194d1c04bfe291",
      "old_mode": 33188,
      "old_path": "drivers/scsi/sg.c",
      "new_id": "5103855242ae7bcaa4b29e488432ff2688b5ae46",
      "new_mode": 33188,
      "new_path": "drivers/scsi/sg.c"
    },
    {
      "type": "modify",
      "old_id": "0b33773bb4f68412d5d44f3b99fed07fb1ab2041",
      "old_mode": 33188,
      "old_path": "drivers/staging/me4000/me4000.c",
      "new_id": "cf8b01bcac8d18d25e5c18e1afe55d9f8d82fa8b",
      "new_mode": 33188,
      "new_path": "drivers/staging/me4000/me4000.c"
    },
    {
      "type": "modify",
      "old_id": "41b6530b8f251d0a2d5193eb58297ee3a99f30ac",
      "old_mode": 33188,
      "old_path": "drivers/telephony/ixj.c",
      "new_id": "a913efc69669a221d336006a35d5155000a6081a",
      "new_mode": 33188,
      "new_path": "drivers/telephony/ixj.c"
    },
    {
      "type": "modify",
      "old_id": "f9b4647255aa041fa816612bdcd618bc4ecbabcc",
      "old_mode": 33188,
      "old_path": "drivers/uio/uio.c",
      "new_id": "2d2440cd57a947d195d1f099d1a0ac64bdd56031",
      "new_mode": 33188,
      "new_path": "drivers/uio/uio.c"
    },
    {
      "type": "modify",
      "old_id": "f4585d3e90d7a54fd4836648e2cb50eed7d7a947",
      "old_mode": 33188,
      "old_path": "drivers/usb/gadget/inode.c",
      "new_id": "eeb26c0f88e5846d4c0849e70ddf01eea90fa65d",
      "new_mode": 33188,
      "new_path": "drivers/usb/gadget/inode.c"
    },
    {
      "type": "modify",
      "old_id": "efc06faede6c3d6c27c324da2042b7d324e53f8e",
      "old_mode": 33188,
      "old_path": "fs/file_table.c",
      "new_id": "5ad0eca6eea27b1ee33fcd8415c05edfeac97d82",
      "new_mode": 33188,
      "new_path": "fs/file_table.c"
    },
    {
      "type": "modify",
      "old_id": "87250b6a8682468c39ff0e4cb1f35caa09f386f6",
      "old_mode": 33188,
      "old_path": "fs/fuse/dev.c",
      "new_id": "b72361479be25789e8caa4e6be5febe1f276419e",
      "new_mode": 33188,
      "new_path": "fs/fuse/dev.c"
    },
    {
      "type": "modify",
      "old_id": "d85c7d931cdfd4cb4cfa5bc839b08b4de22f9bb1",
      "old_mode": 33188,
      "old_path": "fs/inotify_user.c",
      "new_id": "d367e9b9286276db8c686c96485d29fefdbe876e",
      "new_mode": 33188,
      "new_path": "fs/inotify_user.c"
    },
    {
      "type": "modify",
      "old_id": "fcba6542b8d0132b72be8a93959a60b57c556e38",
      "old_mode": 33188,
      "old_path": "fs/pipe.c",
      "new_id": "7aea8b89baac9c8b550d17f8c14f592d63e08981",
      "new_mode": 33188,
      "new_path": "fs/pipe.c"
    },
    {
      "type": "modify",
      "old_id": "2b7a4b5c9b7254c2ca0534cd174de5bb004a7659",
      "old_mode": 33188,
      "old_path": "net/socket.c",
      "new_id": "57550c3bcabec28ab7ee82030e6d1d4cb36192a0",
      "new_mode": 33188,
      "new_path": "net/socket.c"
    },
    {
      "type": "modify",
      "old_id": "b0bf42691047307adc597b3c11a2a1c583f56e14",
      "old_mode": 33188,
      "old_path": "sound/core/control.c",
      "new_id": "636b3b52ef8bdd56cc2f7eaccf6a779ca8c9c841",
      "new_mode": 33188,
      "new_path": "sound/core/control.c"
    },
    {
      "type": "modify",
      "old_id": "ef2352c2e45116a824f4e8275e590a2c7394594b",
      "old_mode": 33188,
      "old_path": "sound/core/init.c",
      "new_id": "b47ff8b44be8dda901e0c88bd2c3089c2d4704ad",
      "new_mode": 33188,
      "new_path": "sound/core/init.c"
    },
    {
      "type": "modify",
      "old_id": "aef18682c03569b792ad9d44b13432288406dbe2",
      "old_mode": 33188,
      "old_path": "sound/core/pcm_native.c",
      "new_id": "a789efc9df3971e46b4f2535d57a4329d5b27dc2",
      "new_mode": 33188,
      "new_path": "sound/core/pcm_native.c"
    },
    {
      "type": "modify",
      "old_id": "e582face89d2c463aeb64ed0ee2001d738b54b5c",
      "old_mode": 33188,
      "old_path": "sound/core/timer.c",
      "new_id": "c584408c9f17d32dcace6b8684bfe02647a0f228",
      "new_mode": 33188,
      "new_path": "sound/core/timer.c"
    }
  ]
}
