)]}'
{
  "log": [
    {
      "commit": "8c1934c8d70b22ca8333b216aec6c7d09fdbd6a6",
      "tree": "25fffb46e0b1594aa692ed10e755b6ae041022bc",
      "parents": [
        "611da04f7a31b2208e838be55a42c7a1310ae321"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:37 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 10:18:49 2010 -0400"
      },
      "message": "inotify: allow users to request not to recieve events on unlinked children\n\nAn inotify watch on a directory will send events for children even if those\nchildren have been unlinked.  This patch add a new inotify flag IN_EXCL_UNLINK\nwhich allows a watch to specificy they don\u0027t care about unlinked children.\nThis should fix performance problems seen by tasks which add a watch to\n/tmp and then are overrun with events when other processes are reading and\nwriting to unlinked files they created in /tmp.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d16296\n\nRequested-by: Matthias Clasen \u003cmclasen@redhat.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "08ae89380a8210a9965d04083e1de78cb8bca4b1",
      "tree": "95ef9493b5a6152e7c683d2d5a8531844530f0f7",
      "parents": [
        "269ed32a9ce00132b9372e9c00014532e054d6b2"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu May 27 09:41:40 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:03 2010 -0400"
      },
      "message": "fanotify: drop the useless priority argument\n\nThe priority argument in fanotify is useless.  Kill it.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "fb1cfb88c8597d847553f39efc2bbd41c72c5f50",
      "tree": "0f94e05ee3e643db398738dae2977c45105d1f42",
      "parents": [
        "b31d397e430a90cbe9d3656929a7d5f96e986666"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed May 12 11:42:29 2010 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:02 2010 -0400"
      },
      "message": "fsnotify: initialize mask in fsnotify_perm\n\nakpm got a warning the fsnotify_mask could be used uninitialized in\nfsnotify_perm().  It\u0027s not actually possible but his compiler complained\nabout it.  This patch just initializes it to 0 to shut up the compiler.\n\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b2d879096ac799722e6017ee82c0586f0d101c9c",
      "tree": "3628e99772d2bf51ce736a775a056bffaae44e8c",
      "parents": [
        "9e66e4233db9c7e31e9ee706be2c9ddd54cf99b3"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:34 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:02 2010 -0400"
      },
      "message": "fanotify: userspace interface for permission responses\n\nfanotify groups need to respond to events which include permissions types.\nTo do so groups will send a response using write() on the fanotify_fd they\nhave open.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "9e66e4233db9c7e31e9ee706be2c9ddd54cf99b3",
      "tree": "9d778b358fb6e5f02fb2cf634c2163f34982b7dd",
      "parents": [
        "c4ec54b40d33f8016fea970a383cc584dd0e6019"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:34 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:02 2010 -0400"
      },
      "message": "fanotify: permissions and blocking\n\nThis is the backend work needed for fanotify to support the new\nFS_OPEN_PERM and FS_ACCESS_PERM fsnotify events.  This is done using the\nnew fsnotify secondary queue.  No userspace interface is provided actually\nrespond to or request these events.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c4ec54b40d33f8016fea970a383cc584dd0e6019",
      "tree": "8e8865170cf340d1e79dc379f56417588715b2c8",
      "parents": [
        "d14f1729483fad3a8817fbbcbd017678b7d1ad26"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:34 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:01 2010 -0400"
      },
      "message": "fsnotify: new fsnotify hooks and events types for access decisions\n\nintroduce a new fsnotify hook, fsnotify_perm(), which is called from the\nsecurity code.  This hook is used to allow fsnotify groups to make access\ncontrol decisions about events on the system.  We also must change the\ngeneric fsnotify function to return an error code if we intend these hooks\nto be in any way useful.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "d14f1729483fad3a8817fbbcbd017678b7d1ad26",
      "tree": "ebb47471a0fff9e0bce46043d147f445584acfb0",
      "parents": [
        "6e006701ccc1590500186ef21e074bd900c5dd67"
      ],
      "author": {
        "name": "Dave Young",
        "email": "hidave.darkstar@gmail.com",
        "time": "Thu Feb 25 20:28:57 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:01 2010 -0400"
      },
      "message": "sysctl extern cleanup: inotify\n\nExtern declarations in sysctl.c should be move to their own head file, and\nthen include them in relavant .c files.\n\nMove inotify_table extern declaration to linux/inotify.h\n\nSigned-off-by: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "6e006701ccc1590500186ef21e074bd900c5dd67",
      "tree": "e8c1ac5898517b73a6da61be1f7c496138de8748",
      "parents": [
        "59b0df211bd9699d7e0d01fcf9345a149f75b033"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Jan 20 22:27:56 2010 +0200"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:01 2010 -0400"
      },
      "message": "dnotify: move dir_notify_enable declaration\n\nMove dir_notify_enable declaration to where it belongs -- dnotify.h .\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "59b0df211bd9699d7e0d01fcf9345a149f75b033",
      "tree": "0f6e8bebfa090aa5c1d91d9efc5c2b04aeeed05c",
      "parents": [
        "43ed7e16a8b47059d7f6ff67ba76f383a2421de3"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Feb 08 12:53:52 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:01 2010 -0400"
      },
      "message": "fsnotify: use unsigned char * for dentry-\u003ed_name.name\n\nfsnotify was using char * when it passed around the d_name.name string\ninternally but it is actually an unsigned char *.  This patch switches\nfsnotify to use unsigned and should silence some pointer signess warnings\nwhich have popped out of xfs.  I do not add -Wpointer-sign to the fsnotify\ncode as there are still issues with kstrdup and strlen which would pop\nout needless warnings.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "6e5f77b32e9097a8a68a8d453799676cacf70cad",
      "tree": "2a0211ecd5d79648e74fdf9f851a0669c5e4cc8a",
      "parents": [
        "cb2d429faf2cae62d3c51e28099a181d5fe8c244"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:34 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:01 2010 -0400"
      },
      "message": "fsnotify: intoduce a notification merge argument\n\nEach group can define their own notification (and secondary_q) merge\nfunction.  Inotify does tail drop, fanotify does matching and drop which\ncan actually allocate a completely new event.  But for fanotify to properly\ndeal with permissions events it needs to know the new event which was\nultimately added to the notification queue.  This patch just implements a\nvoid ** argument which is passed to the merge function.  fanotify can use\nthis field to pass the new event back to higher layers.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nfor fanotify to properly deal with permissions events\n"
    },
    {
      "commit": "cb2d429faf2cae62d3c51e28099a181d5fe8c244",
      "tree": "401bc8d85e7228f868775269e6d97c3150f9a3a7",
      "parents": [
        "4d92604cc90aa18bbbe0f6e23b7a9fdb612836d3"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:34 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:01 2010 -0400"
      },
      "message": "fsnotify: add group priorities\n\nThis introduces an ordering to fsnotify groups.  With purely asynchronous\nnotification based \"things\" implementing fsnotify (inotify, dnotify) ordering\nisn\u0027t particularly important.  But if people want to use fsnotify for the\nbasis of sycronous notification or blocking notification ordering becomes\nimportant.\n\neg. A Hierarchical Storage Management listener would need to get its event\nbefore an AV scanner could get its event (since the HSM would need to\nbring the data in for the AV scanner to scan.)  Typically asynchronous notification\nwould want to run after the AV scanner made any relevant access decisions\nso as to not send notification about an event that was denied.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4d92604cc90aa18bbbe0f6e23b7a9fdb612836d3",
      "tree": "c04b26fb38a8524fa5e204cb9e40870afa9823f9",
      "parents": [
        "c9778a98e7440fb73e0d27b8155a688663a0d493"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:34 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:00 2010 -0400"
      },
      "message": "fanotify: clear all fanotify marks\n\nfanotify listeners may want to clear all marks.  They may want to do this\nto destroy all of their inode marks which have nothing but ignores.\nRealistically this is useful for av vendors who update policy and want to\nclear all of their cached allows.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c9778a98e7440fb73e0d27b8155a688663a0d493",
      "tree": "838acd5f9438661015c32211d487ef618807a798",
      "parents": [
        "c908370fc1ac27fd7e1fc0f34c693047b26564ce"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:33 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:00 2010 -0400"
      },
      "message": "fanotify: allow ignored_masks to survive modify\n\nSome users may want to truely ignore an inode even if it has been modified.\nSay you are wanting a mount which contains a log file and you really don\u0027t\nwant any notification about that file.  This patch allows the listener to\ndo that.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "c908370fc1ac27fd7e1fc0f34c693047b26564ce",
      "tree": "681cc398050764d04d34652c072790b8c1851d3e",
      "parents": [
        "e898386146deb49a0b45ff1887d9da149c003209"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:33 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:00 2010 -0400"
      },
      "message": "fsnotify: allow ignored_mask to survive modification\n\nSome inodes a group may want to never hear about a set of events even if\nthe inode is modified.  We add a new mark flag which indicates that these\nmarks should not have their ignored_mask cleared on modification.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b9e4e3bd0495fea9e8f8e712889c9cd8ffa43c94",
      "tree": "914a16f5098cf0ee3e01e6d47e6c7c9bf3613899",
      "parents": [
        "32a4df13b88afef2a7d869bb7586a7beba90961f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:33 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:00 2010 -0400"
      },
      "message": "fanotify: allow users to set an ignored_mask\n\nChange the sys_fanotify_mark() system call so users can set ignored_masks\non inodes.  Remember, if a user new sets a real mask, and only sets ignored\nmasks, the ignore will never be pinned in memory.  Thus ignored_masks can\nbe lost under memory pressure and the user may again get events they\npreviously thought were ignored.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "33af5e32e0bb73c704b5e156f4411cdb53e6cc59",
      "tree": "c427a66b81498c14598ed4161e3646930a805043",
      "parents": [
        "90b1e7a57880fb66437ab7db39e1e65ca0372822"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:33 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:59:00 2010 -0400"
      },
      "message": "fsnotify: ignored_mask - excluding notification\n\nThe ignored_mask is a new mask which is part of fsnotify marks.  A group\u0027s\nshould_send_event() function can use the ignored mask to determine that\ncertain events are not of interest.  In particular if a group registers a\nmask including FS_OPEN on a vfsmount they could add FS_OPEN to the\nignored_mask for individual inodes and not send open events for those\ninodes.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "90b1e7a57880fb66437ab7db39e1e65ca0372822",
      "tree": "61b7195c84d9dfd057ed3dcb07c5fc831db6a3a9",
      "parents": [
        "33d3dfff451a2ab6fe2f6aaabed9b24e91aad109"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:33 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:59 2010 -0400"
      },
      "message": "fsnotify: allow marks to not pin inodes in core\n\ninotify marks must pin inodes in core.  dnotify doesn\u0027t technically need to\nsince they are closed when the directory is closed.  fanotify also need to\npin inodes in core as it works today.  But the next step is to introduce\nthe concept of \u0027ignored masks\u0027 which is actually a mask of events for an\ninode of no interest.  I claim that these should be liberally sent to the\nkernel and should not pin the inode in core.  If the inode is brought back\nin the listener will get an event it may have thought excluded, but this is\nnot a serious situation and one any listener should deal with.\n\nThis patch lays the ground work for non-pinning inode marks by using lazy\ninode pinning.  We do not pin a mark until it has a non-zero mask entry.  If a\nlistener new sets a mask we never pin the inode.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "88380fe66e0ac22529f5426ab27d67da00ed2628",
      "tree": "2585cd0b8407263628696476be7aa4f5b7d24a1b",
      "parents": [
        "f3640192c0a177506ec08ab07ed3178b912574da"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Dec 17 21:24:29 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:59 2010 -0400"
      },
      "message": "fanotify: remove fanotify.h declarations\n\nfanotify_mark_validate functions are all needlessly declared in headers as\nstatic inlines.  Instead just do the checks where they are needed for code\nreadability.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "eac8e9e80ccbd30801b7b76a2ee4c6c5a681e53c",
      "tree": "c88fd90edfcf388d03d369c141683c4086b819dc",
      "parents": [
        "0ff21db9fcc39042b814dad8a4b7508710a75235"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Dec 17 21:24:29 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:59 2010 -0400"
      },
      "message": "fanotify: rename FAN_MARK_ON_VFSMOUNT to FAN_MARK_MOUNT\n\nthe term \u0027vfsmount\u0027 isn\u0027t sensicle to userspace.  instead call is \u0027mount.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0ff21db9fcc39042b814dad8a4b7508710a75235",
      "tree": "a650b240f64893f86626b8b4a4b694446190aa3a",
      "parents": [
        "90dd201d1ab064512078a77762a793e0bf5f3040"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:29 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:59 2010 -0400"
      },
      "message": "fanotify: hooks the fanotify_mark syscall to the vfsmount code\n\nCreate a new fanotify_mark flag which indicates we should attach the mark\nto the vfsmount holding the object referenced by dfd and pathname rather\nthan the inode itself.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "1c529063a3e4c15eaae28db31326a7aaab7091b5",
      "tree": "100a27418becd6c23eeb1b7c4426fea006d6bfd6",
      "parents": [
        "ca9c726eea013394d1e846331b117effb21ead83"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:28 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:57 2010 -0400"
      },
      "message": "fanotify: should_send_event needs to handle vfsmounts\n\ncurrently should_send_event in fanotify only cares about marks on inodes.\nThis patch extends that interface to indicate that it cares about events\nthat happened on vfsmounts.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ca9c726eea013394d1e846331b117effb21ead83",
      "tree": "de2319fb43b4fa16d07ecbcd75022cdaf9a757e1",
      "parents": [
        "0d48b7f01f442bc88a69aa98f3b6b015f2817608"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Dec 17 21:24:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:57 2010 -0400"
      },
      "message": "fsnotify: Infrastructure for per-mount watches\n\nPer-mount watches allow groups to listen to fsnotify events on an entire\nmount.  This patch simply adds and initializes the fields needed in the\nvfsmount struct to make this happen.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0d48b7f01f442bc88a69aa98f3b6b015f2817608",
      "tree": "6b484d9b8ac355609e9b2783169ed584cc365f9a",
      "parents": [
        "2504c5d63b811b71bbaa8d5d5af163e698f4df1f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:57 2010 -0400"
      },
      "message": "fsnotify: vfsmount marks generic functions\n\nMuch like inode-mark.c has all of the code dealing with marks on inodes\nthis patch adds a vfsmount-mark.c which has similar code but is intended\nfor marks on vfsmounts.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2504c5d63b811b71bbaa8d5d5af163e698f4df1f",
      "tree": "4ff736af6b00fd5cbf0cd6a4d6bbcadb6dde9bd8",
      "parents": [
        "ba643f04cdda170215c8820acd3e201936fc512d"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Dec 17 21:24:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:57 2010 -0400"
      },
      "message": "fsnotify/vfsmount: add fsnotify fields to struct vfsmount\n\nThis patch adds the list and mask fields needed to support vfsmount marks.\nThese are the same fields fsnotify needs on an inode.  They are not used,\njust declared and we note where the cleanup hook should be (the function is\nnot yet defined)\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "5444e2981c31d0ed7465475e451b8437084337e5",
      "tree": "66b6d84b7aab886b44a3467a139d258d9aba09df",
      "parents": [
        "32c3263221bd63316815286dccacdc7abfd7f3c4"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:57 2010 -0400"
      },
      "message": "fsnotify: split generic and inode specific mark code\n\ncurrently all marking is done by functions in inode-mark.c.  Some of this\nis pretty generic and should be instead done in a generic function and we\nshould only put the inode specific code in inode-mark.c\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "32c3263221bd63316815286dccacdc7abfd7f3c4",
      "tree": "9dad12d5b966cf42d7506e10fb2e3c8d955415d3",
      "parents": [
        "22aa425dec9e47051624714ae283eb2b6a473013"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Dec 17 21:24:27 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:56 2010 -0400"
      },
      "message": "fanotify: Add pids to events\n\nPass the process identifiers of the triggering processes to fanotify\nlisteners: this information is useful for event filtering and logging.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "a1014f102322398e67524b68b3300acf384e6c1f",
      "tree": "2d9d82e6a3d84bae796e4aedfd8be3409be6a4c3",
      "parents": [
        "2a3edf86040a7e15684525a2aadc29f532c51325"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:26 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:56 2010 -0400"
      },
      "message": "fanotify: send events using read\n\nSend events to userspace by reading the file descriptor from fanotify_init().\nOne will get blocks of data which look like:\n\nstruct fanotify_event_metadata {\n\t__u32 event_len;\n\t__u32 vers;\n\t__s32 fd;\n\t__u64 mask;\n\t__s64 pid;\n\t__u64 cookie;\n} __attribute__ ((packed));\n\nSimple code to retrieve and deal with events is below\n\n\twhile ((len \u003d read(fan_fd, buf, sizeof(buf))) \u003e 0) {\n\t\tstruct fanotify_event_metadata *metadata;\n\n\t\tmetadata \u003d (void *)buf;\n\t\twhile(FAN_EVENT_OK(metadata, len)) {\n\t\t\t[PROCESS HERE!!]\n\t\t\tif (metadata-\u003efd \u003e\u003d 0 \u0026\u0026 close(metadata-\u003efd) !\u003d 0)\n\t\t\t\tgoto fail;\n\t\t\tmetadata \u003d FAN_EVENT_NEXT(metadata, len);\n\t\t}\n\t}\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2a3edf86040a7e15684525a2aadc29f532c51325",
      "tree": "cf0a5436139125d054fe46b75d5388c914b22c21",
      "parents": [
        "bbaa4168b2d2d8cc674e6d35806e8426aef464b8"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:26 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:56 2010 -0400"
      },
      "message": "fanotify: fanotify_mark syscall implementation\n\nNAME\n\tfanotify_mark - add, remove, or modify an fanotify mark on a\nfilesystem object\n\nSYNOPSIS\n\tint fanotify_mark(int fanotify_fd, unsigned int flags, u64 mask,\n\t\t\t  int dfd, const char *pathname)\n\nDESCRIPTION\n\tfanotify_mark() is used to add remove or modify a mark on a filesystem\n\tobject.  Marks are used to indicate that the fanotify group is\n\tinterested in events which occur on that object.  At this point in\n\ttime marks may only be added to files and directories.\n\n\tfanotify_fd must be a file descriptor returned by fanotify_init()\n\n\tThe flags field must contain exactly one of the following:\n\n\tFAN_MARK_ADD - or the bits in mask and ignored mask into the mark\n\tFAN_MARK_REMOVE - bitwise remove the bits in mask and ignored mark\n\t\tfrom the mark\n\n\tThe following values can be OR\u0027d into the flags field:\n\n\tFAN_MARK_DONT_FOLLOW - same meaning as O_NOFOLLOW as described in open(2)\n\tFAN_MARK_ONLYDIR - same meaning as O_DIRECTORY as described in open(2)\n\n\tdfd may be any of the following:\n\tAT_FDCWD: the object will be lookup up based on pathname similar\n\t\tto open(2)\n\n\tfile descriptor of a directory: if pathname is not NULL the\n\t\tobject to modify will be lookup up similar to openat(2)\n\n\tfile descriptor of the final object: if pathname is NULL the\n\t\tobject to modify will be the object referenced by dfd\n\n\tThe mask is the bitwise OR of the set of events of interest such as:\n\tFAN_ACCESS\t\t- object was accessed (read)\n\tFAN_MODIFY\t\t- object was modified (write)\n\tFAN_CLOSE_WRITE\t\t- object was writable and was closed\n\tFAN_CLOSE_NOWRITE\t- object was read only and was closed\n\tFAN_OPEN\t\t- object was opened\n\tFAN_EVENT_ON_CHILD\t- interested in objected that happen to\n\t\t\t\t  children.  Only relavent when the object\n\t\t\t\t  is a directory\n\tFAN_Q_OVERFLOW\t\t- event queue overflowed (not implemented)\n\nRETURN VALUE\n\tOn success, this system call returns 0. On error, -1 is\n\treturned, and errno is set to indicate the error.\n\nERRORS\n\tEINVAL An invalid value was specified in flags.\n\n\tEINVAL An invalid value was specified in mask.\n\n\tEINVAL An invalid value was specified in ignored_mask.\n\n\tEINVAL fanotify_fd is not a file descriptor as returned by\n\tfanotify_init()\n\n\tEBADF fanotify_fd is not a valid file descriptor\n\n\tEBADF dfd is not a valid file descriptor and path is NULL.\n\n\tENOTDIR dfd is not a directory and path is not NULL\n\n\tEACCESS no search permissions on some part of the path\n\n\tENENT file not found\n\n\tENOMEM Insufficient kernel memory is available.\n\nCONFORMING TO\n\tThese system calls are Linux-specific.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "bbaa4168b2d2d8cc674e6d35806e8426aef464b8",
      "tree": "de2a601befc44628fc19766a3081bf2e3b73da7a",
      "parents": [
        "52c923dd079df49f58016a9e56df184b132611d6"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:26 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:55 2010 -0400"
      },
      "message": "fanotify: sys_fanotify_mark declartion\n\nThis patch simply declares the new sys_fanotify_mark syscall\n\nint fanotify_mark(int fanotify_fd, unsigned int flags, u64_mask,\n\t\t  int dfd const char *pathname)\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "52c923dd079df49f58016a9e56df184b132611d6",
      "tree": "29263174337bd3c2b99a7c9452e8e0708635432b",
      "parents": [
        "11637e4b7dc098e9a863f0a619d55ebc60f5949e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:26 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:55 2010 -0400"
      },
      "message": "fanotify: fanotify_init syscall implementation\n\nNAME\n\tfanotify_init - initialize an fanotify group\n\nSYNOPSIS\n\tint fanotify_init(unsigned int flags, unsigned int event_f_flags, int priority);\n\nDESCRIPTION\n\tfanotify_init() initializes a new fanotify instance and returns a file\n\tdescriptor associated with the new fanotify event queue.\n\n\tThe following values can be OR\u0027d into the flags field:\n\n\tFAN_NONBLOCK Set the O_NONBLOCK file status flag on the new open file description.\n\t\tUsing this flag saves extra calls to fcntl(2) to achieve the same\n\t\tresult.\n\n\tFAN_CLOEXEC Set the close-on-exec (FD_CLOEXEC) flag on the new file descriptor.\n\t\tSee the description of the O_CLOEXEC flag in open(2) for reasons why\n\t\tthis may be useful.\n\n\tThe event_f_flags argument is unused and must be set to 0\n\n\tThe priority argument is unused and must be set to 0\n\nRETURN VALUE\n\tOn success, this system call return a new file descriptor. On error, -1 is\n\treturned, and errno is set to indicate the error.\n\nERRORS\n\tEINVAL An invalid value was specified in flags.\n\n\tEINVAL A non-zero valid was passed in event_f_flags or in priority\n\n\tENFILE The system limit on the total number of file descriptors has been reached.\n\n\tENOMEM Insufficient kernel memory is available.\n\nCONFORMING TO\n\tThese system calls are Linux-specific.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "11637e4b7dc098e9a863f0a619d55ebc60f5949e",
      "tree": "a32682575f35dfb2bf5dc0012e488b939e56d388",
      "parents": [
        "9dced01a0939f3e952eca8c21427ceec1f473dcf"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:25 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:55 2010 -0400"
      },
      "message": "fanotify: fanotify_init syscall declaration\n\nThis patch defines a new syscall fanotify_init() of the form:\n\nint sys_fanotify_init(unsigned int flags, unsigned int event_f_flags,\n\t\t      unsigned int priority)\n\nThis syscall is used to create and fanotify group.  This is very similar to\nthe inotify_init() syscall.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ff0b16a9850e8a240ad59e10b0a1291a8fcf7cbc",
      "tree": "fe6fad578cfb2b8528828d4f77e5494542a1fb34",
      "parents": [
        "12ed2e36c98aec6c41559222e311f4aa15d254b6"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:25 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:54 2010 -0400"
      },
      "message": "fanotify: fscking all notification system\n\nfanotify is a novel file notification system which bases notification on\ngiving userspace both an event type (open, close, read, write) and an open\nfile descriptor to the object in question.  This should address a number of\nraces and problems with other notification systems like inotify and dnotify\nand should allow the future implementation of blocking or access controlled\nnotification.  These are useful for on access scanners or hierachical storage\nmanagement schemes.\n\nThis patch just implements the basics of the fsnotify functions.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "12ed2e36c98aec6c41559222e311f4aa15d254b6",
      "tree": "0fa2fd70e4b3f6a7315d037d27fde94641c5f204",
      "parents": [
        "ecf081d1a73b077916f514f2ec744ded32b88ca1"
      ],
      "author": {
        "name": "Signed-off-by: Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Mon Feb 08 12:31:29 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:54 2010 -0400"
      },
      "message": "fanotify: FMODE_NONOTIFY and __O_SYNC in sparc conflict\n\nsparc used the same value as FMODE_NONOTIFY so change FMODE_NONOTIFY to be\nsomething unique.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ecf081d1a73b077916f514f2ec744ded32b88ca1",
      "tree": "f1a9892131a297d0f67cb0fd9189e3aac83e2219",
      "parents": [
        "35566087099c3ff8901d65ee98af56347ee66e5a"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:25 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:54 2010 -0400"
      },
      "message": "vfs: introduce FMODE_NONOTIFY\n\nThis is a new f_mode which can only be set by the kernel.  It indicates\nthat the fd was opened by fanotify and should not cause future fanotify\nevents.  This is needed to prevent fanotify livelock.  An example of\nobvious livelock is from fanotify close events.\n\nProcess A closes file1\nThis creates a close event for file1.\nfanotify opens file1 for Listener X\nListener X deals with the event and closes its fd for file1.\nThis creates a close event for file1.\nfanotify opens file1 for Listener X\nListener X deals with the event and closes its fd for file1.\nThis creates a close event for file1.\nfanotify opens file1 for Listener X\nListener X deals with the event and closes its fd for file1.\nnotice a pattern?\n\nThe fix is to add the FMODE_NONOTIFY bit to the open filp done by the kernel\nfor fanotify.  Thus when that file is used it will not generate future\nevents.\n\nThis patch simply defines the bit.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "841bdc10f573aa010dd5818d35a5690b7d9f73ce",
      "tree": "58ef7a15e24ac07d3af7c6db7306199c9392f7dd",
      "parents": [
        "d07754412f9cdc2f4a99318d5ee81ace6715ea99"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:53 2010 -0400"
      },
      "message": "fsnotify: rename mark_entry to just mark\n\npreviously I used mark_entry when talking about marks on inodes.  The\n_entry is pretty useless.  Just use \"mark\" instead.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "d07754412f9cdc2f4a99318d5ee81ace6715ea99",
      "tree": "f62902ad420de023c0fad931d9508903a9f42e3b",
      "parents": [
        "e61ce86737b4d60521e4e71f9892fe4bdcfb688b"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:53 2010 -0400"
      },
      "message": "fsnotify: rename fsnotify_find_mark_entry to fsnotify_find_mark\n\nthe _entry portion of fsnotify functions is useless.  Drop it.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e61ce86737b4d60521e4e71f9892fe4bdcfb688b",
      "tree": "a1aba411504ac028d4ead6f28ca05bd024c74142",
      "parents": [
        "72acc854427948efed7a83da27f7dc3239ac9afc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:53 2010 -0400"
      },
      "message": "fsnotify: rename fsnotify_mark_entry to just fsnotify_mark\n\nThe name is long and it serves no real purpose.  So rename\nfsnotify_mark_entry to just fsnotify_mark.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "72acc854427948efed7a83da27f7dc3239ac9afc",
      "tree": "69a8f479a644701a52abe07d7bf2751cdf4cc159",
      "parents": [
        "098cf2fc77ee190c92bf9d08d69a13305f2487ec"
      ],
      "author": {
        "name": "Andreas Gruenbacher",
        "email": "agruen@suse.de",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:53 2010 -0400"
      },
      "message": "fsnotify: kill FSNOTIFY_EVENT_FILE\n\nSome fsnotify operations send a struct file.  This is more information than\nwe technically need.  We instead send a struct path in all cases instead of\nsometimes a path and sometimes a file.\n\nSigned-off-by: Andreas Gruenbacher \u003cagruen@suse.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "098cf2fc77ee190c92bf9d08d69a13305f2487ec",
      "tree": "f6727bf583df63edb751e2887d40287b3bd37809",
      "parents": [
        "4136510dd61a1ca151fc5b9d8c1ebd5a8ce2e8f4"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:24 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: add flags to fsnotify_mark_entries\n\nTo differentiate between inode and vfsmount (or other future) types of\nmarks we add a flags field and set the inode bit on inode marks (the only\ncurrently supported type of mark)\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "4136510dd61a1ca151fc5b9d8c1ebd5a8ce2e8f4",
      "tree": "f71d8d0e04fdc0fb81ef60d38ac3c36800c57736",
      "parents": [
        "2823e04de4f1a49087b58ff2bb8f61361ffd9321"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: add vfsmount specific fields to the fsnotify_mark_entry union\n\nvfsmount marks need mostly the same data as inode specific fields, but for\nconsistency and understandability we put that data in a vfsmount specific\nstruct inside a union with inode specific data.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2823e04de4f1a49087b58ff2bb8f61361ffd9321",
      "tree": "0467ddf513cfb9ec76f3fe498bdc9b5084008c84",
      "parents": [
        "3a9fb89f4cd04c23e16397befba92efb5d989b74"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: put inode specific fields in an fsnotify_mark in a union\n\nThe addition of marks on vfs mounts will be simplified if the inode\nspecific parts of a mark and the vfsmnt specific parts of a mark are\nactually in a union so naming can be easy.  This patch just implements the\ninode struct and the union.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "3a9fb89f4cd04c23e16397befba92efb5d989b74",
      "tree": "f60b48c8cf488ad8952601ccbc6192b5f86ec900",
      "parents": [
        "7131485a93679ff9a543b74df280cfd119eb03ca"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: include vfsmount in should_send_event when appropriate\n\nTo ensure that a group will not duplicate events when it receives it based\non the vfsmount and the inode should_send_event test we should distinguish\nthose two cases.  We pass a vfsmount to this function so groups can make\ntheir own determinations.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "7131485a93679ff9a543b74df280cfd119eb03ca",
      "tree": "d5d635cb37f77ef7ff8942e15de4c45f3fded940",
      "parents": [
        "4ca763523e040dc61191d4866a82981a5d30a4e9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:52 2010 -0400"
      },
      "message": "fsnotify: mount point listeners list and global mask\n\ncurrently all of the notification systems implemented select which inodes\nthey care about and receive messages only about those inodes (or the\nchildren of those inodes.)  This patch begins to flesh out fsnotify support\nfor the concept of listeners that want to hear notification for an inode\naccessed below a given monut point.  This patch implements a second list\nof fsnotify groups to hold these types of groups and a second global mask\nto hold the events of interest for this type of group.\n\nThe reason we want a second group list and mask is because the inode based\nnotification should_send_event support which makes each group look for a mark\non the given inode.  With one nfsmount listener that means that every group would\nhave to take the inode-\u003ei_lock, look for their mark, not find one, and return\nfor every operation.   By seperating vfsmount from inode listeners only when\nthere is a inode listener will the inode groups have to look for their\nmark and take the inode lock.  vfsmount listeners will have to grab the lock and\nlook for a mark but there should be fewer of them, and one vfsmount listener\nwon\u0027t cause the i_lock to be grabbed and released for every fsnotify group\non every io operation.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "19c2a0e1a2f60112c158342ba5f568f72b741c2c",
      "tree": "807520e66657e25420389c376cccaf5ca283f346",
      "parents": [
        "0d2e2a1d00d7d23e5bd9bb0935cde7c3d5835c56"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:23 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:51 2010 -0400"
      },
      "message": "fsnotify: rename fsnotify_groups to fsnotify_inode_groups\n\nSimple renaming patch.  fsnotify is about to support mount point listeners\nso I am renaming fsnotify_groups and fsnotify_mask to indicate these are lists\nused only for groups which have watches on inodes.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "0d2e2a1d00d7d23e5bd9bb0935cde7c3d5835c56",
      "tree": "1c6bbbcbb143a364838d6749aa086af3c019f965",
      "parents": [
        "220d14df0dc587c06b97762829a41157c9375b94"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:51 2010 -0400"
      },
      "message": "fsnotify: drop mask argument from fsnotify_alloc_group\n\nNothing uses the mask argument to fsnotify_alloc_group.  This patch drops\nthat argument.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ffab83402f01555a5fa32efb48a4dd0ce8d12ef5",
      "tree": "4e02fa7422becb56e6ed4b8721f8b0fb3a867d44",
      "parents": [
        "cd7752ce7cac5184ca35aecebffafae9662570bc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:50 2010 -0400"
      },
      "message": "fsnotify: fsnotify_obtain_group should be fsnotify_alloc_group\n\nfsnotify_obtain_group was intended to be able to find an already existing\ngroup.  Nothing uses that functionality.  This just renames it to\nfsnotify_alloc_group so it is clear what it is doing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "74be0cc82835aecad332a29896b0f212ba893403",
      "tree": "eaae59c73ba52ff8cab8ee845e989d9877603f4c",
      "parents": [
        "cac69dad32899c6f4c66bb4f9baf69b0d3c7d3d1"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:50 2010 -0400"
      },
      "message": "fsnotify: remove group_num altogether\n\nThe original fsnotify interface has a group-num which was intended to be\nable to find a group after it was added.  I no longer think this is a\nnecessary thing to do and so we remove the group_num.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "1201a5361b9bd6512ae01e6f2b7aa79d458cafb1",
      "tree": "bfbb10b38b6b32b773a43cc371b5d31a9ce3fe51",
      "parents": [
        "b4e4e1407312ae5a267ed7d716e6d4e7120a8430"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:22 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:49 2010 -0400"
      },
      "message": "fsnotify: replace an event on a list\n\nfanotify would like to clone events already on its notification list, make\nchanges to the new event, and then replace the old event on the list with\nthe new event.  This patch implements the replace functionality of that\nprocess.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b4e4e1407312ae5a267ed7d716e6d4e7120a8430",
      "tree": "2953d8885e3224955f1a5aca7c129709b26a059d",
      "parents": [
        "74766bbfa99adf8cb8119df6121851edba21c9d9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:49 2010 -0400"
      },
      "message": "fsnotify: clone existing events\n\nfsnotify_clone_event will take an event, clone it, and return the cloned\nevent to the caller.  Since events may be in use by multiple fsnotify\ngroups simultaneously certain event entries (such as the mask) cannot be\nchanged after the event was created.  Since fanotify would like to merge\nevents happening on the same file it needs a new clean event to work with\nso it can change any fields it wishes.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "74766bbfa99adf8cb8119df6121851edba21c9d9",
      "tree": "724dbee0d1e7794401e2d3bdd3c17fd2ce3e4635",
      "parents": [
        "28c60e37f874dcbb93c4afc839ba5e4911c4f4bc"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:49 2010 -0400"
      },
      "message": "fsnotify: per group notification queue merge types\n\ninotify only wishes to merge a new event with the last event on the\nnotification fifo.  fanotify is willing to merge any events including by\nmeans of bitwise OR masks of multiple events together.  This patch moves\nthe inotify event merging logic out of the generic fsnotify notification.c\nand into the inotify code.  This allows each use of fsnotify to provide\ntheir own merge functionality.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "28c60e37f874dcbb93c4afc839ba5e4911c4f4bc",
      "tree": "6f0ba450d42e9e9d6cc5be2e42dc846f00c44447",
      "parents": [
        "2a12a9d7814631e918dec93abad856e692d5286d"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:48 2010 -0400"
      },
      "message": "fsnotify: send struct file when sending events to parents when possible\n\nfanotify needs a path in order to open an fd to the object which changed.\nCurrently notifications to inode\u0027s parents are done using only the inode.\nFor some parental notification we have the entire file, send that so\nfanotify can use it.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2a12a9d7814631e918dec93abad856e692d5286d",
      "tree": "12817004ae9667bf83f869606f38050636edeb61",
      "parents": [
        "8112e2d6a7356e8c3ff1f7f3c86f375ed0305705"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:32 2010 -0400"
      },
      "message": "fsnotify: pass a file instead of an inode to open, read, and write\n\nfanotify, the upcoming notification system actually needs a struct path so it can\ndo opens in the context of listeners, and it needs a file so it can get f_flags\nfrom the original process.  Close was the only operation that already was passing\na struct file to the notification hook.  This patch passes a file for access,\nmodify, and open as well as they are easily available to these hooks.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "8112e2d6a7356e8c3ff1f7f3c86f375ed0305705",
      "tree": "953926dd3596c0ac87d7407960d0987b765a8239",
      "parents": [
        "7b0a04fbfb35650941af87728d4891515b4fc179"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:31 2010 -0400"
      },
      "message": "fsnotify: include data in should_send calls\n\nfanotify is going to need to look at file-\u003eprivate_data to know if an event\nshould be sent or not.  This passes the data (which might be a file,\ndentry, inode, or none) to the should_send function calls so fanotify can\nget that information when available\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "7b0a04fbfb35650941af87728d4891515b4fc179",
      "tree": "48d85a11a8d3c283db3eb9f91ac4fb97bb2beafe",
      "parents": [
        "d7f0ce4e436b6109527c51b0efe0deff53d215f7"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 21:24:21 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:31 2010 -0400"
      },
      "message": "fsnotify: provide the data type to should_send_event\n\nfanotify is only interested in event types which contain enough information\nto open the original file in the context of the fanotify listener.  Since\nfanotify may not want to send events if that data isn\u0027t present we pass\nthe data type to the should_send_event function call so fanotify can express\nits lack of interest.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "2dfc1cae4c42b93b831b2417540df2b895ab7108",
      "tree": "e07a0075964fd2cb9210b302114255e16ab1d4c0",
      "parents": [
        "7050c48826d5adb2210bddfb6a67aa13bbe984ed"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:30:52 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:31 2010 -0400"
      },
      "message": "inotify: remove inotify in kernel interface\n\nnothing uses inotify in the kernel, drop it!\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "28a3a7eb3b1f3e7d834e19f06e794e429058a4dd",
      "tree": "c025ce90e250786784e18cde38d6c9c89e7b31f9",
      "parents": [
        "40554c3dae83bd892b7fbfaa2ea9de739cbcf065"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:17 2010 -0400"
      },
      "message": "audit: reimplement audit_trees using fsnotify rather than inotify\n\nSimply switch audit_trees from using inotify to using fsnotify for it\u0027s\ninode pinning and disappearing act information.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "40554c3dae83bd892b7fbfaa2ea9de739cbcf065",
      "tree": "7b9d4951734af9d819a900ff08f23c797a5c1b5c",
      "parents": [
        "9e1c74321d87a8b079f04d89e750b39a43365e1f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:17 2010 -0400"
      },
      "message": "fsnotify: allow addition of duplicate fsnotify marks\n\nThis patch allows a task to add a second fsnotify mark to an inode for the\nsame group.  This mark will be added to the end of the inode\u0027s list and\nthis will never be found by the stand fsnotify_find_mark() function.   This\nis useful if a user wants to add a new mark before removing the old one.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "9e1c74321d87a8b079f04d89e750b39a43365e1f",
      "tree": "2513ce9eaa620b50c32be3dbe2763bcb692f99cb",
      "parents": [
        "a05fb6cc573130915380e00d182a4c6571cec6b2"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:05 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:17 2010 -0400"
      },
      "message": "fsnotify: duplicate fsnotify_mark_entry data between 2 marks\n\nSimple copy fsnotify information from one mark to another in preparation\nfor the second mark to replace the first.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "e9fd702a58c49dbb14481dca88dad44758da393a",
      "tree": "c944771328e35ea36cf4e0e332b8402113878b3c",
      "parents": [
        "ae7b8f4108bcffb42173f867ce845268c7202d48"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Dec 17 20:12:04 2009 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Jul 28 09:58:16 2010 -0400"
      },
      "message": "audit: convert audit watches to use fsnotify instead of inotify\n\nAudit currently uses inotify to pin inodes in core and to detect when\nwatched inodes are deleted or unmounted.  This patch uses fsnotify instead\nof inotify.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "a376bca61096c7a79393e8125b7ad4757ccff19c",
      "tree": "87bb6aeff773e334a620b3a9aed6b2771cfb9bca",
      "parents": [
        "1a041a23da7c77b53c71fe11b4f940388bee37b1",
        "5447080cfa3c77154498dfbf225367ac85b4c2b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 09:21:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 27 09:21:00 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  s2io: fixing DBG_PRINT() macro\n  ath9k: fix dma direction for map/unmap in ath_rx_tasklet\n  net: dev_forward_skb should call nf_reset\n  net sched: fix race in mirred device removal\n  tun: avoid BUG, dump packet on GSO errors\n  bonding: set device in RLB ARP packet handler\n  wimax/i2400m: Add PID \u0026 VID for Intel WiMAX 6250\n  ipv6: Don\u0027t add routes to ipv6 disabled interfaces.\n  net: Fix skb_copy_expand() handling of -\u003ecsum_start\n  net: Fix corruption of skb csum field in pskb_expand_head() of net/core/skbuff.c\n  macvtap: Limit packet queue length\n  ixgbe/igb: catch invalid VF settings\n  bnx2x: Advance a module version\n  bnx2x: Protect statistics ramrod and sequence number\n  bnx2x: Protect a SM state change\n  wireless: use netif_rx_ni in ieee80211_send_layer2_update\n"
    },
    {
      "commit": "72ad5d77fb981963edae15eee8196c80238f5ed0",
      "tree": "a6fa9a0b9ba924fd2dd91debf3e8ab04e8084338",
      "parents": [
        "b37fa16e78d6f9790462b3181602a26b5af36260"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jul 23 22:59:09 2010 +0200"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat Jul 24 23:26:09 2010 -0400"
      },
      "message": "ACPI / Sleep: Allow the NVS saving to be skipped during suspend to RAM\n\nCommit 2a6b69765ad794389f2fc3e14a0afa1a995221c2\n(ACPI: Store NVS state even when entering suspend to RAM) caused the\nACPI suspend code save the NVS area during suspend and restore it\nduring resume unconditionally, although it is known that some systems\nneed to use acpi_sleep\u003ds4_nonvs for hibernation to work.  To allow\nthe affected systems to avoid saving and restoring the NVS area\nduring suspend to RAM and resume, introduce kernel command line\noption acpi_sleep\u003dnonvs and make acpi_sleep\u003ds4_nonvs work as its\nalias temporarily (add acpi_sleep\u003ds4_nonvs to the feature removal\nfile).\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d16396 .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-and-tested-by: tomas m \u003ctmezzadra@gmail.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "8a35747a5d13b99e076b0222729e0caa48cb69b6",
      "tree": "387e2840fe46edd9cc36027cf188778f2c5ab1ff",
      "parents": [
        "bded64a7ff82f6af56426a4ff2483888e5ad5fe9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 21 21:44:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 22 13:08:56 2010 -0700"
      },
      "message": "macvtap: Limit packet queue length\n\nMark Wagner reported OOM symptoms when sending UDP traffic over\na macvtap link to a kvm receiver.\n\nThis appears to be caused by the fact that macvtap packet queues\nare unlimited in length.  This means that if the receiver can\u0027t\nkeep up with the rate of flow, then we will hit OOM. Of course\nit gets worse if the OOM killer then decides to kill the receiver.\n\nThis patch imposes a cap on the packet queue length, in the same\nway as the tuntap driver, using the device TX queue length.\n\nPlease note that macvtap currently has no way of giving congestion\nnotification, that means the software device TX queue cannot be\nused and packets will always be dropped once the macvtap driver\nqueue fills up.\n\nThis shouldn\u0027t be a great problem for the scenario where macvtap\nis used to feed a kvm receiver, as the traffic is most likely\nexternal in origin so congestion notification can\u0027t be applied\nanyway.\n\nOf course, if anybody decides to complain about guest-to-guest\nUDP packet loss down the track, then we may have to revisit this.\n\nIncidentally, this patch also fixes a real memory leak when\nmacvtap_get_queue fails.\n\nChris Wright noticed that for this patch to work, we need a\nnon-zero TX queue length.  This patch includes his work to change\nthe default macvtap TX queue length to 500.\n\nReported-by: Mark Wagner \u003cmwagner@redhat.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e916beab22e00d95345bfa4f48981f2c88885f61",
      "tree": "8a50022d6ad51fe3d328f6987adf61a210fd3b08",
      "parents": [
        "4c0c03ca54f72fdd5912516ad0a23ec5cf01bda7",
        "edd63cb6b91024332d6983fc51058ac1ef0c081e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 22 11:44:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 22 11:44:26 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  sysrq,kdb: Use __handle_sysrq() for kdb\u0027s sysrq function\n  debug_core,kdb: fix kgdb_connected bit set in the wrong place\n  Fix merge regression from external kdb to upstream kdb\n  repair gdbstub to match the gdbserial protocol specification\n  kdb: break out of kdb_ll() when command is terminated\n"
    },
    {
      "commit": "edd63cb6b91024332d6983fc51058ac1ef0c081e",
      "tree": "2df04fc5dc35899aa7d4f4c52197f7b492c16c8b",
      "parents": [
        "b0679c63db655fa12007558e267bc0eb1d486fdb"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Wed Jul 21 19:27:07 2010 -0500"
      },
      "message": "sysrq,kdb: Use __handle_sysrq() for kdb\u0027s sysrq function\n\nThe kdb code should not toggle the sysrq state in case an end user\nwants to try and resume the normal kernel execution.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nAcked-by: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\n"
    },
    {
      "commit": "f4b23cc2d5dc78ef5acbc529eb1219cc41eb5b96",
      "tree": "cadf0fd7e2bcb2d2d2402fcddbda3ec9b53b2c0c",
      "parents": [
        "e0959371b4aaddb9b986019d5cfef93f9801d0ff",
        "c42750b0261274107ae85c894c088e618a3e38b9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 20 18:29:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 20 18:29:25 2010 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/r600: fix possible NULL pointer derefernce\n  drm/radeon/kms: add quirk for ASUS HD 3600 board\n  include/linux/vgaarb.h: add missing part of include guard\n  drm/nouveau: Fix crashes during fbcon init on single head cards.\n  drm/nouveau: fix pcirom vbios shadow breakage from acpi rom patch\n  drm/radeon/kms: fix shared ddc harder\n  drm/i915: enable low power render writes on GEN3 hardware.\n  drm/i915: Define MI_ARB_STATE bits\n  vmwgfx: return -EFAULT if copy_to_user fails\n  fb: handle allocation failure in alloc_apertures()\n  drm: radeon: check kzalloc() result\n  drm/ttm: Fix build on architectures without AGP\n  drm/radeon/kms: fix gtt MC base alignment on rs4xx/rs690/rs740 asics\n  drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740\n  drm/radeon/kms: fix legacy tv-out pal mode\n"
    },
    {
      "commit": "a6a1a095ec8ace2912fc280d371eee8ff5da5736",
      "tree": "35aa89867cddb3480f83aacd0c90f2fee1ab5c94",
      "parents": [
        "7173aeff025a7fed3fa903e362bf773e6258dd47"
      ],
      "author": {
        "name": "Doug Goldstein",
        "email": "cardoe@gentoo.org",
        "time": "Tue Jul 20 15:22:25 2010 -0700"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Jul 21 09:51:15 2010 +1000"
      },
      "message": "include/linux/vgaarb.h: add missing part of include guard\n\nvgaarb.h was missing the #define of the #ifndef at the top for the guard\nto prevent multiple #include\u0027s from causing re-define errors\n\nSigned-off-by: Doug Goldstein \u003ccardoe@gentoo.org\u003e\nCc: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "844b9a8707f1fcf0482e0c52f44a555e799ccda6",
      "tree": "c9c095c123c2988b014e39b461eb04411b3a197d",
      "parents": [
        "9d51a6b2487724e8713cd2794cf09ffeee5f6932"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Jul 20 13:24:34 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 20 16:25:41 2010 -0700"
      },
      "message": "vfs: fix RCU-lockdep false positive due to /proc\n\nIf a single-threaded process does a file-descriptor operation, and some\nother process accesses that same file descriptor via /proc, the current\nrcu_dereference_check_fdtable() can give a false-positive RCU-lockdep\nsplat due to the reference count being increased by the /proc access after\nthe reference-count check in fget_light() but before the check in\nrcu_dereference_check_fdtable().\n\nThis commit prevents this false positive by checking for a single-threaded\nprocess.  To avoid #include hell, this commit uses the wrapper for\nthread_group_empty(current) defined by rcu_my_thread_group_empty()\nprovided in a separate commit.\n\nLocated-by: Miles Lane \u003cmiles.lane@gmail.com\u003e\nLocated-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "772a2f9b488f4d27c314da5eeabde750b9ead41b",
      "tree": "2cb96edb617d659b26cad8c603d664cfa0cd1373",
      "parents": [
        "bbb642f9c9a43dbe45ffe14935397a2a34100263"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Jul 15 10:39:47 2010 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Jul 20 15:24:09 2010 +1000"
      },
      "message": "fb: handle allocation failure in alloc_apertures()\n\nIf the kzalloc() fails we should return NULL.  All the places that call\nalloc_apertures() check for this already.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: James Simmons \u003cjsimmons@infradead.org\u003e\nAcked-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7f8275d0d660c146de6ee3017e1e2e594c49e820",
      "tree": "884db927118b44102750b5168ee36ef4b8b5cb4e",
      "parents": [
        "d0c6f6258478e1dba532bf7c28e2cd6e1047d3a4"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Jul 19 14:56:17 2010 +1000"
      },
      "committer": {
        "name": "Dave Chinner",
        "email": "david@fromorbit.com",
        "time": "Mon Jul 19 14:56:17 2010 +1000"
      },
      "message": "mm: add context argument to shrinker callback\n\nThe current shrinker implementation requires the registered callback\nto have global state to work from. This makes it difficult to shrink\ncaches that are not global (e.g. per-filesystem caches). Pass the shrinker\nstructure to the callback so that users can embed the shrinker structure\nin the context the shrinker needs to operate on and get back to it in the\ncallback via container_of().\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "2044f2282d7558c765270d78e19dbdcf6190ca71",
      "tree": "03b2c4d211fa8e7e2ef8c489d28a16442f030d57",
      "parents": [
        "bea9a6d239cb2aa2ced4dcb0a05e1827ce61fa3d",
        "58c84eda07560a6b75b03e8d3b26d6eddfc14011"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 18 15:05:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 18 15:05:22 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: fall back to original BIOS BAR addresses\n"
    },
    {
      "commit": "bea9a6d239cb2aa2ced4dcb0a05e1827ce61fa3d",
      "tree": "39f23bd918c4dcda4359ebd9b8f188b9cb5e25b1",
      "parents": [
        "cd9f040df6ce46573760a507cb88192d05d27d86",
        "5453258d532e72731b0829e4fefd36dd611a2fff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 18 10:09:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 18 10:09:25 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Silence gcc warning in ocfs2_write_zero_page().\n  jbd2/ocfs2: Fix block checksumming when a buffer is used in several transactions\n  ocfs2/dlm: Remove BUG_ON from migration in the rare case of a down node\n  ocfs2: Don\u0027t duplicate pages past i_size during CoW.\n  ocfs2: tighten up strlen() checking\n  ocfs2: Make xattr reflink work with new local alloc reservation.\n  ocfs2: make xattr extension work with new local alloc reservation.\n  ocfs2: Remove the redundant cpu_to_le64.\n  ocfs2/dlm: don\u0027t access beyond bitmap size\n  ocfs2: No need to zero pages past i_size.\n  ocfs2: Zero the tail cluster when extending past i_size.\n  ocfs2: When zero extending, do it by page.\n  ocfs2: Limit default local alloc size within bitmap range.\n  ocfs2: Move orphan scan work to ocfs2_wq.\n  fs/ocfs2/dlm: Add missing spin_unlock\n"
    },
    {
      "commit": "58c84eda07560a6b75b03e8d3b26d6eddfc14011",
      "tree": "0104345d24d5fb79842ffd563ea69fdf2906931d",
      "parents": [
        "2f7989efd4398d92b8adffce2e07dd043a0895fe"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Jul 15 09:41:42 2010 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jul 16 11:39:48 2010 -0700"
      },
      "message": "PCI: fall back to original BIOS BAR addresses\n\nIf we fail to assign resources to a PCI BAR, this patch makes us try the\noriginal address from BIOS rather than leaving it disabled.\n\nLinux tries to make sure all PCI device BARs are inside the upstream\nPCI host bridge or P2P bridge apertures, reassigning BARs if necessary.\nWindows does similar reassignment.\n\nBefore this patch, if we could not move a BAR into an aperture, we left\nthe resource unassigned, i.e., at address zero.  Windows leaves such BARs\nat the original BIOS addresses, and this patch makes Linux do the same.\n\nThis is a bit ugly because we disable the resource long before we try to\nreassign it, so we have to keep track of the BIOS BAR address somewhere.\nFor lack of a better place, I put it in the struct pci_dev.\n\nI think it would be cleaner to attempt the assignment immediately when the\nclaim fails, so we could easily remember the original address.  But we\ncurrently claim motherboard resources in the middle, after attempting to\nclaim PCI resources and before assigning new PCI resources, and changing\nthat is a fairly big job.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d16263\n\nReported-by: Andrew \u003cnitr0@seti.kr.ua\u003e\nTested-by: Andrew \u003cnitr0@seti.kr.ua\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f469461df6ff822f71b8737bda86eea20f16ff93",
      "tree": "d7605dd5846725ed6949621084a5652782d9b02d",
      "parents": [
        "79140bc486fac016249f3d1d67ec9a39ebed9ad9",
        "44a54f787c0abcf75a2ed49b8ec8b2b512468f73"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 16 11:26:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 16 11:26:33 2010 -0700"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: Add alignment to syscall metadata declarations\n  perf: Sync callchains with period based hits\n  perf: Resurrect flat callchains\n  perf: Version String fix, for fallback if not from git\n  perf: Version String fix, using kernel version\n"
    },
    {
      "commit": "cc10b6ffd39ef982f86de68d95e5811df82cf819",
      "tree": "cb6f24f40d0211513321b5230b87efc022aeed1f",
      "parents": [
        "042bd1ff6cf255e71689db913786dbb6bb79542d",
        "5b39187fad6faefae5ce1a1e997651d4e382b135"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 16 08:22:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 16 08:22:40 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: w90p910_ts - fix call to setup_timer()\n  Input: synaptics - fix wrong dimensions check\n  Input: i8042 - mark stubs in i8042.h \"static inline\"\n"
    },
    {
      "commit": "13ceef099edd2b70c5a6f3a9ef5d6d97cda2e096",
      "tree": "5d65c397e9e85abe11a6fb0ebf3a69e8a4e91e0d",
      "parents": [
        "a39953dd95ff10e311083d94f4f95c348cb22464"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 14 07:56:33 2010 +0200"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 15 15:17:47 2010 -0700"
      },
      "message": "jbd2/ocfs2: Fix block checksumming when a buffer is used in several transactions\n\nOCFS2 uses t_commit trigger to compute and store checksum of the just\ncommitted blocks. When a buffer has b_frozen_data, checksum is computed\nfor it instead of b_data but this can result in an old checksum being\nwritten to the filesystem in the following scenario:\n\n1) transaction1 is opened\n2) handle1 is opened\n3) journal_access(handle1, bh)\n    - This sets jh-\u003eb_transaction to transaction1\n4) modify(bh)\n5) journal_dirty(handle1, bh)\n6) handle1 is closed\n7) start committing transaction1, opening transaction2\n8) handle2 is opened\n9) journal_access(handle2, bh)\n    - This copies off b_frozen_data to make it safe for transaction1 to commit.\n      jh-\u003eb_next_transaction is set to transaction2.\n10) jbd2_journal_write_metadata() checksums b_frozen_data\n11) the journal correctly writes b_frozen_data to the disk journal\n12) handle2 is closed\n    - There was no dirty call for the bh on handle2, so it is never queued for\n      any more journal operation\n13) Checkpointing finally happens, and it just spools the bh via normal buffer\nwriteback.  This will write b_data, which was never triggered on and thus\ncontains a wrong (old) checksum.\n\nThis patch fixes the problem by calling the trigger at the moment data is\nfrozen for journal commit - i.e., either when b_frozen_data is created by\ndo_get_write_access or just before we write a buffer to the log if\nb_frozen_data does not exist. We also rename the trigger to t_frozen as\nthat better describes when it is called.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "95f72d1ed41a66f1c1c29c24d479de81a0bea36f",
      "tree": "bd92b3804ff0bea083d69af0ede52f99ab34c0af",
      "parents": [
        "1c5474a65bf15a4cb162dfff86d6d0b5a08a740c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Jul 12 14:36:09 2010 +1000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Jul 14 17:14:00 2010 +1000"
      },
      "message": "lmb: rename to memblock\n\nvia following scripts\n\n      FILES\u003d$(find * -type f | grep -vE \u0027oprofile|[^K]config\u0027)\n\n      sed -i \\\n        -e \u0027s/lmb/memblock/g\u0027 \\\n        -e \u0027s/LMB/MEMBLOCK/g\u0027 \\\n        $FILES\n\n      for N in $(find . -name lmb.[ch]); do\n        M\u003d$(echo $N | sed \u0027s/lmb/memblock/g\u0027)\n        mv $N $M\n      done\n\nand remove some wrong change like lmbench and dlmb etc.\n\nalso move memblock.c from lib/ to mm/\n\nSuggested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "44a54f787c0abcf75a2ed49b8ec8b2b512468f73",
      "tree": "debbf5656caf6260aa4d6fc276dd043624527822",
      "parents": [
        "108553e1f3c45a92d23681a378ad9e4c3230eebc"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Fri Jul 09 15:41:44 2010 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jul 09 15:53:04 2010 -0400"
      },
      "message": "tracing: Add alignment to syscall metadata declarations\n\nFor some reason if we declare a static variable and then assign it\nlater, and the assignment contains a __attribute__((__aligned__(#))),\nsome versions of gcc will ignore it.\n\nThis caused the syscall meta data to not be compact in its section\nand caused a kernel oops when the section was being read.\n\nThe fix for these versions of gcc seems to be to add the aligned\nattribute to the declaration as well.\n\nThis fixes the BZ regression:\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d16353\n\nReported-by: Zeev Tarantov \u003czeev.tarantov@gmail.com\u003e\nTested-by: Zeev Tarantov \u003czeev.tarantov@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nLKML-Reference: \u003cAANLkTinkKVmB0fpVeqUkMeqe3ZYeXJdI8xDuzJEOjYwh@mail.gmail.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c77e9e68269bf50573ce130b5d95ff6e539dbcf8",
      "tree": "99edc1b070717e18f5958f934bc3921cfed2ce1f",
      "parents": [
        "31016e9941be85e8c487b1f3c45d253eda356715",
        "83ba7b071f30f7c01f72518ad72d5cd203c27502"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 08 08:06:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 08 08:06:40 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  writeback: simplify the write back thread queue\n  writeback: split writeback_inodes_wb\n  writeback: remove writeback_inodes_wbc\n  fs-writeback: fix kernel-doc warnings\n  splice: check f_mode for seekable file\n  splice: direct_splice_actor() should not use pos in sd\n"
    },
    {
      "commit": "2aa72f612144a0a7d4b0b22ae7c122692ac6a013",
      "tree": "8af2d2ac975887a04b4e4109de3d785f7046979b",
      "parents": [
        "78178c7d6e127fff6dba027315fd6914304b05cf",
        "33b665eeeb85956ccbdf31c4c31a4e2a31133c44"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 07 19:56:00 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 07 19:56:00 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (35 commits)\n  NET: SB1250: Initialize .owner\n  vxge: show startup message with KERN_INFO\n  ll_temac: Fix missing iounmaps\n  bridge: Clear IPCB before possible entry into IP stack\n  bridge br_multicast: BUG: unable to handle kernel NULL pointer dereference\n  net: Fix definition of netif_vdbg() when VERBOSE_DEBUG is defined\n  net/ne: fix memory leak in ne_drv_probe()\n  xfrm: fix xfrm by MARK logic\n  virtio_net: fix oom handling on tx\n  virtio_net: do not reschedule rx refill forever\n  s2io: resolve statistics issues\n  linux/net.h: fix kernel-doc warnings\n  net: decreasing real_num_tx_queues needs to flush qdisc\n  sched: qdisc_reset_all_tx is calling qdisc_reset without qdisc_lock\n  qlge: fix a eeh handler to not add a pending timer\n  qlge: Replacing add_timer() to mod_timer()\n  usbnet: Set parent device early for netdev_printk()\n  net: Revert \"rndis_host: Poll status channel before control channel\"\n  netfilter: ip6t_REJECT: fix a dst leak in ipv6 REJECT\n  drivers: bluetooth: bluecard_cs.c: Fixed include error, changed to linux/io.h\n  ...\n"
    },
    {
      "commit": "140236b4b1c749c9b795ea3d11558a0eb5a3a080",
      "tree": "b720aa99ca2fc8bc012777c98d321b994c1730d7",
      "parents": [
        "47a716cf0ca981b9549ec9815122ada7a0ff707c"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jun 10 13:56:33 2010 +0300"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 06 17:32:07 2010 -0700"
      },
      "message": "VFS: introduce s_dirty accessors\n\nThis patch introduces 3 VFS accessors: \u0027sb_mark_dirty()\u0027,\n\u0027sb_mark_clean()\u0027, and \u0027sb_is_dirty()\u0027. They simply\nset \u0027sb-\u003es_dirt\u0027 or test \u0027sb-\u003es_dirt\u0027. The plan is to make\nevery FS use these accessors later instead of manipulating\nthe \u0027sb-\u003es_dirt\u0027 flag directly.\n\nUltimately, this change is a preparation for the periodic\nsuperblock synchronization optimization which is about\npreventing the \"sync_supers\" kernel thread from waking up\neven if there is nothing to synchronize.\n\nThis patch does not do any functional change, just adds\naccessor functions.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47a716cf0ca981b9549ec9815122ada7a0ff707c",
      "tree": "9b949cce3f111c41478b6bbe404b7fdf525ef45f",
      "parents": [
        "1cc9629402b1eba0d4e21b2cc43eec9bd737f9bd",
        "b945d6b2554d550fe95caadc61e521c0ad71fb9c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 06 17:16:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 06 17:16:09 2010 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  rbtree: Undo augmented trees performance damage and regression\n  x86, Calgary: Limit the max PHB number to 256\n"
    },
    {
      "commit": "83ba7b071f30f7c01f72518ad72d5cd203c27502",
      "tree": "4737320dcce72cfff4d87d835e4f78428eca7ef5",
      "parents": [
        "edadfb10ba35da7253541e4155aa92eff758ebe6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Jul 06 08:59:53 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jul 06 08:59:53 2010 +0200"
      },
      "message": "writeback: simplify the write back thread queue\n\nFirst remove items from work_list as soon as we start working on them.  This\nmeans we don\u0027t have to track any pending or visited state and can get\nrid of all the RCU magic freeing the work items - we can simply free\nthem once the operation has finished.  Second use a real completion for\ntracking synchronous requests - if the caller sets the completion pointer\nwe complete it, otherwise use it as a boolean indicator that we can free\nthe work item directly.  Third unify struct wb_writeback_args and struct\nbdi_work into a single data structure, wb_writeback_work.  Previous we\nset all parameters into a struct wb_writeback_args, copied it into\nstruct bdi_work, copied it again on the stack to use it there.  Instead\nof just allocate one structure dynamically or on the stack and use it\nall the way through the stack.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "edadfb10ba35da7253541e4155aa92eff758ebe6",
      "tree": "a3c676f7b2c9b301d7e1948febeaba76ea1c5850",
      "parents": [
        "9c3a8ee8a1d72c5c0d7fbdf426d80e270ddfa54c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 10 12:07:54 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jul 06 08:54:08 2010 +0200"
      },
      "message": "writeback: split writeback_inodes_wb\n\nThe case where we have a superblock doesn\u0027t require a loop here as we scan\nover all inodes in writeback_sb_inodes. Split it out into a separate helper\nto make the code simpler.  This also allows to get rid of the sb member in\nstruct writeback_control, which was rather out of place there.\n\nAlso update the comments in writeback_sb_inodes that explain the handling\nof inodes from wrong superblocks.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "9c3a8ee8a1d72c5c0d7fbdf426d80e270ddfa54c",
      "tree": "fa131760a61f66afeede852622ede0d716965489",
      "parents": [
        "06d738fa9155ff16dba3d7e501ba4581d01a98cb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Jun 10 12:07:27 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Tue Jul 06 08:54:03 2010 +0200"
      },
      "message": "writeback: remove writeback_inodes_wbc\n\nThis was just an odd wrapper around writeback_inodes_wb.  Removing this\nalso allows to get rid of the bdi member of struct writeback_control\nwhich was rather out of place there.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "bcfcc450baaaa44afc1d3c51ef96a53338ff0eb2",
      "tree": "123a988524aec67145c9b6becfdd6d5993525e87",
      "parents": [
        "3390712a474abdcd3de10024dd1062e5928d381c"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Fri Jul 02 07:08:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 05 20:08:05 2010 -0700"
      },
      "message": "net: Fix definition of netif_vdbg() when VERBOSE_DEBUG is defined\n\nnetif_vdbg() was originally defined as entirely equivalent to\nnetdev_vdbg(), but I assume that it was intended to take the same\nparameters as netif_dbg() etc.  (Currently it is only used by the\nsfc driver, in which I worked on that assumption.)\n\nIn commit a4ed89c I changed the definition used when VERBOSE_DEBUG is\nnot defined, but I failed to notice that the definition used when\nVERBOSE_DEBUG is defined was also not as I expected.  Change that to\nmatch netif_dbg() as well.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b945d6b2554d550fe95caadc61e521c0ad71fb9c",
      "tree": "0b76cdb978bead82188de40cae6d24bd88d71b7d",
      "parents": [
        "d596043d71ff0d7b3d0bead19b1d68c55f003093"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Sat May 29 15:31:43 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 05 14:43:50 2010 +0200"
      },
      "message": "rbtree: Undo augmented trees performance damage and regression\n\nReimplement augmented RB-trees without sprinkling extra branches\nall over the RB-tree code (which lives in the scheduler hot path).\n\nThis approach is \u0027borrowed\u0027 from Fabio\u0027s BFQ implementation and\nrelies on traversing the rebalance path after the RB-tree-op to\ncorrect the heap property for insertion/removal and make up for\nthe damage done by the tree rotations.\n\nFor insertion the rebalance path is trivially that from the new\nnode upwards to the root, for removal it is that from the deepest\nnode in the path from the to be removed node that will still\nbe around after the removal.\n\n[ This patch also fixes a video driver regression reported by\n  Ali Gholami Rudi - the memtype-\u003esubtree_max_end was updated\n  incorrectly. ]\n\nAcked-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nAcked-by: Venkatesh Pallipadi \u003cvenki@google.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Ali Gholami Rudi \u003cali@rudi.ir\u003e\nCc: Fabio Checconi \u003cfabio@gandalf.sssup.it\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c1275414172.27810.27961.camel@twins\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff49d74ad383f54041378144ca1a229ee9aeaa59",
      "tree": "6f37335e313c9a680db8d4e4ce00d17aa11a099b",
      "parents": [
        "e3668dd83ba5958429984286efbc3055be5344c4"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Sat Jul 03 13:07:35 2010 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 04 20:17:22 2010 -0700"
      },
      "message": "module: initialize module dynamic debug later\n\nWe should initialize the module dynamic debug datastructures\nonly after determining that the module is not loaded yet. This\nfixes a bug that introduced in 2.6.35-rc2, where when a trying\nto load a module twice, we also load it\u0027s dynamic printing data\ntwice which causes all sorts of nasty issues. Also handle\nthe dynamic debug cleanup later on failure.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (removed a #ifdef)\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e2aec372ff4b7e78e79c308104a860ae0ed20950",
      "tree": "0a399810f9a506121bc7effb0a9127792527ea36",
      "parents": [
        "f0796d5c73e59786d09a1e617689d1d415f2db44"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Jul 01 13:18:58 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 02 21:59:08 2010 -0700"
      },
      "message": "linux/net.h: fix kernel-doc warnings\n\nFix kernel-doc warnings in linux/net.h:\n\nWarning(include/linux/net.h:151): No description found for parameter \u0027wq\u0027\nWarning(include/linux/net.h:151): Excess struct/union/enum/typedef member \u0027fasync_list\u0027 description in \u0027socket\u0027\nWarning(include/linux/net.h:151): Excess struct/union/enum/typedef member \u0027wait\u0027 description in \u0027socket\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f0796d5c73e59786d09a1e617689d1d415f2db44",
      "tree": "ecb17c65c5b6a162824a1e11fee24364852837f8",
      "parents": [
        "4ef6acff83222f4496ceef7d1f0ee9e50a5bb403"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Thu Jul 01 13:21:57 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 02 21:59:07 2010 -0700"
      },
      "message": "net: decreasing real_num_tx_queues needs to flush qdisc\n\nReducing real_num_queues needs to flush the qdisc otherwise\nskbs with queue_mappings greater then real_num_tx_queues can\nbe sent to the underlying driver.\n\nThe flow for this is,\n\ndev_queue_xmit()\n\tdev_pick_tx()\n\t\tskb_tx_hash()  \u003d\u003e hash using real_num_tx_queues\n\t\tskb_set_queue_mapping()\n\t...\n\tqdisc_enqueue_root() \u003d\u003e enqueue skb on txq from hash\n...\ndev-\u003ereal_num_tx_queues -\u003d n\n...\nsch_direct_xmit()\n\tdev_hard_start_xmit()\n\t\tndo_start_xmit(skb,dev) \u003d\u003e skb queue set with old hash\n\nskbs are enqueued on the qdisc with skb-\u003equeue_mapping set\n0 \u003c queue_mappings \u003c real_num_tx_queues.  When the driver\ndecreases real_num_tx_queues skb\u0027s may be dequeued from the\nqdisc with a queue_mapping greater then real_num_tx_queues.\n\nThis fixes a case in ixgbe where this was occurring with DCB\nand FCoE. Because the driver is using queue_mapping to map\nskbs to tx descriptor rings we can potentially map skbs to\nrings that no longer exist.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nTested-by: Ross Brattain \u003cross.b.brattain@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "123f94f22e3d283dfe68742b269c245b0501ad82",
      "tree": "1d40043b0909f309cf77204ea87be9e61f143e79",
      "parents": [
        "4b78c119f0ba715b4e29b190bf4d7bce810ea0d6",
        "8c215bd3890c347dfb6a2db4779755f8b9c298a9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 02 09:52:58 2010 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: Cure nr_iowait_cpu() users\n  init: Fix comment\n  init, sched: Fix race between init and kthreadd\n"
    },
    {
      "commit": "826456989f1e9fe15daf2183c630ea9c7ab7c46d",
      "tree": "fa5dec62b73dfad09ad49f1e2797a0e303bd194b",
      "parents": [
        "980533b018fda7ae4c4fb6863b75a0e282d2ffd2",
        "1529c69adce1e95f7ae72f0441590c226bbac7fc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 01 18:40:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 01 18:40:54 2010 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  ata_generic: implement ATA_GEN_* flags and force enable DMA on MBP 7,1\n  ahci,ata_generic: let ata_generic handle new MBP w/ MCP89\n  libahci: Fix bug in storing EM messages\n"
    },
    {
      "commit": "c6353b4520788e34098bbf61c73fb9618ca7fdd6",
      "tree": "89146e7b8e282b907021bae657b4bf18c74d9858",
      "parents": [
        "f9ce889b8f8384ee29e1be4b34091a932e6e40f3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jun 17 11:42:22 2010 +0200"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Jul 01 15:34:46 2010 -0400"
      },
      "message": "ahci,ata_generic: let ata_generic handle new MBP w/ MCP89\n\nFor yet unknown reason, MCP89 on MBP 7,1 doesn\u0027t work w/ ahci under\nlinux but the controller doesn\u0027t require explicit mode setting and\nworks fine with ata_generic.  Make ahci ignore the controller on MBP\n7,1 and let ata_generic take it for now.\n\nReported in bko#15923.\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d15923\n\nNVIDIA is investigating why ahci mode doesn\u0027t work.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Peer Chen \u003cpchen@nvidia.com\u003e\nCc: stable@kernel.org\nReported-by: Anders Østhus \u003cgrapz666@gmail.com\u003e\nReported-by: Andreas Graf \u003candreas_graf@csgraf.de\u003e\nReported-by: Benoit Gschwind \u003cgschwind@gnu-log.net\u003e\nReported-by: Damien Cassou \u003cdamien.cassou@gmail.com\u003e\nReported-by: tixetsal@juno.com\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "bf4f42b441919417386beb2f9c58e802e7de89df",
      "tree": "39fce2e84056f6c2d7cb1966289bfb52cd6ffdab",
      "parents": [
        "1e31b0ffbb3b10133044e9c4bec4bd4b3f278229",
        "2f9c6b0a91a050669dd6df487174de6b96c2774a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 01 09:36:49 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 01 09:36:49 2010 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (27 commits)\n  drm/radeon/kms: remove rv100 bios connector quirk\n  drm/radeon/kms/pm: fix power state indexing on igp chips in dynpm mode\n  DRM / radeon / KMS: Fix hibernation regression related to radeon PM (was: Re: [Regression, post-2.6.34] Hibernation broken on machines with radeon/KMS and r300)\n  drm/radeon/kms/igp: fix possible divide by 0 in bandwidth code (v2)\n  drm/radeon: add quirk to make HP nx6125 laptop resume.\n  drm/radeon/kms: add some missing regs to evergreen gpu init\n  drm/radeon/kms: fix typos in evergreen command checker\n  drm/radeon/kms: avoid oops on mac r4xx cards\n  fb: fix colliding defines for fb flags.\n  drm/radeon/kms: Force HDP_NONSURF to maximum size\n  drm/radeon/kms: disable frac fb dividers for rs6xx\n  drm/radeon/kms: don\u0027t read attempt to read bios from VRAM on unposted GPU.\n  drm/radeon/kms: fix typo in evergreen_gpu_init\n  drm/radeon/kms: return ret in cursor_set failure path\n  drm/ttm: non pooled page allocation should have GFP_USER set\n  drm/radeon/r100/r200: fix calculation of compressed cube maps\n  drm/radeon/r200: handle more hw tex coord types\n  drm/radeon/kms: CS checker texture fixes for r1xx/r2xx/r3xx\n  drm/radeon: add fake RN50 table for powerpc\n  drm/fb: Fix video\u003d mode computation\n  ...\n"
    },
    {
      "commit": "8c215bd3890c347dfb6a2db4779755f8b9c298a9",
      "tree": "e6bd5de8a028babe9ec75f744977bd1424df106c",
      "parents": [
        "9715856922bf8475f5428c29b6f4a9eebc97d391"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Thu Jul 01 09:07:17 2010 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jul 01 09:39:48 2010 +0200"
      },
      "message": "sched: Cure nr_iowait_cpu() users\n\nCommit 0224cf4c5e (sched: Intoduce get_cpu_iowait_time_us())\nbroke things by not making sure preemption was indeed disabled\nby the callers of nr_iowait_cpu() which took the iowait value of\nthe current cpu.\n\nThis resulted in a heap of preempt warnings. Cure this by making\nnr_iowait_cpu() take a cpu number and fix up the callers to pass\nin the right number.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Sergey Senozhatsky \u003csergey.senozhatsky@gmail.com\u003e\nCc: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: linux-pm@lists.linux-foundation.org\nLKML-Reference: \u003c1277968037.1868.120.camel@laptop\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b26c949755c06ec79e55a75817210083bd78fc9a",
      "tree": "6ca63a7ca5f6f5130b223b6e4b1ae9606e4e940a",
      "parents": [
        "46fcd2b3dbf58a448b621d3d2f492a0e90223a3a"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Jun 23 11:35:41 2010 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jul 01 11:59:34 2010 +1000"
      },
      "message": "fb: fix colliding defines for fb flags.\n\nWhen I added the flags I must have been using a 25 line terminal and missed the following flags.\n\nThe collided with flag has one user in staging despite being in-tree for 5 years.\n\nI\u0027m happy to push this via my drm tree unless someone really wants to do it.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "9b2c2ff7a1c04e69842254dd4afe0f8ad4efa439",
      "tree": "705bd91dafd562a38d3833edb30297abf0516459",
      "parents": [
        "08e554b17bfdc2682599c8c2770b088a0187a405"
      ],
      "author": {
        "name": "Saeed Bishara",
        "email": "saeed@marvell.com",
        "time": "Sun Jun 27 00:26:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 30 13:01:11 2010 -0700"
      },
      "message": "mv643xx_eth: use sw csum for big packets\n\nSome controllers (KW, Dove) limits the TX IP/layer4 checksum offloading to a max size.\n\nSigned-off-by: Saeed Bishara \u003csaeed@marvell.com\u003e\nAcked-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c59690fa484c04ab96fe932241b569a09755a4d2",
      "tree": "ebc009b73b806007868a2a6f13357dfe90d89132",
      "parents": [
        "3267a87f9dc38d036571ff0880533d9ae8989f01"
      ],
      "author": {
        "name": "Feng Tang",
        "email": "feng.tang@intel.com",
        "time": "Wed Jun 30 00:53:53 2010 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Wed Jun 30 01:21:38 2010 -0700"
      },
      "message": "Input: i8042 - mark stubs in i8042.h \"static inline\"\n\nOtherwise we may run into following:\n\ndrivers/platform/built-in.o: In function `i8042_lock_chip\u0027:\n/home/test/ws2/projects/linux-2.6/include/linux/i8042.h:50: multiple definition of `i8042_lock_chip\u0027\ndrivers/input/serio/built-in.o:/home/test/ws2/projects/linux-2.6/include/linux/i8042.h:50: first defined here\n...\nmake[1]: *** [drivers/built-in.o] Error 1\nmake: *** [drivers] Error 2\n\nSigned-off-by: Feng Tang \u003cfeng.tang@intel.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "9c695203a7ddbe49dba5f22f4c941d24f47475df",
      "tree": "0dcfa624ecb7c5810f7062fe950bf3f0de2e55b2",
      "parents": [
        "2952095c6b2eefd068dda0dee6317cf95155a304"
      ],
      "author": {
        "name": "Mikael Pettersson",
        "email": "mikpe@it.uu.se",
        "time": "Tue Jun 29 15:05:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 29 15:29:31 2010 -0700"
      },
      "message": "compiler-gcc.h: gcc-4.5 needs noclone and noinline on __naked functions\n\nA __naked function is defined in C but with a body completely implemented\nby asm(), including any prologue and epilogue.  These asm() bodies expect\nstandard calling conventions for parameter passing.  Older GCCs implement\nthat correctly, but 4.[56] currently do not, see GCC PR44290.  In the\nLinux kernel this breaks ARM, causing most arch/arm/mm/copypage-*.c\nmodules to get miscompiled, resulting in kernel crashes during bootup.\n\nPart of the kernel fix is to augment the __naked function attribute to\nalso imply noinline and noclone.  This patch implements that, and has been\nverified to fix boot failures with gcc-4.5 compiled 2.6.34 and 2.6.35-rc1\nkernels.  The patch is a no-op with older GCCs.\n\nSigned-off-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: Khem Raj \u003craj.khem@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "984bc9601f64fd341b8573021d7c999f1f1499a9",
      "tree": "06c616a6285b00d1e577902face3e8a986370b34",
      "parents": [
        "57439f878afafefad8836ebf5c49da2a0a746105",
        "1b99973f1c82707e46e8cb9416865a1e955e8f8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 29 10:42:52 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 29 10:42:52 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: Don\u0027t count_vm_events for discard bio in submit_bio.\n  cfq: fix recursive call in cfq_blkiocg_update_completion_stats()\n  cfq-iosched: Fixed boot warning with BLK_CGROUP\u003dy and CFQ_GROUP_IOSCHED\u003dn\n  cfq: Don\u0027t allow queue merges for queues that have no process references\n  block: fix DISCARD_BARRIER requests\n  cciss: set SCSI max cmd len to 16, as default is wrong\n  cpqarray: fix two more wrong section type\n  cpqarray: fix wrong __init type on pci probe function\n  drbd: Fixed a race between disk-attach and unexpected state changes\n  writeback: fix pin_sb_for_writeback\n  writeback: add missing requeue_io in writeback_inodes_wb\n  writeback: simplify and split bdi_start_writeback\n  writeback: simplify wakeup_flusher_threads\n  writeback: fix writeback_inodes_wb from writeback_inodes_sb\n  writeback: enforce s_umount locking in writeback_inodes_sb\n  writeback: queue work on stack in writeback_inodes_sb\n  writeback: fix writeback completion notifications\n"
    },
    {
      "commit": "57439f878afafefad8836ebf5c49da2a0a746105",
      "tree": "ec11dd35704aa37d77a5fd8404fda57f297a3834",
      "parents": [
        "5904b3b81d25166e5e39b9727645bb47937618e3"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu Jun 24 13:02:14 2010 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 29 10:38:22 2010 -0700"
      },
      "message": "fs: fix superblock iteration race\n\nlist_for_each_entry_safe is not suitable to protect against concurrent\nmodification of the list. 6754af6 introduced a race in sb walking.\n\nlist_for_each_entry can use the trick of pinning the current entry in\nthe list before we drop and retake the lock because it subsequently\nfollows cur-\u003enext. However list_for_each_entry_safe saves n\u003dcur-\u003enext\nfor following before entering the loop body, so when the lock is\ndropped, n may be deleted.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: John Stultz \u003cjohnstul@us.ibm.com\u003e\nCc: Frank Mayhar \u003cfmayhar@google.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "bf988435bd5b53529f4408a8efb1f433f6ddfda9"
}
