)]}'
{
  "log": [
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "60f8a8d4c6c46bb080e8e65d30be31b172a39a78",
      "tree": "d8fcf72ba13cb4a78b4457e869b7260c1ac7fe46",
      "parents": [
        "b037bba71bca77c7247e7c2079f227ad7b961c34",
        "b2d82ee3c8b2193ee5bc7eca4687ee9be30abd34"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:08:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 03 08:08:21 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: fix large stack use\n  fuse: cleanup in fuse_notify_inval_...()\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "b2d82ee3c8b2193ee5bc7eca4687ee9be30abd34",
      "tree": "41986357886eda7e8e92c33ed32a743afee3f3e6",
      "parents": [
        "b21dda438baa450a76a375a35653ae0377793fab"
      ],
      "author": {
        "name": "Fang Wenqi",
        "email": "anton.fang@gmail.com",
        "time": "Wed Dec 30 18:37:13 2009 +0800"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 05 12:08:31 2010 +0100"
      },
      "message": "fuse: fix large stack use\n\ngcc 4.4 warns about:\n  fs/fuse/dev.c: In function ‘fuse_notify_inval_entry’:\n  fs/fuse/dev.c:925: warning: the frame size of 1060 bytes is larger than 1024 bytes\n\nThe problem is we declare two structures and a large array on the stack,\nI move the array alway from the stack and allocate memory for it dynamically.\n\nSigned-off-by: Fang Wenqi \u003cantonf@turbolinux.com.cn\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "b21dda438baa450a76a375a35653ae0377793fab",
      "tree": "879c11086ca038c8ca1ccd8e829c40a317675b94",
      "parents": [
        "abe94c756c08d50566c09a65b9c7fe72f83071c5"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 05 12:08:31 2010 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 05 12:08:31 2010 +0100"
      },
      "message": "fuse: cleanup in fuse_notify_inval_...()\n\nSmall cleanup in fuse_notify_inval_inode() and\nfuse_notify_inval_entry().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "931e80e4b3263db75c8e34f078d22f11bbabd3a3",
      "tree": "47c735f039d2c8623a1fc4d20333a9899ac8e99c",
      "parents": [
        "bc173f7092c76a7967f135c2b3a54052ad99733b"
      ],
      "author": {
        "name": "anfei zhou",
        "email": "anfei.zhou@gmail.com",
        "time": "Tue Feb 02 13:44:02 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 02 18:11:21 2010 -0800"
      },
      "message": "mm: flush dcache before writing into page to avoid alias\n\nThe cache alias problem will happen if the changes of user shared mapping\nis not flushed before copying, then user and kernel mapping may be mapped\ninto two different cache line, it is impossible to guarantee the coherence\nafter iov_iter_copy_from_user_atomic.  So the right steps should be:\n\n\tflush_dcache_page(page);\n\tkmap_atomic(page);\n\twrite to page;\n\tkunmap_atomic(page);\n\tflush_dcache_page(page);\n\nMore precisely, we might create two new APIs flush_dcache_user_page and\nflush_dcache_kern_page to replace the two flush_dcache_page accordingly.\n\nHere is a snippet tested on omap2430 with VIPT cache, and I think it is\nnot ARM-specific:\n\n\tint val \u003d 0x11111111;\n\tfd \u003d open(\"abc\", O_RDWR);\n\taddr \u003d mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);\n\t*(addr+0) \u003d 0x44444444;\n\ttmp \u003d *(addr+0);\n\t*(addr+1) \u003d 0x77777777;\n\twrite(fd, \u0026val, sizeof(int));\n\tclose(fd);\n\nThe results are not always 0x11111111 0x77777777 at the beginning as expected.  Sometimes we see 0x44444444 0x77777777.\n\nSigned-off-by: Anfei \u003canfei.zhou@gmail.com\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \u003clinux-arch@vger.kernel.org\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": "1b7323965a8c6eee9dc4e345a7ae4bff1dc93149",
      "tree": "e0f6708e1bb274a2204919dbcc698be5f5880f0c",
      "parents": [
        "a8a8a669ea13d792296737505adc43ccacf3a648"
      ],
      "author": {
        "name": "Csaba Henk",
        "email": "csaba@gluster.com",
        "time": "Fri Nov 27 19:30:14 2009 +0530"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Nov 27 16:37:13 2009 +0100"
      },
      "message": "fuse: reject O_DIRECT flag also in fuse_create\n\nThe comment in fuse_open about O_DIRECT:\n\n  \"VFS checks this, but only _after_ -\u003eopen()\"\n\nalso holds for fuse_create, however, the same kind of check was missing there.\n\nAs an impact of this bug, open(newfile, O_RDWR|O_CREAT|O_DIRECT) fails, but a\nstub newfile will remain if the fuse server handled the implied FUSE_CREATE\nrequest appropriately.\n\nOther impact: in the above situation ima_file_free() will complain to open/free\nimbalance if CONFIG_IMA is set.\n\nSigned-off-by: Csaba Henk \u003ccsaba@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Harshavardhana \u003charsha@gluster.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "5219f346b0ea2a2a8821f1e966b190788c285b0b",
      "tree": "61063605b09431b84a8dbbee81d1e4fc59712f48",
      "parents": [
        "0bd87182d3ab18a32a8e9175d3f68754c58e3432"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 04 10:24:52 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 04 10:24:52 2009 +0100"
      },
      "message": "fuse: invalidate target of rename\n\nInvalidate the target\u0027s attributes, which may have changed (such as\nnlink, change time) so that they are refreshed on the next getattr().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "0bd87182d3ab18a32a8e9175d3f68754c58e3432",
      "tree": "33ec19afd0954edc82b7d8d2dcee7b4e4f0785e3",
      "parents": [
        "f60311d5f7670d9539b424e4ed8b5c0872fc9e83"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Nov 03 11:40:44 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 04 10:24:51 2009 +0100"
      },
      "message": "fuse: fix kunmap in fuse_ioctl_copy_user\n\nLooks like another victim of the confusing kmap() vs kmap_atomic() API\ndifferences.\n\nReported-by: Todor Gyumyushev \u003cyodor1@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f60311d5f7670d9539b424e4ed8b5c0872fc9e83",
      "tree": "e4289854a25f4640308532726deceb7d6ac293ed",
      "parents": [
        "b419148e567728f6af0c3b01965c1cc141e3e13a"
      ],
      "author": {
        "name": "Anand V. Avati",
        "email": "avati@gluster.com",
        "time": "Thu Oct 22 06:24:52 2009 -0700"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 04 10:24:50 2009 +0100"
      },
      "message": "fuse: prevent fuse_put_request on invalid pointer\n\nfuse_direct_io() has a loop where requests are allocated in each\niteration. if allocation fails, the loop is broken out and follows\ninto an unconditional fuse_put_request() on that invalid pointer.\n\nSigned-off-by: Anand V. Avati \u003cavati@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c08d3b0e33edce28e9cfa7b64f7fe5bdeeb29248",
      "tree": "6c161cc57a2873e6f91335113192a99531901cd8",
      "parents": [
        "25d9e2d15286281ec834b829a4aaf8969011f1cd"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Fri Aug 21 02:35:06 2009 +1000"
      },
      "committer": {
        "name": "al",
        "email": "al@dizzy.pdmi.ras.ru",
        "time": "Thu Sep 24 08:41:47 2009 -0400"
      },
      "message": "truncate: use new helpers\n\nUpdate some fs code to make use of new helper functions introduced\nin the previous patch. Should be no significant change in behaviour\n(except CIFS now calls send_sig under i_lock, via inode_newsize_ok).\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: linux-nfs@vger.kernel.org\nCc: Trond.Myklebust@netapp.com\nCc: linux-cifs-client@lists.samba.org\nCc: sfrench@samba.org\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9eead2a8115d2a6aecf267c292f751f7761fa5f8",
      "tree": "133cc2c9616bbc53b92fdf68137621a11e3c80c6",
      "parents": [
        "6f130478e24d810078c3f0ee292bcc4ec034dcce",
        "79a9d99434b104c562f30f21b75317667f444793"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 18 09:23:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 18 09:23:03 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: add fusectl interface to max_background\n  fuse: limit user-specified values of max background requests\n  fuse: use drop_nlink() instead of direct nlink manipulation\n  fuse: document protocol version negotiation\n  fuse: make the number of max background requests and congestion threshold tunable\n"
    },
    {
      "commit": "32a88aa1b6dfb901cec64e1898cac78d0f25028a",
      "tree": "51aa6f56ccfca53f495d015645373317bdee3647",
      "parents": [
        "c4a77a6c7dcff04a2abc7fe4b6b2ae605be41c5b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Sep 16 15:02:33 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Sep 16 15:18:51 2009 +0200"
      },
      "message": "fs: Assign bdi in super_block\n\nWe do this automatically in get_sb_bdev() from the set_bdev_super()\ncallback. Filesystems that have their own private backing_dev_info\nmust assign that in -\u003efill_super().\n\nNote that -\u003es_bdi assignment is required for proper writeback!\n\nAcked-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "79a9d99434b104c562f30f21b75317667f444793",
      "tree": "181900c493e9aa0322b47dbcf2aa8251a956dd30",
      "parents": [
        "487ea5af6358cb27c994e2cf056d4ee0872e43c3"
      ],
      "author": {
        "name": "Csaba Henk",
        "email": "csaba@gluster.com",
        "time": "Wed Aug 26 19:18:24 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Sep 16 14:15:29 2009 +0200"
      },
      "message": "fuse: add fusectl interface to max_background\n\nMake the max_background and congestion_threshold parameters of a FUSE\nmount tunable at runtime by adding the respective knobs to its directory\nwithin the fusectl filesystem.\n\nSigned-off-by: Csaba Henk \u003ccsaba@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "487ea5af6358cb27c994e2cf056d4ee0872e43c3",
      "tree": "26db6260934ad1743db6da6319cb7a502dd775e2",
      "parents": [
        "d6db07ded51c5fb4df2f4a32e6a41e9bb5db7fc4"
      ],
      "author": {
        "name": "Csaba Henk",
        "email": "csaba@gluster.com",
        "time": "Wed Aug 26 19:17:22 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Sep 16 14:15:29 2009 +0200"
      },
      "message": "fuse: limit user-specified values of max background requests\n\nAn untrusted user could DoS the system if s/he were allowed to accumulate an\narbitrary number of pending background requests by setting the above limits\nto extremely high values in INIT. This patch excludes this possibility by\nimposing global upper limits on the possible values of per-mount \"max\nbackground requests\" and \"congestion threshold\" parameters for unprivileged\nFUSE filesystems.\n\nThese global limits are implemented as module parameters.\n\nSigned-off-by: Csaba Henk \u003ccsaba@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "d6db07ded51c5fb4df2f4a32e6a41e9bb5db7fc4",
      "tree": "149cc06d32038b9ba56cb1b54197b649af36083b",
      "parents": [
        "37d217f029a56a6d385f99773fb27dfcb51f9a46"
      ],
      "author": {
        "name": "Csaba Henk",
        "email": "csaba@gluster.com",
        "time": "Mon Aug 24 06:14:07 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Sep 16 14:15:28 2009 +0200"
      },
      "message": "fuse: use drop_nlink() instead of direct nlink manipulation\n\ndrop_nlink() is the API function to decrease the link count of an inode.\nHowever, at a place the control filesystem used the decrement operator\non i_nlink directly. Fix this.\n\nCc: Anand Avati \u003cavati@gluster.com\u003e\nSigned-off-by: Csaba Henk \u003ccsaba@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "d993831fa7ffeb89e994f046f93eeb09ec91df08",
      "tree": "da4f94bbf022c83988bda71adf1f1b3a88cb4592",
      "parents": [
        "f09b00d3e789a88fa6c7c03cedc62cb65c1de0cb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 12 14:45:52 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 09:20:26 2009 +0200"
      },
      "message": "writeback: add name to backing_dev_info\n\nThis enables us to track who does what and print info. Its main use\nis catching dirty inodes on the default_backing_dev_info, so we can\nfix that up.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "81e4e1ba7ed4a1fdcf0e2ee944f1575010471464",
      "tree": "a97bd3c8ec33dd18598169db83555bf5bd237b91",
      "parents": [
        "373c0a7ed3ea3b34efedb7c83ffb521adff7c894"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 11 11:22:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 11 11:22:34 2009 -0700"
      },
      "message": "Revert \"fuse: Fix build error\" as unnecessary\n\nThis reverts commit 097041e576ee3a50d92dd643ee8ca65bf6a62e21.\n\nTrond had a better fix, which is the parent of this one (\"Fix compile\nerror due to congestion_wait() changes\")\n\nRequested-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Larry Finger \u003cLarry.Finger@lwfinger.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "097041e576ee3a50d92dd643ee8ca65bf6a62e21",
      "tree": "103bb259744701fb702015d539ecb4fe12a0fb83",
      "parents": [
        "69ca06c9454169c4a9303e8834adae9080f94859"
      ],
      "author": {
        "name": "Larry Finger",
        "email": "Larry.Finger@lwfinger.net",
        "time": "Fri Jul 10 20:06:42 2009 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 10 19:09:46 2009 -0700"
      },
      "message": "fuse: Fix build error\n\nWhen building v2.6.31-rc2-344-g69ca06c, the following build errors are\nfound due to missing includes:\n\n CC [M]  fs/fuse/dev.o\nfs/fuse/dev.c: In function ‘request_end’:\nfs/fuse/dev.c:289: error: ‘BLK_RW_SYNC’ undeclared (first use in this function)\n...\nfs/nfs/write.c: In function ‘nfs_set_page_writeback’:\nfs/nfs/write.c:207: error: ‘BLK_RW_ASYNC’ undeclared (first use in this function)\n\nSigned-off-by: Larry Finger@lwfinger.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0",
      "tree": "76c8b4f1362a928d426f2201790ab5d128f57724",
      "parents": [
        "c2cc49a2f8a479dde96a599646d30b6cc9dbed78"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 09 14:52:32 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.(none)",
        "time": "Fri Jul 10 20:31:53 2009 +0200"
      },
      "message": "Fix congestion_wait() sync/async vs read/write confusion\n\nCommit 1faa16d22877f4839bd433547d770c676d1d964c accidentally broke\nthe bdi congestion wait queue logic, causing us to wait on congestion\nfor WRITE (\u003d\u003d 1) when we really wanted BLK_RW_ASYNC (\u003d\u003d 0) instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7a6d3c8b3049d07123628f2bf57127bba2cc878f",
      "tree": "bfa09bd7e87753eb777699e0566e396ae639532c",
      "parents": [
        "8e4a718ff38d8539938ec3421935904c27e00c39"
      ],
      "author": {
        "name": "Csaba Henk",
        "email": "csaba@gluster.com",
        "time": "Wed Jul 01 17:28:41 2009 -0700"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jul 07 17:28:52 2009 +0200"
      },
      "message": "fuse: make the number of max background requests and congestion threshold tunable\n\nThe practical values for these limits depend on the design of the\nfilesystem server so let userspace set them at initialization time.\n\nSigned-off-by: Csaba Henk \u003ccsaba@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "3b463ae0c6264f70e5d4c0a9c46af20fed43c96e",
      "tree": "03c6abdd0671d74452cbd1f6fc6d637363eb6389",
      "parents": [
        "e0a43ddcc08c34dbd666d93600fd23914505f4aa"
      ],
      "author": {
        "name": "John Muir",
        "email": "muirj@nortel.com",
        "time": "Sun May 31 11:13:57 2009 -0400"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:12:24 2009 +0200"
      },
      "message": "fuse: invalidation reverse calls\n\nAdd notification messages that allow the filesystem to invalidate VFS\ncaches.\n\nTwo notifications are added:\n\n 1) inode invalidation\n\n   - invalidate cached attributes\n   - invalidate a range of pages in the page cache (this is optional)\n\n 2) dentry invalidation\n\n   - try to invalidate a subtree in the dentry cache\n\nCare must be taken while accessing the \u0027struct super_block\u0027 for the\nmount, as it can go away while an invalidation is in progress.  To\nprevent this, introduce a rw-semaphore, that is taken for read during\nthe invalidation and taken for write in the -\u003ekill_sb callback.\n\nCc: Csaba Henk \u003ccsaba@gluster.com\u003e\nCc: Anand Avati \u003cavati@zresearch.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "e0a43ddcc08c34dbd666d93600fd23914505f4aa",
      "tree": "103449845b1ffaf8f32ed98a1a543276227ec087",
      "parents": [
        "201fa69a2849536ef2912e8e971ec0b01c04eff4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:12:23 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:12:23 2009 +0200"
      },
      "message": "fuse: allow umask processing in userspace\n\nThis patch lets filesystems handle masking the file mode on creation.\nThis is needed if filesystem is using ACLs.\n\n - The CREATE, MKDIR and MKNOD requests are extended with a \"umask\"\n   parameter.\n\n - A new FUSE_DONT_MASK flag is added to the INIT request/reply.  With\n   this the filesystem may request that the create mode is not masked.\n\nCC: Jean-Pierre André \u003cjean-pierre.andre@wanadoo.fr\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "201fa69a2849536ef2912e8e971ec0b01c04eff4",
      "tree": "78912c9cffd801c24bdf738d4842678308e520e4",
      "parents": [
        "b4c458b3a23d76936e76678f2074b1528f129f7a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:06:24 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:06:24 2009 +0200"
      },
      "message": "fuse: fix bad return value in fuse_file_poll()\n\nFix fuse_file_poll() which returned a -errno value instead of a poll\nmask.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "b4c458b3a23d76936e76678f2074b1528f129f7a",
      "tree": "5b256bf81066e41442fa776cb668156bb4d58804",
      "parents": [
        "28d0325ce6e0a52f53d8af687e6427fee59004d3"
      ],
      "author": {
        "name": "Csaba Henk",
        "email": "csaba@gluster.com",
        "time": "Mon Jun 29 03:26:53 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:06:23 2009 +0200"
      },
      "message": "fuse: fix return value of fuse_dev_write()\n\nOn 64 bit systems -- where sizeof(ssize_t) \u003e sizeof(int) -- the following test\nexposes a bug due to a non-careful return of an int or unsigned value:\n\nimplement a FUSE filesystem which sends an unsolicited notification to\nthe kernel with invalid opcode. The respective write to /dev/fuse\nwill return (1 \u003c\u003c 32) - EINVAL with errno \u003d\u003d 0 instead of -1 with\nerrno \u003d\u003d EINVAL.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "66c6af2e8ba55d4d6691c136b42f2423ab9598ec",
      "tree": "6c63cbeadad88136e2b4315720f4a14c021743d3",
      "parents": [
        "fe36adf47eb1f7f4972559efa30ce3d2d3f977f2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 16 14:15:00 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 17 00:36:36 2009 -0400"
      },
      "message": "fuse doesn\u0027t need BKL in -\u003eumount_begin()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c34752bc8b3196aee3115d1aa41972604ab0aea8",
      "tree": "db93341ab4043e1c21d83f0b7dfdbc1798b88845",
      "parents": [
        "65d52cc9d47975f4fbd0a50e62f4a49be2c0514a",
        "151060ac13144208bd7601d17e4c92c59b98072f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 12 09:31:20 2009 -0700"
      },
      "message": "Merge branch \u0027cuse\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027cuse\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  CUSE: implement CUSE - Character device in Userspace\n  fuse: export symbols to be used by CUSE\n  fuse: update fuse_conn_init() and separate out fuse_conn_kill()\n  fuse: don\u0027t use inode in fuse_file_poll\n  fuse: don\u0027t use inode in fuse_do_ioctl() helper\n  fuse: don\u0027t use inode in fuse_sync_release()\n  fuse: create fuse_do_open() helper for CUSE\n  fuse: clean up args in fuse_finish_open() and fuse_release_fill()\n  fuse: don\u0027t use inode in helpers called by fuse_direct_io()\n  fuse: add members to struct fuse_file\n  fuse: prepare fuse_direct_io() for CUSE\n  fuse: clean up fuse_write_fill()\n  fuse: use struct path in release structure\n  fuse: misc cleanups\n"
    },
    {
      "commit": "151060ac13144208bd7601d17e4c92c59b98072f",
      "tree": "c93ba28042bcb7917c9098b449756cbe84fb0a51",
      "parents": [
        "08cbf542bf24fb0481a54526b177347ae4046f5e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 14 10:54:54 2009 +0900"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 09 11:24:11 2009 +0200"
      },
      "message": "CUSE: implement CUSE - Character device in Userspace\n\nCUSE enables implementing character devices in userspace.  With recent\nadditions of ioctl and poll support, FUSE already has most of what\u0027s\nnecessary to implement character devices.  All CUSE has to do is\nbonding all those components - FUSE, chardev and the driver model -\nnicely.\n\nWhen client opens /dev/cuse, kernel starts conversation with\nCUSE_INIT.  The client tells CUSE which device it wants to create.  As\nthe previous patch made fuse_file usable without associated\nfuse_inode, CUSE doesn\u0027t create super block or inodes.  It attaches\nfuse_file to cdev file-\u003eprivate_data during open and set ff-\u003efi to\nNULL.  The rest of the operation is almost identical to FUSE direct IO\ncase.\n\nEach CUSE device has a corresponding directory /sys/class/cuse/DEVNAME\n(which is symlink to /sys/devices/virtual/class/DEVNAME if\nSYSFS_DEPRECATED is turned off) which hosts \"waiting\" and \"abort\"\namong other things.  Those two files have the same meaning as the FUSE\ncontrol files.\n\nThe only notable lacking feature compared to in-kernel implementation\nis mmap support.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "a6aeeebf5179ea6346249d727bdb9124ce9e2d4c",
      "tree": "7a6d53c980f2682ef0ddaa434cba468ba65aa15a",
      "parents": [
        "f6cab83d77ed7f1fd9e354a166fa94fd57c5cee4",
        "fd9db7297749c05fcf5721ce5393a5a8b8772f2a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 13 16:32:57 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 13 16:32:57 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: destroy bdi on error\n"
    },
    {
      "commit": "67e55205ec55cc7899f1d783f217961596798419",
      "tree": "45dd7351f9721a46ecb448f0571fb10db3259147",
      "parents": [
        "091bf7624d1c90cec9e578a18529f615213ff847"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Fri Apr 24 09:06:53 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 09 10:49:38 2009 -0400"
      },
      "message": "vfs: umount_begin BKL pushdown\n\nPush BKL down into -\u003eumount_begin()\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "08cbf542bf24fb0481a54526b177347ae4046f5e",
      "tree": "75ac556b4fb464172f9e1f4deca7e2d3b7649802",
      "parents": [
        "a325f9b92273d6c64ec56167905b951b9827ec33"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 14 10:54:53 2009 +0900"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:42 2009 +0200"
      },
      "message": "fuse: export symbols to be used by CUSE\n\nExport the following symbols for CUSE.\n\nfuse_conn_put()\nfuse_conn_get()\nfuse_conn_kill()\nfuse_send_init()\nfuse_do_open()\nfuse_sync_release()\nfuse_direct_io()\nfuse_do_ioctl()\nfuse_file_poll()\nfuse_request_alloc()\nfuse_get_req()\nfuse_put_request()\nfuse_request_send()\nfuse_abort_conn()\nfuse_dev_release()\nfuse_dev_operations\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "a325f9b92273d6c64ec56167905b951b9827ec33",
      "tree": "05c80627acf609f12c8117c254c3e1feb2ec5689",
      "parents": [
        "797759aaf31351a1ab1b9130c4f180ce496f46c5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 14 10:54:52 2009 +0900"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:41 2009 +0200"
      },
      "message": "fuse: update fuse_conn_init() and separate out fuse_conn_kill()\n\nUpdate fuse_conn_init() such that it doesn\u0027t take @sb and move bdi\nregistration into a separate function.  Also separate out\nfuse_conn_kill() from fuse_put_super().\n\nThese will be used to implement cuse.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "797759aaf31351a1ab1b9130c4f180ce496f46c5",
      "tree": "2bea6512575202090db75c5e8ab8d27e569df4a2",
      "parents": [
        "d36f248710c05714f37d921258b630bd1456b99f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:41 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:41 2009 +0200"
      },
      "message": "fuse: don\u0027t use inode in fuse_file_poll\n\nUse ff-\u003efc and ff-\u003enodeid instead of file-\u003ef_dentry-\u003ed_inode in the\nfuse_file_poll() implementation.\n\nThis prepares this function for use by CUSE, where the inode is not\nowned by a fuse filesystem.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "d36f248710c05714f37d921258b630bd1456b99f",
      "tree": "025c84f7db1e139a08564611a1534f5bc2b8fd7a",
      "parents": [
        "8b0797a4984de4406de25808e1a424344de543e4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:39 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:39 2009 +0200"
      },
      "message": "fuse: don\u0027t use inode in fuse_do_ioctl() helper\n\nCreate a helper for sending an IOCTL request that doesn\u0027t use a struct\ninode.\n\nThis prepares this function for use by CUSE, where the inode is not\nowned by a fuse filesystem.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "8b0797a4984de4406de25808e1a424344de543e4",
      "tree": "9d473ecf26171ccfdcee4e0a617e9bc994813397",
      "parents": [
        "91fe96b403f8a0a4a8a045a39b1bd549b0da7941"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:39 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:39 2009 +0200"
      },
      "message": "fuse: don\u0027t use inode in fuse_sync_release()\n\nMake fuse_sync_release() a generic helper function that doesn\u0027t need a\nstruct inode pointer.  This makes it suitable for use by CUSE.\n\nChange return value of fuse_release_common() from int to void.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "91fe96b403f8a0a4a8a045a39b1bd549b0da7941",
      "tree": "38188f1dff969c050b26093d806ae0092f8c30b9",
      "parents": [
        "c7b7143c6342b8751d47b03a025ac5c0ac1ae809"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:37 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:37 2009 +0200"
      },
      "message": "fuse: create fuse_do_open() helper for CUSE\n\nCreate a helper for sending an OPEN request that doesn\u0027t need a struct\ninode pointer.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "c7b7143c6342b8751d47b03a025ac5c0ac1ae809",
      "tree": "9bb528e90ba682b96f5a34ff5ee777ab3c260aef",
      "parents": [
        "2106cb18930312af9325d3418e138569c5b903cc"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:37 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:37 2009 +0200"
      },
      "message": "fuse: clean up args in fuse_finish_open() and fuse_release_fill()\n\nMove setting ff-\u003efh, ff-\u003enodeid and file-\u003eprivate_data outside\nfuse_finish_open().  Add -\u003eopen_flags member to struct fuse_file.\n\nThis simplifies the argument passing to fuse_finish_open() and\nfuse_release_fill(), and paves the way for creating an open helper\nthat doesn\u0027t need an inode pointer.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "2106cb18930312af9325d3418e138569c5b903cc",
      "tree": "445ab0ce12d2fbb87513d1b4ef076cf844428ce3",
      "parents": [
        "da5e4714578ff323f7a61af490fc3539e68f188b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:37 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:37 2009 +0200"
      },
      "message": "fuse: don\u0027t use inode in helpers called by fuse_direct_io()\n\nUse ff-\u003efc and ff-\u003enodeid instead of passing down the inode.\n\nThis prepares this function for use by CUSE, where the inode is not\nowned by a fuse filesystem.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "da5e4714578ff323f7a61af490fc3539e68f188b",
      "tree": "d884149d9945f000ed526463058ea0228637c671",
      "parents": [
        "d09cb9d7f6e4cb1dd0cf12ee0d352440291c74cf"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:36 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:36 2009 +0200"
      },
      "message": "fuse: add members to struct fuse_file\n\nAdd new members -\u003efc and -\u003enodeid to struct fuse_file.  This will aid\nin converting functions for use by CUSE, where the inode is not owned\nby a fuse filesystem.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "d09cb9d7f6e4cb1dd0cf12ee0d352440291c74cf",
      "tree": "34955b4d20f9a9cc3b238a9d8117f9a15074afda",
      "parents": [
        "2d698b070382442f817813b9dd0103034e5bca81"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:36 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:36 2009 +0200"
      },
      "message": "fuse: prepare fuse_direct_io() for CUSE\n\nMove code operating on the inode out from fuse_direct_io().\n\nThis prepares this function for use by CUSE, where the inode is not\nowned by a fuse filesystem.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "2d698b070382442f817813b9dd0103034e5bca81",
      "tree": "c3ae1688eacce081bcd815f8991cba5d03d2292e",
      "parents": [
        "b0be46ebf72ca7478c1c4bd0153c42f90e768a03"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:36 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:36 2009 +0200"
      },
      "message": "fuse: clean up fuse_write_fill()\n\nMove out code from fuse_write_fill() which is not common to all\ncallers.  Remove two function arguments which become unnecessary.\n\nAlso remove unnecessary memset(), the request is already initialized\nto zero.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "b0be46ebf72ca7478c1c4bd0153c42f90e768a03",
      "tree": "1c86e5bf8a4d98b1ae00cedc70f51c78702ede3c",
      "parents": [
        "6b2db28a7a2da1064df9e179d9b6d07b0bfe156a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:36 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:36 2009 +0200"
      },
      "message": "fuse: use struct path in release structure\n\nUse struct path instead of separate dentry and vfsmount in\nreq-\u003emisc.release.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "fd9db7297749c05fcf5721ce5393a5a8b8772f2a",
      "tree": "aeb596b24d68a9a12b29f7ac4fa4ba5222942158",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:35 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:35 2009 +0200"
      },
      "message": "fuse: destroy bdi on error\n\nDestroy bdi on error in fuse_fill_super().\n\nThis was an omission from commit 26c3679101dbccc054dcf370143941844ba70531\n\"fuse: destroy bdi on umount\", which moved the bdi_destroy() call from\nfuse_conn_put() to fuse_put_super().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "6b2db28a7a2da1064df9e179d9b6d07b0bfe156a",
      "tree": "9e24b6876a7b91de466e8a87523a41de694d2148",
      "parents": [
        "fd9db7297749c05fcf5721ce5393a5a8b8772f2a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 14 10:54:49 2009 +0900"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Apr 28 16:56:35 2009 +0200"
      },
      "message": "fuse: misc cleanups\n\n* fuse_file_alloc() was structured in weird way.  The success path was\n  split between else block and code following the block.  Restructure\n  the code such that it\u0027s easier to read and modify.\n\n* Unindent success path of fuse_release_common() to ease future\n  changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "3121bfe7631126d1b13064855ac2cfa164381bb0",
      "tree": "18cb4b7eba9783682df5d8c2799f87cbe55ca610",
      "parents": [
        "ce60a2f15764f296b0467960759351702c7d2986"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Apr 09 17:37:53 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Apr 09 17:37:53 2009 +0200"
      },
      "message": "fuse: fix \"direct_io\" private mmap\n\nMAP_PRIVATE mmap could return stale data from the cache for\n\"direct_io\" files.  Fix this by flushing the cache on mmap. \n\nFound with a slightly modified fsx-linux.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "ce60a2f15764f296b0467960759351702c7d2986",
      "tree": "ba5a61daee91b252face877b02b707be3636e488",
      "parents": [
        "f4efdd65b754ebbf41484d3a2255c59282720650"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Apr 09 17:37:52 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Apr 09 17:37:52 2009 +0200"
      },
      "message": "fuse: fix argument type in fuse_get_user_pages()\n\nFix the following warning:\n\nfs/fuse/file.c: In function \u0027fuse_direct_io\u0027:\nfs/fuse/file.c:1002: warning: passing argument 3 of \u0027fuse_get_user_pages\u0027 from incompatible pointer type\n\nThis was introduced by commit f4975c67 \"fuse: allow kernel to access\n\"direct_io\" files\".\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "fc280c9692031ee41545d6bea00bbb7c7dec97a9",
      "tree": "bff08b2710b2086698736d66cef403c6e2975ca9",
      "parents": [
        "f4975c67dd9ad8eb47a4c77af0521a2b16ee0197"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Apr 02 14:25:35 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Apr 02 14:25:35 2009 +0200"
      },
      "message": "fuse: allow private mappings of \"direct_io\" files\n\nAllow MAP_PRIVATE mmaps of \"direct_io\" files.  This is necessary for\nexecute support.\n\nMAP_SHARED mappings require some sort of coherency between the\nunderlying file and the mapping.  With \"direct_io\" it is difficult to\nprovide this, so for the moment just disallow shared (read-write and\nread-only) mappings altogether.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "f4975c67dd9ad8eb47a4c77af0521a2b16ee0197",
      "tree": "4d4642e04e40f4835df9a18192da53b98b206bf8",
      "parents": [
        "833bb3046b6cb320e775ea2160ddca87d53260d5"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Apr 02 14:25:34 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Apr 02 14:25:34 2009 +0200"
      },
      "message": "fuse: allow kernel to access \"direct_io\" files\n\nAllow the kernel read and write on \"direct_io\" files.  This is\nnecessary for nfs export and execute support.\n\nThe implementation is simple: if an access from the kernel is\ndetected, don\u0027t perform get_user_pages(), just use the kernel address\nprovided by the requester to copy from/to the userspace filesystem.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "c2ec175c39f62949438354f603f4aa170846aabb",
      "tree": "f2c9bf1bec2deabe2d3a5092405b027637b6ead3",
      "parents": [
        "c2fdf3a9b2d52842808a8e551b53b55dd9b45030"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Mar 31 15:23:21 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 01 08:59:14 2009 -0700"
      },
      "message": "mm: page_mkwrite change prototype to match fault\n\nChange the page_mkwrite prototype to take a struct vm_fault, and return\nVM_FAULT_xxx flags.  There should be no functional change.\n\nThis makes it possible to return much more detailed error information to\nthe VM (and also can provide more information eg.  virtual_address to the\ndriver, which might be important in some special cases).\n\nThis is required for a subsequent fix.  And will also make it easier to\nmerge page_mkwrite() with fault() in future.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Joel Becker \u003cjoel.becker@oracle.com\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5291658d87ac1ae60418e79e7b6bad7d5f595e0c",
      "tree": "e91cba2f5e73a5a93fcff6e866ebae737fee1e5c",
      "parents": [
        "0d34fb8e93ceba7b6dad0062dbb4a0813bacd75b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Fri Mar 27 13:36:10 2009 +0300"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Mar 30 17:26:24 2009 +0200"
      },
      "message": "fuse: fix fuse_file_lseek returning with lock held\n\nThis bug was found with smatch (http://repo.or.cz/w/smatch.git/).  If\nwe return directly the inode-\u003ei_mutex lock doesn\u0027t get released.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "4269590a72934bb901b33b686e20605bf66653c4",
      "tree": "6e70362f5f29c0a0da151291ade3d3db9123fd4b",
      "parents": [
        "d72f71eb0edd629c95715aa7305b0259d3581e34"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 05:59:13 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:01 2009 -0400"
      },
      "message": "constify dentry_operations: FUSE\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a1c70a756f8d756668acdbfd61dfc14de12fbaea",
      "tree": "5e52ff5fae536b8096f73b792112bcfd812d3edd",
      "parents": [
        "3632dee2f8b8a9720329f29eeaa4ec4669a3aff8",
        "0fcb44088970b18eaf2df4579d64840be6e3bf39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:08:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:08:50 2009 -0800"
      },
      "message": "Merge branch \u0027Kconfig\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/misc\n\n* \u0027Kconfig\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/misc: (36 commits)\n  fs/Kconfig: move 9p out\n  fs/Kconfig: move afs out\n  fs/Kconfig: move coda out\n  fs/Kconfig: move the rest of ncpfs out\n  fs/Kconfig: move smbfs out\n  fs/Kconfig: move sunrpc out\n  fs/Kconfig: move nfsd out\n  fs/Kconfig: move nfs out\n  fs/Kconfig: move ufs out\n  fs/Kconfig: move sysv out\n  fs/Kconfig: move romfs out\n  fs/Kconfig: move qnx4 out\n  fs/Kconfig: move hpfs out\n  fs/Kconfig: move omfs out\n  fs/Kconfig: move minix out\n  fs/Kconfig: move vxfs out\n  fs/Kconfig: move squashfs out\n  fs/Kconfig: move cramfs out\n  fs/Kconfig: move efs out\n  fs/Kconfig: move bfs out\n  ...\n"
    },
    {
      "commit": "f6d47a1761896dcd89e3184399a8962dff17267d",
      "tree": "60a7f1eee203f07db6f2a9d890b8ec78f190ea57",
      "parents": [
        "26c3679101dbccc054dcf370143941844ba70531"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jan 26 15:00:59 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.de",
        "time": "Mon Jan 26 15:00:59 2009 +0100"
      },
      "message": "fuse: fix poll notify\n\nMove fuse_copy_finish() to before calling fuse_notify_poll_wakeup().\nThis is not a big issue because fuse_notify_poll_wakeup() should be\natomic, but it\u0027s cleaner this way, and later uses of notification will\nneed to be able to finish the copying before performing some actions.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "26c3679101dbccc054dcf370143941844ba70531",
      "tree": "983066c18cacdd2d96534040d076dd66310acfe5",
      "parents": [
        "c2b8f006909b9bf9e165dfdf3c378527938c4497"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jan 26 15:00:59 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.de",
        "time": "Mon Jan 26 15:00:59 2009 +0100"
      },
      "message": "fuse: destroy bdi on umount\n\nIf a fuse filesystem is unmounted but the device file descriptor\nremains open and a new mount reuses the old device number, then the\nmount fails with EEXIST and the following warning is printed in the\nkernel log:\n\n  WARNING: at fs/sysfs/dir.c:462 sysfs_add_one+0x35/0x3d()\n  sysfs: duplicate filename \u00270:15\u0027 can not be created\n\nThe cause is that the bdi belonging to the fuse filesystem was\ndestoryed only after the device file was released.  Fix this by\ncalling bdi_destroy() from fuse_put_super() instead.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "c2b8f006909b9bf9e165dfdf3c378527938c4497",
      "tree": "6e9549ba41936078a5d9e46fbc150bf3aa6f57be",
      "parents": [
        "3ddf1e7f57237ac7c5d5bfb7058f1ea4f970b661"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jan 26 15:00:58 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.de",
        "time": "Mon Jan 26 15:00:58 2009 +0100"
      },
      "message": "fuse: fuse_fill_super error handling cleanup\n\nClean up error handling for the whole of fuse_fill_super() function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "3ddf1e7f57237ac7c5d5bfb7058f1ea4f970b661",
      "tree": "2a1761f7bcd44a2474f34ff6590f7fe95f396732",
      "parents": [
        "bb875b38dc5e343bdb696b2eab8233e4d195e208"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Jan 26 15:00:58 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.de",
        "time": "Mon Jan 26 15:00:58 2009 +0100"
      },
      "message": "fuse: fix missing fput on error\n\nFix the leaking file reference if allocation or initialization of\nfuse_conn failed.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "bb875b38dc5e343bdb696b2eab8233e4d195e208",
      "tree": "45ee0918e29eeb39e72ca0cdc9321ef8960370b6",
      "parents": [
        "f3b8436ad9a8ad36b3c9fa1fe030c7f38e5d3d0b"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Jan 26 15:00:58 2009 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.de",
        "time": "Mon Jan 26 15:00:58 2009 +0100"
      },
      "message": "fuse: fix NULL deref in fuse_file_alloc()\n\nff is set to NULL and then dereferenced on line 65.  Compile tested only.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: stable@kernel.org\n"
    },
    {
      "commit": "3ef7784e47975e31148c25b6fa795949fdc16d9c",
      "tree": "452d3f8e2e04fa74fc9f7d477fff05b4e1d8c858",
      "parents": [
        "90ffd467933eaf581e11fec51e7ba16fc9bd542d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 10:33:25 2009 +0300"
      },
      "committer": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jan 22 13:15:55 2009 +0300"
      },
      "message": "fs/Kconfig: move fuse out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "5fec8bdbf9a1c4df4ad3f20e52aa2d8caed490c8",
      "tree": "e8c1b1a9f3ea6b6a0edb972f082d0d7338c98af4",
      "parents": [
        "59e3af21e94bd56f6a31ba774786a2bfc753581b",
        "5d9ec854bfb6f1e122b1d96b344164a71eac5be8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:01:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 17:01:20 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: clean up annotations of fc-\u003elock\n  fuse: fix sparse warning in ioctl\n  fuse: update interface version\n  fuse: add fuse_conn-\u003erelease()\n  fuse: separate out fuse_conn_init() from new_conn()\n  fuse: add fuse_ prefix to several functions\n  fuse: implement poll support\n  fuse: implement unsolicited notification\n  fuse: add file kernel handle\n  fuse: implement ioctl support\n  fuse: don\u0027t let fuse_req-\u003eend() put the base reference\n  fuse: move FUSE_MINOR to miscdevice.h\n  fuse: style fixes\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d9ec854bfb6f1e122b1d96b344164a71eac5be8",
      "tree": "ed74270562b414a35919da5b0fa372e10ebaf254",
      "parents": [
        "c9f0523d88fd208ce094995a0ac63f7c04e56bab"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Dec 02 14:49:42 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.de",
        "time": "Tue Dec 02 14:49:42 2008 +0100"
      },
      "message": "fuse: clean up annotations of fc-\u003elock\n\nMakes the existing annotations match the more common one per line style\nand adds a few missing annotations.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "c9f0523d88fd208ce094995a0ac63f7c04e56bab",
      "tree": "38c8d80f60a9e738261f25d35c62ee747403414a",
      "parents": [
        "1f55ed06cf0c361b293b32e5947d35d173eff2aa"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Dec 02 14:49:42 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.de",
        "time": "Tue Dec 02 14:49:42 2008 +0100"
      },
      "message": "fuse: fix sparse warning in ioctl\n\nFix sparse warning:\n\n  CHECK   fs/fuse/file.c\nfs/fuse/file.c:1615:17: warning: incorrect type in assignment (different address spaces)\nfs/fuse/file.c:1615:17:    expected void [noderef] \u003casn:1\u003e*iov_base\nfs/fuse/file.c:1615:17:    got void *\u003cnoident\u003e\n\nThis was introduced by \"fuse: implement ioctl support\".\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "43901aabd7a043e62e24e9459dc4949b4cd69f07",
      "tree": "a3c111b3110852bd46a62b31bd510f08d6b20e88",
      "parents": [
        "0d179aa59285ceef529c125e181cbb79ff5245c2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:56 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:56 2008 +0100"
      },
      "message": "fuse: add fuse_conn-\u003erelease()\n\nAdd fuse_conn-\u003erelease() so that fuse_conn can be embedded in other\nstructures.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "0d179aa59285ceef529c125e181cbb79ff5245c2",
      "tree": "c044a2df496b362eee7dec5b176a14b0937b0725",
      "parents": [
        "b93f858ab2a4bee779c360002f313ad6c3504cdc"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: separate out fuse_conn_init() from new_conn()\n\nSeparate out fuse_conn_init() from new_conn() and while at it\ninitialize fuse_conn-\u003eentry during conn initialization.\n\nThis will be used by CUSE.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "b93f858ab2a4bee779c360002f313ad6c3504cdc",
      "tree": "0523108e8c76035f35a3712ced5bf8e329731c78",
      "parents": [
        "95668a69a4bb862063c4d28a746e55107dee7b98"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: add fuse_ prefix to several functions\n\nAdd fuse_ prefix to request_send*() and get_root_inode() as some of\nthose functions will be exported for CUSE.  With or without CUSE\nexport, having the function names scoped is a good idea for\ndebuggability.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "95668a69a4bb862063c4d28a746e55107dee7b98",
      "tree": "0679e0f43274648bad70e694a9efb8bcfed55adc",
      "parents": [
        "8599396b5062bf6bd2a0b433503849e2322df1c2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: implement poll support\n\nImplement poll support.  Polled files are indexed using kh in a RB\ntree rooted at fuse_conn-\u003epolled_files.\n\nClient should send FUSE_NOTIFY_POLL notification once after processing\nFUSE_POLL which has FUSE_POLL_SCHEDULE_NOTIFY set.  Sending\nnotification unconditionally after the latest poll or everytime file\ncontent might have changed is inefficient but won\u0027t cause malfunction.\n\nfuse_file_poll() can sleep and requires patches from the following\nthread which allows f_op-\u003epoll() to sleep.\n\n  http://thread.gmane.org/gmane.linux.kernel/726176\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "8599396b5062bf6bd2a0b433503849e2322df1c2",
      "tree": "8ce5f253eaf5fe28324c497db780d824ea60bb5c",
      "parents": [
        "acf99433d98c2570a619d8fb8b51abce4e532059"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: implement unsolicited notification\n\nClients always used to write only in response to read requests.  To\nimplement poll efficiently, clients should be able to issue\nunsolicited notifications.  This patch implements basic notification\nsupport.\n\nZero fuse_out_header.unique is now accepted and considered unsolicited\nnotification and the error field contains notification code.  This\npatch doesn\u0027t implement any actual notification.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "acf99433d98c2570a619d8fb8b51abce4e532059",
      "tree": "3d8c6933448ad67c4343808113c7ee8f41050349",
      "parents": [
        "59efec7b903987dcb60b9ebc85c7acd4443a11a1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: add file kernel handle\n\nThe file handle, fuse_file-\u003efh, is opaque value supplied by userland\nFUSE server and uniqueness is not guaranteed.  Add file kernel handle,\nfuse_file-\u003ekh, which is allocated by the kernel on file allocation and\nguaranteed to be unique.\n\nThis will be used by poll to match notification to the respective file\nbut can be used for other purposes where unique file handle is\nnecessary.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "59efec7b903987dcb60b9ebc85c7acd4443a11a1",
      "tree": "1287e817201fcb4008917b2bffd378c36540622b",
      "parents": [
        "e9bb09dd6c5b8ec6a971ed6251df5eba3a4c8d3c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: implement ioctl support\n\nGeneric ioctl support is tricky to implement because only the ioctl\nimplementation itself knows which memory regions need to be read\nand/or written.  To support this, fuse client can request retry of\nioctl specifying memory regions to read and write.  Deep copying\n(nested pointers) can be implemented by retrying multiple times\nresolving one depth of dereference at a time.\n\nFor security and cleanliness considerations, ioctl implementation has\nrestricted mode where the kernel determines data transfer directions\nand sizes using the _IOC_*() macros on the ioctl command.  In this\nmode, retry is not allowed.\n\nFor all FUSE servers, restricted mode is enforced.  Unrestricted ioctl\nwill be used by CUSE.\n\nPlese read the comment on top of fs/fuse/file.c::fuse_file_do_ioctl()\nfor more information.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "e9bb09dd6c5b8ec6a971ed6251df5eba3a4c8d3c",
      "tree": "5012a2046330c00f41fd65dc20867b01b80eee5d",
      "parents": [
        "193da6092764ab693da7170c5badbf60d7758c1d"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:54 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:54 2008 +0100"
      },
      "message": "fuse: don\u0027t let fuse_req-\u003eend() put the base reference\n\nfuse_req-\u003eend() was supposed to be put the base reference but there\u0027s\nno reason why it should.  It only makes things more complex.  Move it\nout of -\u003eend() and make it the responsibility of request_end().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "1729a16c2c92bbd9e54ac7cad3101fea2e073aa5",
      "tree": "6814c8f122d6e7e6993d3af6ea427b3958b9a4f2",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 26 12:03:54 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:54 2008 +0100"
      },
      "message": "fuse: style fixes\n\nFix coding style errors reported by checkpatch and others.  Uptdate\ncopyright date to 2008.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "c69e8d9c01db2adc503464993c358901c9af9de4",
      "tree": "bed94aaa9aeb7a7834d1c880f72b62a11a752c78",
      "parents": [
        "86a264abe542cfececb4df129bc45a0338d8cdb9"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:19 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:19 2008 +1100"
      },
      "message": "CRED: Use RCU to access another task\u0027s creds and to release a task\u0027s own creds\n\nUse RCU to access another task\u0027s creds and to release a task\u0027s own creds.\nThis means that it will be possible for the credentials of a task to be\nreplaced without another task (a) requiring a full lock to read them, and (b)\nseeing deallocated memory.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "b6dff3ec5e116e3af6f537d4caedcad6b9e5082a",
      "tree": "9e76f972eb7ce9b84e0146c8e4126a3f86acb428",
      "parents": [
        "15a2460ed0af7538ca8e6c610fe607a2cd9da142"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:16 2008 +1100"
      },
      "message": "CRED: Separate task security context from task_struct\n\nSeparate the task security context from task_struct.  At this point, the\nsecurity data is temporarily embedded in the task_struct with two pointers\npointing to it.\n\nNote that the Alpha arch is altered as it refers to (E)UID and (E)GID in\nentry.S via asm-offsets.\n\nWith comment fixes Signed-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "2186a71cbcddda946dd3cfccd5285e210ec3af10",
      "tree": "8e996f7d8c227184508a2ca09502a53e9e015764",
      "parents": [
        "f0ce7ee3a8ec1e80b6f460983ef1f26e603026f5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:53 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:53 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the FUSE filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: fuse-devel@lists.sourceforge.net\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "233e70f4228e78eb2f80dc6650f65d3ae3dbf17c",
      "tree": "4e18fbe1851e6d2161b7f18265cb21f8a61e3ce7",
      "parents": [
        "3318a386e4ca68c76e0294363d29bdc46fcad670"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Oct 31 23:28:30 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 01 09:49:46 2008 -0700"
      },
      "message": "saner FASYNC handling on file close\n\nAs it is, all instances of -\u003erelease() for files that have -\u003efasync()\nneed to remember to evict file from fasync lists; forgetting that\ncreates a hole and we actually have a bunch that *does* forget.\n\nSo let\u0027s keep our lives simple - let __fput() check FASYNC in\nfile-\u003ef_flags and call -\u003efasync() there if it\u0027s been set.  And lose that\ncrap in -\u003erelease() instances - leaving it there is still valid, but we\ndon\u0027t have to bother anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "440037287c5ebb07033ab927ca16bb68c291d309",
      "tree": "c4be3843ea87a777c2647f471895917005d8068f",
      "parents": [
        "4ea3ada2955e4519befa98ff55dd62d6dfbd1705"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 11 15:49:04 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:01 2008 -0400"
      },
      "message": "[PATCH] switch all filesystems over to d_obtain_alias\n\nSwitch all users of d_alloc_anon to d_obtain_alias.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a7c1b990f71574e077b94ce4582e2cf11cb891fe",
      "tree": "9192239167f6047c4f5fbc64d530904ac4f8de86",
      "parents": [
        "29d434b39c807320fbe4bcdce0ab98a0b9fcb285"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 16 16:08:57 2008 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Oct 16 16:08:57 2008 +0200"
      },
      "message": "fuse: implement nonseekable open\n\nLet the client request nonseekable open using FOPEN_NONSEEKABLE and\ncall nonseekable_open() on the file if requested.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "29d434b39c807320fbe4bcdce0ab98a0b9fcb285",
      "tree": "abb2db88d67449332dbc209a6e3724a3412f6a9c",
      "parents": [
        "37194d0723b9b68b4b299b2564ca99e3d0a094c3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 16 16:08:57 2008 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Oct 16 16:08:57 2008 +0200"
      },
      "message": "fuse: add include protectors\n\nAdd include protectors to include/linux/fuse.h and fs/fuse/fuse_i.h.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "17e18ab6ff6ec44e95514c7346d2cbd0363ef640",
      "tree": "db4eeaa3b77c86d70feed64f1955cf545b0ff53a",
      "parents": [
        "769415c61191bc860f60c6edc3cb7cba24fb3218"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Thu Oct 16 16:08:56 2008 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Oct 16 16:08:56 2008 +0200"
      },
      "message": "fuse: add missing fuse_request_free\n\nThe error handling code for the second call to fuse_request_alloc should\ninclude freeing the result of the first one.\n\nThis bug was found by the Coccinelle project:\n\n  http://www.emn.fr/x-info/coccinelle/\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "769415c61191bc860f60c6edc3cb7cba24fb3218",
      "tree": "c9ca5eb8afd1e4848967c3ec5a0a97dcda395e3f",
      "parents": [
        "04ab591808565f968d4406f6435090ad671ebdab"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 16 16:08:56 2008 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Oct 16 16:08:56 2008 +0200"
      },
      "message": "fuse: fix SEEK_END incorrectness\n\nUpdate file size before using it in lseek(..., SEEK_END).\n\nReported-by: Amnon Shiloh \u003cu3557@miso.sublimeip.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "a447c0932445f92ce6f4c1bd020f62c5097a7842",
      "tree": "bacf05bc7f9764515cdd6f7dc5e2254776b4f160",
      "parents": [
        "54cebc68c81eacac41a21bdfe99dc889d3882c60"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Oct 13 10:46:57 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 13 10:10:37 2008 -0700"
      },
      "message": "vfs: Use const for kernel parser table\n\nThis is a much better version of a previous patch to make the parser\ntables constant. Rather than changing the typedef, we put the \"const\" in\nall the various places where its required, allowing the __initconst\nexception for nfsroot which was the cause of the previous trouble.\n\nThis was posted for review some time ago and I believe its been in -mm\nsince then.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a110343f0d6d41f68b7cf8c00b57a3172c67f816",
      "tree": "04f57e3454e796765a7395d2ece4739cf536ae9f",
      "parents": [
        "7f2da1e7d0330395e5e9e350b879b98a1ea495df"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jul 17 09:19:08 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:21 2008 -0400"
      },
      "message": "[PATCH] fix MAY_CHDIR/MAY_ACCESS/LOOKUP_ACCESS mess\n\n* MAY_CHDIR is redundant - it\u0027s an equivalent of MAY_ACCESS\n* MAY_ACCESS on fuse should affect only the last step of pathname resolution\n* fchdir() and chroot() should pass MAY_ACCESS, for the same reason why\n  chdir() needs that.\n* now that we pass MAY_ACCESS explicitly in all cases, LOOKUP_ACCESS can be\n  removed; it has no business being in nameidata.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2f1936b87783a3a56c9441b27b9ba7a747f11e8e",
      "tree": "024a0f3da74ba6365f209d03685133760146149b",
      "parents": [
        "c82e42da8a6b2f3a85dc4d4278cb8238702f8f64"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 24 16:50:14 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:16 2008 -0400"
      },
      "message": "[patch 3/5] vfs: change remove_suid() to file_remove_suid()\n\nAll calls to remove_suid() are made with a file pointer, because\n(similarly to file_update_time) it is called when the file is written.\n\nClean up callers by passing in a file instead of a dentry.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695",
      "tree": "8a95bd0e27fb3ce895cca9ef91af2e1605e4cdab",
      "parents": [
        "1bd5191d9f5d1928c4efdf604c4164b04bb88dbe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 15 21:03:57 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 26 20:53:14 2008 -0400"
      },
      "message": "[PATCH] sanitize -\u003epermission() prototype\n\n* kill nameidata * argument; map the 3 bits in -\u003eflags anybody cares\n  about to new MAY_... ones and pass with the mask.\n* kill redundant gfs2_iop_permission()\n* sanitize ecryptfs_permission()\n* fix remaining places where -\u003epermission() instances might barf on new\n  MAY_... found in mask.\n\nThe obvious next target in that direction is permission(9)\n\nfolded fix for nfs_permission() breakage from Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51cc50685a4275c6a02653670af9f108a64e01cf",
      "tree": "819d47bd2b0c8a9d1835d863853804b0a0242b97",
      "parents": [
        "d91958815d214ea365b98cbff6215383897edcb6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Jul 25 19:45:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:07 2008 -0700"
      },
      "message": "SL*B: drop kmem cache argument from constructor\n\nKmem cache passed to constructor is only needed for constructors that are\nthemselves multiplexeres.  Nobody uses this \"feature\", nor does anybody uses\npassed kmem cache in non-trivial way, so pass only pointer to object.\n\nNon-trivial places are:\n\tarch/powerpc/mm/init_64.c\n\tarch/powerpc/mm/hugetlbpage.c\n\nThis is flag day, yes.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jon Tollefson \u003ckniht@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\n[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]\n[akpm@linux-foundation.org: fix mm/slab.c]\n[akpm@linux-foundation.org: fix ubifs]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "48e90761b570ff57f58b726229d229729949c5bb",
      "tree": "be2ab7ed5710223c46f39afd276c964506a7db40",
      "parents": [
        "33670fa296860283f04a7975b8c790f101e43a6e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Jul 25 01:49:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:48 2008 -0700"
      },
      "message": "fuse: lockd support\n\nIf fuse filesystem doesn\u0027t define it\u0027s own lock operations, then allow the\nlock manager to work with fuse.\n\nAdding lockd support for remote locking is also possible, but more rarely\nused, so leave it till later.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33670fa296860283f04a7975b8c790f101e43a6e",
      "tree": "61162737edbffe696f4f9b13998d192cd3be3f75",
      "parents": [
        "c180eebe1390c2076ead6a9bc95a02efb994edb7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Jul 25 01:49:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:48 2008 -0700"
      },
      "message": "fuse: nfs export special lookups\n\nImplement the get_parent export operation by sending a LOOKUP request with\n\"..\" as the name.\n\nImplement looking up an inode by node ID after it has been evicted from\nthe cache.  This is done by seding a LOOKUP request with \".\" as the name\n(for all file types, not just directories).\n\nThe filesystem can set the FUSE_EXPORT_SUPPORT flag in the INIT reply, to\nindicate that it supports these special lookups.\n\nThanks to John Muir for the original implementation of this feature.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c180eebe1390c2076ead6a9bc95a02efb994edb7",
      "tree": "5cbd2872d0ba66d20e5f03fd97aa0357576d77ad",
      "parents": [
        "dbd561d236ff16f8143bc727d91758ddd190e8cb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Jul 25 01:49:01 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:48 2008 -0700"
      },
      "message": "fuse: add fuse_lookup_name() helper\n\nAdd a new helper function which sends a LOOKUP request with the supplied\nname.  This will be used by the next patch to send special LOOKUP requests\nwith \".\" and \"..\" as the name.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dbd561d236ff16f8143bc727d91758ddd190e8cb",
      "tree": "aac8fb4d98c3f425b2f5bf404af7d82182f19bc0",
      "parents": [
        "0de6256daafa3a97a269995e9b29f956bd419bbf"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Jul 25 01:49:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:48 2008 -0700"
      },
      "message": "fuse: add export operations\n\nImplement export_operations, to allow fuse filesystems to be exported to\nNFS.  This feature has been in the out-of-tree fuse module, and is widely\nused and tested.\n\nIt has not been originally merged into mainline, because doing the NFS\nexport in userspace was thought to be a cleaner and more efficient way of\ndoing it, than through the kernel.\n\nWhile that is true, it would also have involved a lot of duplicated effort\nat reimplementing NFS exporting (all the different versions of the\nprotocol).  This effort was unfortunately not undertaken by anyone, so we\nare left with doing it the easy but less efficient way.\n\nIf this feature goes in, the out-of-tree fuse module can go away,\nwhich would have several advantages:\n\n  - not having to maintain two versions\n  - less confusion for users\n  - no bugs due to kernel API changes\n\nComment from hch:\n - Use the same fh_type values as XFS, since we use the same fh encoding.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0de6256daafa3a97a269995e9b29f956bd419bbf",
      "tree": "f71f080b3a895d25e6b956de72220e1e03464751",
      "parents": [
        "764c76b371722e0cba5c24d91225f0f954b69d44"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Jul 25 01:48:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:48 2008 -0700"
      },
      "message": "fuse: prepare lookup for nfs export\n\nUse d_splice_alias() instead of d_add() in fuse lookup code, to allow NFS\nexporting.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f948d56435fc1f7506f08866302ecd6e60b533dd",
      "tree": "eb729171e36e53888ed9dd7033e3dee1b2a682e0",
      "parents": [
        "cd50e89244087432a70598e432ff199a009b0e73"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 17 18:05:40 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 17 18:08:10 2008 -0700"
      },
      "message": "fuse: fix thinko in max I/O size calucation\n\nUse max not min to enforce a lower limit on the max I/O size.\n\nThis bug was introduced by \"fuse: fix max i/o size calculation\" (commit\ne5d9a0df07484d6d191756878c974e4307fb24ce).\n\nThanks to Brian Wang for noticing.\n\nReported-by: Brian Wang \u003cywang221@hotmail.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nAcked-by: Szabolcs Szakacsits \u003cszaka@ntfs-3g.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03fb0bce01490c9bdedad861962c76f987531014",
      "tree": "882f233f910b40042c9ce7f026e373e797647e04",
      "parents": [
        "42172d751b4596b8ca4346a1c251b5f1c661ab0c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri May 23 13:04:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 24 09:56:07 2008 -0700"
      },
      "message": "fuse: fix bdi naming conflict\n\nFuse allocates a separate bdi for each filesystem, and registers them\nin sysfs with \"MAJOR:MINOR\" of sb-\u003es_dev (st_dev).  This works fine for\nanon devices normally used by fuse, but can conflict with an already\nregistered BDI for \"fuseblk\" filesystems, where sb-\u003es_dev represents a\nreal block device.  In particularl this happens if a non-partitioned\ndevice is being mounted.\n\nFix by registering with a different name for \"fuseblk\" filesystems.\n\nThanks to Ioan Ionita for the bug report.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nReported-by: Ioan Ionita \u003copslynx@gmail.com\u003e\nTested-by: Ioan Ionita \u003copslynx@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b",
      "tree": "330cc4fd17af9176ae9e2ee833e1097638fd1b30",
      "parents": [
        "0f146a764ff08c4c210c04239c5e6784b4b77485"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon May 12 14:02:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:26 2008 -0700"
      },
      "message": "fuse: add flag to turn on big writes\n\nPrior to 2.6.26 fuse only supported single page write requests.  In theory all\nfuse filesystem should be able support bigger than 4k writes, as there\u0027s\nnothing in the API to prevent it.  Unfortunately there\u0027s a known case in\nNTFS-3G where big writes cause filesystem corruption.  There could also be\nother filesystems, where the lack of testing with big write requests would\nresult in bugs.\n\nTo prevent such problems on a kernel upgrade, disable big writes by default,\nbut let filesystems set a flag to turn it on.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Szabolcs Szakacsits \u003cszaka@ntfs-3g.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bd7309677c937bf23296f6c81027123c84c5cc5c",
      "tree": "b5dfaf691425424c5f4a1ed23c1e019a111808fa",
      "parents": [
        "3dfcf9c4bf1fda4aa75861bcf6c50607dd322fe5"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu May 01 04:35:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:02 2008 -0700"
      },
      "message": "fuse: use clamp() rather than nested min/max\n\nclamp() exists for this use.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4dbf930ed6c1f8aa992937d0461f8f70d4004aad",
      "tree": "978e8da5bbc97a3cfc9b44b810b0f9521154886e",
      "parents": [
        "5559b8f4d1f630b8614b6c8e13b8bf6c9c45d7d7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "fuse: fix sparse warnings\n\nfs/fuse/dev.c:306:2: warning: context imbalance in \u0027wait_answer_interruptible\u0027 - unexpected unlock\nfs/fuse/dev.c:361:2: warning: context imbalance in \u0027request_wait_answer\u0027 - unexpected unlock\nfs/fuse/dev.c:1002:4: warning: context imbalance in \u0027end_io_requests\u0027 - unexpected unlock\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5559b8f4d1f630b8614b6c8e13b8bf6c9c45d7d7",
      "tree": "69db92193c0b27a493334ec1ecad456e75c8e257",
      "parents": [
        "b48badf013018ef2aa4a46416454bdb18f77fb01"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "fuse: fix race in llseek\n\nFuse doesn\u0027t use i_mutex to protect setting i_size, and so\ngeneric_file_llseek() can be racy: it doesn\u0027t use i_size_read().\n\nSo do a fuse specific llseek method, which does use i_size_read().\n\n[akpm@linux-foundation.org: make `retval\u0027 loff_t]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b48badf013018ef2aa4a46416454bdb18f77fb01",
      "tree": "62ac36c4699c47174fbfbb4d87c6d98988378346",
      "parents": [
        "e5d9a0df07484d6d191756878c974e4307fb24ce"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "fuse: fix node ID type\n\nNode ID is 64bit but it is passed as unsigned long to some functions.  This\nbreakage wasn\u0027t noticed, because libfuse uses unsigned long too.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e5d9a0df07484d6d191756878c974e4307fb24ce",
      "tree": "b3117ed75242e523dd7c2ff9fc0878b78c7fcb0c",
      "parents": [
        "5c5c5e51b26413d50a9efae2ca7d6c5c6cd453ac"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:51 2008 -0700"
      },
      "message": "fuse: fix max i/o size calculation\n\nFix a bug that Werner Baumann reported: fuse can send a bigger write request\nthan the maximum specified.  This only affected direct_io operation.\n\nIn addition set a sane minimum for the max_read and max_write tunables, so I/O\nalways makes some progress.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "5c5c5e51b26413d50a9efae2ca7d6c5c6cd453ac"
}
