)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "5c5c5e51b26413d50a9efae2ca7d6c5c6cd453ac",
      "tree": "4f78209ad05e429a0b89658e495fca9b9262d81d",
      "parents": [
        "ea9b9907b82a09bd1a708004454f7065de77c5b0"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:43 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "fuse: update file size on short read\n\nIf the READ request returned a short count, then either\n\n  - cached size is incorrect\n  - filesystem is buggy, as short reads are only allowed on EOF\n\nSo assume that the size is wrong and refresh it, so that cached read() doesn\u0027t\nzero fill the missing chunk.\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": "ea9b9907b82a09bd1a708004454f7065de77c5b0",
      "tree": "5a8a4f1e41efac6a2c1292adc3aa4a01f2ffd62f",
      "parents": [
        "854512ec358f291bcadd7daea10d6bf3704933de"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Apr 30 00:54:42 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "fuse: implement perform_write\n\nIntroduce fuse_perform_write.  With fusexmp (a passthrough filesystem), large\n(1MB) writes into a backing tmpfs filesystem are sped up by almost 4 times\n(256MB/s vs 71MB/s).\n\n[mszeredi@suse.cz]:\n\n - split into smaller functions\n - testing\n - duplicate generic_file_aio_write(), so that there\u0027s no need to add a\n   new -\u003eperform_write() a_op.  Comment from hch.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "854512ec358f291bcadd7daea10d6bf3704933de",
      "tree": "eb587b95df2200c9765e1feb8cdf16ef3fbb9983",
      "parents": [
        "3be5a52b30aa5cf9d795b7634f728f612197b1c4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "fuse: clean up setting i_size in write\n\nExtract common code for setting i_size in write functions into a common\nhelper.\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": "3be5a52b30aa5cf9d795b7634f728f612197b1c4",
      "tree": "5a78251a351e273cf2061a527a381c7ba256fc15",
      "parents": [
        "b88473f73e6d7b6af9cfc4ecc349d82c75d9a6af"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:41 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:50 2008 -0700"
      },
      "message": "fuse: support writable mmap\n\nQuoting Linus (3 years ago, FUSE inclusion discussions):\n\n  \"User-space filesystems are hard to get right. I\u0027d claim that they\n   are almost impossible, unless you limit them somehow (shared\n   writable mappings are the nastiest part - if you don\u0027t have those,\n   you can reasonably limit your problems by limiting the number of\n   dirty pages you accept through normal \"write()\" calls).\"\n\nInstead of attempting the impossible, I\u0027ve just waited for the dirty page\naccounting infrastructure to materialize (thanks to Peter Zijlstra and\nothers).  This nicely solved the biggest problem: limiting the number of pages\nused for write caching.\n\nSome small details remained, however, which this largish patch attempts to\naddress.  It provides a page writeback implementation for fuse, which is\ncompletely safe against VM related deadlocks.  Performance may not be very\ngood for certain usage patterns, but generally it should be acceptable.\n\nIt has been tested extensively with fsx-linux and bash-shared-mapping.\n\nFuse page writeback design\n--------------------------\n\nfuse_writepage() allocates a new temporary page with GFP_NOFS|__GFP_HIGHMEM.\nIt copies the contents of the original page, and queues a WRITE request to the\nuserspace filesystem using this temp page.\n\nThe writeback is finished instantly from the MM\u0027s point of view: the page is\nremoved from the radix trees, and the PageDirty and PageWriteback flags are\ncleared.\n\nFor the duration of the actual write, the NR_WRITEBACK_TEMP counter is\nincremented.  The per-bdi writeback count is not decremented until the actual\nwrite completes.\n\nOn dirtying the page, fuse waits for a previous write to finish before\nproceeding.  This makes sure, there can only be one temporary page used at a\ntime for one cached page.\n\nThis approach is wasteful in both memory and CPU bandwidth, so why is this\ncomplication needed?\n\nThe basic problem is that there can be no guarantee about the time in which\nthe userspace filesystem will complete a write.  It may be buggy or even\nmalicious, and fail to complete WRITE requests.  We don\u0027t want unrelated parts\nof the system to grind to a halt in such cases.\n\nAlso a filesystem may need additional resources (particularly memory) to\ncomplete a WRITE request.  There\u0027s a great danger of a deadlock if that\nallocation may wait for the writepage to finish.\n\nCurrently there are several cases where the kernel can block on page\nwriteback:\n\n  - allocation order is larger than PAGE_ALLOC_COSTLY_ORDER\n  - page migration\n  - throttle_vm_writeout (through NR_WRITEBACK)\n  - sync(2)\n\nOf course in some cases (fsync, msync) we explicitly want to allow blocking.\nSo for these cases new code has to be added to fuse, since the VM is not\ntracking writeback pages for us any more.\n\nAs an extra safetly measure, the maximum dirty ratio allocated to a single\nfuse filesystem is set to 1% by default.  This way one (or several) buggy or\nmalicious fuse filesystems cannot slow down the rest of the system by hogging\ndirty memory.\n\nWith appropriate privileges, this limit can be raised through\n\u0027/sys/class/bdi/\u003cbdi\u003e/max_ratio\u0027.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6f2fcbcfca9db2bd7aa24940224fcd3bbdbb8aa",
      "tree": "ab70a4e93c1a512f791c3a0f77810c84e2b81ef1",
      "parents": [
        "fa799759f9801137f665dbedda2c0815f1bf6f1b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Apr 30 00:54:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:49 2008 -0700"
      },
      "message": "mm: bdi: expose the BDI object in sysfs for FUSE\n\nRegister FUSE\u0027s backing_dev_info under sysfs with the name \"fuse-MAJOR:MINOR\"\n\nMake the fuse control filesystem use s_dev instead of a fuse specific ID.\nThis makes it easier to match directories under /sys/fs/fuse/connections/ with\ndirectories under /sys/class/bdi, and with actual mounts.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42faad99658eed7ca8bd328ffa4bcb7d78c9bcca",
      "tree": "8b57fb69d1922939c6ba13f512a0ae54a3a171ef",
      "parents": [
        "78d31a3a87f84cf56004b7bc154831f2ee1186e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Apr 24 07:21:56 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 25 09:23:25 2008 -0400"
      },
      "message": "[PATCH] restore sane -\u003eumount_begin() API\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1a823ac9ff09cbdf39201df37b7ede1f9395de83",
      "tree": "8b61341ef969a3107cb5d3c8fb9317ec250507a6",
      "parents": [
        "fddd9cf82c9f9617d134ae878a8f6b116ebbd43d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Sat Feb 23 15:23:27 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:13 2008 -0800"
      },
      "message": "fuse: fix permission checking\n\nI added a nasty local variable shadowing bug to fuse in 2.6.24, with the\nresult, that the \u0027default_permissions\u0027 mount option is basically ignored.\n\nHow did this happen?\n\n - old err declaration in inner scope\n - new err getting declared in outer scope\n - \u0027return err\u0027 from inner scope getting removed\n - old declaration not being noticed\n\n-Wshadow would have saved us, but it doesn\u0027t seem practical for\nthe kernel :(\n\nMore testing would have also saved us :((\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\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": "d1875dbaa58e4894f7d9321d1c280fb23ca9f9e5",
      "tree": "dffcd7b60e50a1bcd112795e2a438c254b12f870",
      "parents": [
        "c1fca3b6090f45018b3754eff0276521edb8ac3e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Feb 08 04:21:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:40 2008 -0800"
      },
      "message": "mount options: fix fuse\n\nAdd blksize\u003d option to /proc/mounts for fuseblk filesystems.\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": "fa300b1914f892196acb385677047bc978466de7",
      "tree": "58729e181e2a7aca020d3079eadbf1b718e40c1f",
      "parents": [
        "d0b079483dd4cf6373f0ff234d5fdaef80c9588f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:28 2008 -0800"
      },
      "message": "iget: stop FUSE from using iget() and read_inode()\n\nStop the FUSE filesystem from using read_inode(), which it doesn\u0027t use anyway.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nAcked-by: 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": "e231c2ee64eb1c5cd3c63c31da9dac7d888dcf7f",
      "tree": "d4b17ef65960594681397a3acac02c2d248200b5",
      "parents": [
        "d1bc8e95445224276d7896b8b08cbb0b28a0ca80"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:26 2008 -0800"
      },
      "message": "Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p)\n\nConvert instances of ERR_PTR(PTR_ERR(p)) to ERR_CAST(p) using:\n\nperl -spi -e \u0027s/ERR_PTR[(]PTR_ERR[(](.*)[)][)]/ERR_CAST(\\1)/\u0027 `grep -rl \u0027ERR_PTR[(]*PTR_ERR\u0027 fs crypto net security`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d12def1bcb809b6172ee207a24e00a0a4398df1d",
      "tree": "96e151de1e80cacd9202a00b77654533a9754207",
      "parents": [
        "b57d426445c98789265de6a9338cdb06462d15fb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Feb 06 01:38:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "fuse: limit queued background requests\n\nLibfuse basically creates a new thread for each new request.  This is fine for\nsynchronous requests, which are naturally limited.  However background\nrequests (especially writepage) can cause a thread creation storm.\n\nTo avoid this, limit the number of background requests available to userspace.\n\nThis is done by introducing another queue for background requests, and a\ncounter for the number of \"active\" requests, which are currently available for\nuserspace.\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": "b57d426445c98789265de6a9338cdb06462d15fb",
      "tree": "66ff8e708c15275af806b0a9847e01d9e3a2f8e5",
      "parents": [
        "0952b2a4a82b2deb76463dbcf1355b806dc81134"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Feb 06 01:38:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "fuse: save space in struct fuse_req\n\nMove the fields \u0027dentry\u0027 and \u0027vfsmount\u0027 into the request specific union, since\nthese are only used for the RELEASE request.\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": "0952b2a4a82b2deb76463dbcf1355b806dc81134",
      "tree": "3daa0df6383263a80ef7ebbd96f721250c40a7ed",
      "parents": [
        "af440f52927e4b6941aa94e3cfc698adb0f22663"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Feb 06 01:38:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "fuse: fix attribute caching after create\n\nInvalidate attributes on create, since st_ctime is updated.  Reported by\nSzabolcs Szakacsits.\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": "197b12d6796a3bca187f22a8978a33d51e2bcd79",
      "tree": "706ff3454f03d4aa8ca4d76010479d7f9d2b36f4",
      "parents": [
        "c10997f6575f476ff38442fa18fd4a0d80345f9d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 20 08:13:05 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Kobject: convert fs/* from kobject_unregister() to kobject_put()\n\nThere is no need for kobject_unregister() anymore, thanks to Kay\u0027s\nkobject cleanup changes, so replace all instances of it with\nkobject_put().\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "00d2666623368ffd39afc875ff8a2eead2a0436c",
      "tree": "9b16b85167f1bd86c02c0ebeb74510d8029783a3",
      "parents": [
        "917e865df7eb020f20ffc2b4204f282a587df94f"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 14:17:23 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:13 2008 -0800"
      },
      "message": "kobject: convert main fs kobject to use kobject_create\n\nThis also renames fs_subsys to fs_kobj to catch all current users with a\nbuild error instead of a build warning which can easily be missed.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5c89e17e9c2bc03ed16320967832b33b174e6234",
      "tree": "85d55af251e2d3f32448781d31317508f92aca4d",
      "parents": [
        "43968d2f1648f4dc92437dc0363a3e88377445b3"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Oct 29 20:13:17 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:11 2008 -0800"
      },
      "message": "kobject: convert fuse to use kobject_create\n\nWe don\u0027t need a kset here, a simple kobject will do just fine, so\ndynamically create the kobject and use it.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "08b633070ad5fa17a837428a601c32cf3db6aafd",
      "tree": "3aa400a5f3f70bfa99f871f9aa3b80610ebb0053",
      "parents": [
        "fbee36b92abc965d3fc2862aa60fd0dfcf779d0b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 28 16:22:03 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "fuse: fix attribute caching after rename\n\nInvalidate attributes on rename, since some filesystems may update\nst_ctime.  Reported by Szabolcs Szakacsits\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": "fbee36b92abc965d3fc2862aa60fd0dfcf779d0b",
      "tree": "5d59ccb2236110aeb8fddb75c94fc52beaf79e3b",
      "parents": [
        "d0186b25e65d4d786727a03044b8aafe2ba118ee"
      ],
      "author": {
        "name": "John Muir",
        "email": "muirj@nortel.com",
        "time": "Wed Nov 28 16:22:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "fuse: fix uninitialized field in fuse_inode\n\nI found problems accessing (executing) previously existing files, until\nI did chmod on them (or setattr).\n\nIf the fi-\u003eattr_version is not initialized, then it could be\nlarger than fc-\u003eattr_version until a setattr is executed, and as a\nresult the inode attributes would never be set.\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": "d0186b25e65d4d786727a03044b8aafe2ba118ee",
      "tree": "cf02b766c799d3827782102d385935d2275af14b",
      "parents": [
        "a6643094e73247c1ebd36816f494f631fa7be348"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 28 16:22:01 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "fuse: fix FUSE_FILE_OPS sending\n\nFUSE_FILE_OPS is meant to signal that the kernel will send the open file to to\nthe userspace filesystem for operations on open files, so that sillyrenaming\nunlinked files becomes unnecessary.\n\nHowever this needs VFS changes, which won\u0027t make it into 2.6.24.\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": "a6643094e73247c1ebd36816f494f631fa7be348",
      "tree": "11ba2e666b6fea1cdf579616d6a04b0afd24f61c",
      "parents": [
        "7dca9fd39f7d4605ac178a67bb1772381056917d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 28 16:22:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "fuse: pass open flags to read and write\n\nSome open flags (O_APPEND, O_DIRECT) can be changed with fcntl(F_SETFL, ...)\nafter open, but fuse currently only sends the flags to userspace in open.\n\nTo make it possible to correcly handle changing flags, send the\ncurrent value to userspace in each read and write.\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": "7dca9fd39f7d4605ac178a67bb1772381056917d",
      "tree": "8a2f49e872a900819c7067bbe8ed118f88241f07",
      "parents": [
        "bcb4be809d2a804ff040d95db4a664113833e702"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 28 16:21:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "fuse: cleanup: add fuse_get_attr_version()\n\nExtract repeated code into helper function, as suggested by Akpm.\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": "bcb4be809d2a804ff040d95db4a664113833e702",
      "tree": "11a3aad0dc7df29906e2b379d13f14ccf26c9b56",
      "parents": [
        "b6fd6ecb830444636bc4e9d626f214082c91fffe"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 28 16:21:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "fuse: fix reading past EOF\n\nCurrently reading a fuse file will stop at cached i_size and return\nEOF, even though the file might have grown since the attributes were\nlast updated.\n\nSo detect if trying to read past EOF, and refresh the attributes\nbefore continuing with the read.\n\nThanks to mpb for the report.\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": "8744969a819de4ee5158f4cdb30104601cc015d4",
      "tree": "3320c7eac5c3e15d3b17849f5afa1c0cbf1dc863",
      "parents": [
        "be21f0ab0d8f10c90265066603a8d95b6037a6fa"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Nov 14 17:00:02 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:42 2007 -0800"
      },
      "message": "fuse_file_alloc(): fix NULL dereferences\n\nFix obvious NULL dereferences spotted by the Coverity checker.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nAcked-by: 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": "0e9663ee452ffce0d429656ebbcfe69417a30e92",
      "tree": "a72825f122c9e38d4adc42ebcfd127f366da4a0f",
      "parents": [
        "f33321141b273d60cbb3a8f56a5489baad82ba5e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add blksize field to fuse_attr\n\nThere are cases when the filesystem will be passed the buffer from a single\nread or write call, namely:\n\n 1) in \u0027direct-io\u0027 mode (not O_DIRECT), read/write requests don\u0027t go\n    through the page cache, but go directly to the userspace fs\n\n 2) currently buffered writes are done with single page requests, but\n    if Nick\u0027s -\u003eperform_write() patch goes it, it will be possible to\n    do larger write requests.  But only if the original write() was\n    also bigger than a page.\n\nIn these cases the filesystem might want to give a hint to the app\nabout the optimal I/O size.\n\nAllow the userspace filesystem to supply a blksize value to be returned by\nstat() and friends.  If the field is zero, it defaults to the old\nPAGE_CACHE_SIZE value.\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": "f33321141b273d60cbb3a8f56a5489baad82ba5e",
      "tree": "b6443b674600dcdb8c33aa6d44b7a673edc255b4",
      "parents": [
        "b25e82e5673c750116e8b01a4fc7d09be7809f8c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add support for mandatory locking\n\nFor mandatory locking the userspace filesystem needs to know the lock\nownership for read, write and truncate operations.\n\nThis patch adds the necessary fields to the protocol.\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": "b25e82e5673c750116e8b01a4fc7d09be7809f8c",
      "tree": "03d23ccbca6e87ba98efeba445ff714455dba0bb",
      "parents": [
        "93a8c3cd9e9834dc5f5c373336f3a0065521152d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add helper for asynchronous writes\n\nThis patch adds a new helper function fuse_write_fill() which makes it\npossible to send WRITE requests asynchronously.\n\nA new flag for WRITE requests is also added which indicates that this a write\nfrom the page cache, and not a \"normal\" file write.\n\nThis patch is in preparation for writable mmap support.\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": "93a8c3cd9e9834dc5f5c373336f3a0065521152d",
      "tree": "ce8731adbf7a2bcd441e8b82d3d932abf94b13df",
      "parents": [
        "a9ff4f87056cd31a8232b88d013dc6c9ad719c18"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add list of writable files to fuse_inode\n\nEach WRITE request must carry a valid file descriptor.  When a page is written\nback from a memory mapping, the file through which the page was dirtied is not\navailable, so a new mechananism is needed to find a suitable file in\n-\u003ewritepage(s).\n\nA list of fuse_files is added to fuse_inode.  The file is removed from the\nlist in fuse_release().\n\nThis patch is in preparation for writable mmap support.\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": "a9ff4f87056cd31a8232b88d013dc6c9ad719c18",
      "tree": "8ddcc01ae8b6615a9a530fb51c52825b315ee266",
      "parents": [
        "6ff958edbf39c014eb06b65ad25b736be08c4e63"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: support BSD locking semantics\n\nIt is trivial to add support for flock(2) semantics to the existing protocol,\nby setting the lock owner field to the file pointer, and passing a new\nFUSE_LK_FLOCK flag with the locking request.\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": "6ff958edbf39c014eb06b65ad25b736be08c4e63",
      "tree": "f87af1ae11b321cfa38c25378229f25942797385",
      "parents": [
        "17637cbaba592076c221dc045ca78422b4af6290"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add atomic open+truncate support\n\nThis patch allows fuse filesystems to implement open(..., O_TRUNC) as a single\nrequest, instead of separate truncate and open requests.\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": "17637cbaba592076c221dc045ca78422b4af6290",
      "tree": "9b8148b29cb2c776cd96278c0710a890054a2b78",
      "parents": [
        "d139d7ffd0c1e81e2a809909b4f8b121a0dc119a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "fuse: improve utimes support\n\nAdd two new flags for setattr: FATTR_ATIME_NOW and FATTR_MTIME_NOW.  These\nmean, that atime or mtime should be changed to the current time.\n\nAlso it is now possible to update atime or mtime individually, not just\ntogether.\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": "49d4914fd7c10ae846d0f30d5f6f4732cc68499c",
      "tree": "958f5ef12b5bb6f7c58a76c9ca7583b028a6c2b5",
      "parents": [
        "c79e322f63592c00b25b17af6a1782fad6c6fe6e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "fuse: clean up open file passing in setattr\n\nClean up supplying open file to the setattr operation.  In addition to being a\ncleanup it prepares for the changes in the way the open file is passed to the\nsetattr method.\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": "c79e322f63592c00b25b17af6a1782fad6c6fe6e",
      "tree": "d3cbacb295b82c036553f68f5a060c67ae16bfa3",
      "parents": [
        "1fb69e7817296da8a6824804bb206ca1e7f31425"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:06:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "fuse: add file handle to getattr operation\n\nAdd necessary protocol changes for supplying a file handle with the getattr\noperation.  Step the API version to 7.9.\n\nThis patch doesn\u0027t actually supply the file handle, because that needs some\nkind of VFS support, which we haven\u0027t yet been able to agree upon.\n\n[akpm@linux-foundation.org: coding-style fixes]\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": "1fb69e7817296da8a6824804bb206ca1e7f31425",
      "tree": "51f8ac8ab4f06207a406cb9e917a48d71616235c",
      "parents": [
        "e57ac68378a287d6336d187b26971f35f7ee7251"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:06:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "fuse: fix race between getattr and write\n\nGetattr and lookup operations can be running in parallel to attribute changing\noperations, such as write and setattr.\n\nThis means, that if for example getattr was slower than a write, the cached\nsize attribute could be set to a stale value.\n\nTo prevent this race, introduce a per-filesystem attribute version counter.\nThis counter is incremented whenever cached attributes are modified, and the\nincremented value stored in the inode.\n\nBefore storing new attributes in the cache, getattr and lookup check, using\nthe version number, whether the attributes have been modified during the\nrequest\u0027s lifetime.  If so, the returned attributes are not cached, because\nthey might be stale.\n\nThanks to Jakub Bogusz for the bug report and test program.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Jakub Bogusz \u003cjakub.bogusz@gemius.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e57ac68378a287d6336d187b26971f35f7ee7251",
      "tree": "12b9ae8cc79af2d0100582e6f933aba0f4619663",
      "parents": [
        "42a2b6ad71b011144d21d88a124140bb2bf1023f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:06:58 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:29 2007 -0700"
      },
      "message": "fuse: fix allowing operations\n\nThe following operation didn\u0027t check if sending the request was allowed:\n\n  setattr\n  listxattr\n  statfs\n\nSome other operations don\u0027t explicitly do the check, but VFS calls\n-\u003epermission() which checks this.\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": "e8e961574b5b417d3fc277cbf436081fce4fc2e1",
      "tree": "28e73ea3666f4e2778d0d52c511be4d8e32b9e26",
      "parents": [
        "c9c9d7df5f8aed8b738f1ace45700e2001c1faeb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:06 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:04 2007 -0700"
      },
      "message": "fuse: clean up execute permission checking\n\nDefine a new function fuse_refresh_attributes() that conditionally refreshes\nthe attributes based on the validity timeout.\n\nIn fuse_permission() only refresh the attributes for checking the execute bits\nif necessary.\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": "c9c9d7df5f8aed8b738f1ace45700e2001c1faeb",
      "tree": "04b7ef11d49758152c80c010f6a287f83d53299d",
      "parents": [
        "a131de0a482ac95e6469f56981c7b063593fdc5d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:04 2007 -0700"
      },
      "message": "fuse: no ENOENT from fuse device read\n\nDon\u0027t return -ENOENT for a read() on the fuse device when the request was\naborted.  Instead return -ENODEV, meaning the filesystem has been\nforce-umounted or aborted.\n\nPreviously ENOENT meant that the request was interrupted, but now the\n\u0027aborted\u0027 flag is not set in case of interrupts.\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": "a131de0a482ac95e6469f56981c7b063593fdc5d",
      "tree": "0799985119f15525cc8c3c93a4cacad307405a5a",
      "parents": [
        "819c4b3b4009275caae973691378235c177a1429"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:04 2007 -0700"
      },
      "message": "fuse: no abort on interrupt\n\nDon\u0027t set \u0027aborted\u0027 flag on a request if it\u0027s interrupted.  We have to wait\nfor the answer anyway, and this would only a very little time while copying\nthe reply.\n\nThis means, that write() on the fuse device will not return -ENOENT during\nnormal operation, only if the filesystem is aborted by a forced umount or\nthrough the fusectl interface.\n\nThis could simplify userspace code somewhat when backward compatibility with\nearlier kernel versions is not required.\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": "819c4b3b4009275caae973691378235c177a1429",
      "tree": "a959e68702db2359f52ffdf23644c3aa0be176ce",
      "parents": [
        "ebc14c4dbeb56195950058db9aa32de06c22de0d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:04 2007 -0700"
      },
      "message": "fuse: cleanup in release\n\nMove dput/mntput pair from request_end() to fuse_release_end(), because\nthere\u0027s no other place they are used.\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": "ebc14c4dbeb56195950058db9aa32de06c22de0d",
      "tree": "479813b230af145fd8c08e24b11c405ef6d4a25c",
      "parents": [
        "244f6385c2891e366a7de5f6746ccc257efd8952"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:04 2007 -0700"
      },
      "message": "fuse: fix permission checking on sticky directories\n\nThe VFS checks sticky bits on the parent directory even if the filesystem\ndefines it\u0027s own -\u003epermission().  In some situations (sshfs, mountlo, etc) the\nuser does have permission to delete a file even if the attribute based\nchecking would not allow it.\n\nSo work around this by storing the permission bits separately and returning\nthem in stat(), but cutting the permission bits off from inode-\u003ei_mode.\n\nThis is slightly hackish, but it\u0027s probably not worth it to add new\ninfrastructure in VFS and a slight performance penalty for all filesystems,\njust for the sake of fuse.\n\n[Jan Engelhardt] cosmetic fixes\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Jan Engelhardt \u003cjengelh@linux01.gwdg.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "244f6385c2891e366a7de5f6746ccc257efd8952",
      "tree": "09d51e0f55d9e88dad48941cc0a63e0253306e47",
      "parents": [
        "074406fa6309ab8b0aca15496b16b3653e58c03d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:04 2007 -0700"
      },
      "message": "fuse: refresh stale attributes in fuse_permission()\n\nfuse_permission() didn\u0027t refresh inode attributes before using them, even if\nthe validity has already expired.\n\nThanks to Junjiro Okajima for spotting this.\n\nAlso remove some old code to unconditionally refresh the attributes on the\nroot inode.\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": "074406fa6309ab8b0aca15496b16b3653e58c03d",
      "tree": "5906e18a17a03d71ddbacecdaaa949b2cc3b9169",
      "parents": [
        "b10099792b6276c31cee4c021e0a5d3f9a9e33ed"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:04 2007 -0700"
      },
      "message": "fuse: set i_nlink to sane value after mount\n\nAufs seems to depend on a positive i_nlink value.  So fill in a dummy but sane\nvalue for the root inode at mount time.\n\nThe inode attributes are refreshed with the correct values at the first\nopportunity.\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": "b10099792b6276c31cee4c021e0a5d3f9a9e33ed",
      "tree": "c90873999de5936d27b0a10e61c4de3b742bf401",
      "parents": [
        "e00d2c2d4aead747d0fbee99001b00612d1082b0"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "fuse: fix page invalidation\n\nOther than truncate, there are two cases, when fuse tries to get rid\nof cached pages:\n\n a) in open, if KEEP_CACHE flag is not set\n b) in getattr, if file size changed spontaneously\n\nUntil now invalidate_mapping_pages() were used, which didn\u0027t get rid\nof mapped pages.  This is wrong, and becomes more wrong as dirty pages\nare introduced.  So instead properly invalidate all pages with\ninvalidate_inode_pages2().\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": "e00d2c2d4aead747d0fbee99001b00612d1082b0",
      "tree": "c57228fae55fdb0b91fa6c211431a4ced2435c53",
      "parents": [
        "c756e0a4d79202535774806f148026e40466a5eb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "fuse: truncate on spontaneous size change\n\nMemory mappings were only truncated on an explicit truncate, but not when the\nfile size was changed externally.\n\nFix this by moving the truncation code from fuse_setattr to\nfuse_change_attributes.\n\nYes, there are races between write and and external truncation, but we can\u0027t\nreally do anything about them.\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": "c756e0a4d79202535774806f148026e40466a5eb",
      "tree": "aa769ecfe2204e2e1969108d2c391b88b95e983b",
      "parents": [
        "de5e3dec421c44c999071b8f7e0580ad2ade92ae"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "fuse: add reference counting to fuse_file\n\nMake lifetime of \u0027struct fuse_file\u0027 independent from \u0027struct file\u0027 by adding a\nreference counter and destructor.\n\nThis will enable asynchronous page writeback, where it cannot be guaranteed,\nthat the file is not released while a request with this file handle is being\nserved.\n\nThe actual RELEASE request is only sent when there are no more references to\nthe fuse_file.\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": "de5e3dec421c44c999071b8f7e0580ad2ade92ae",
      "tree": "c327562a78335346704c382c5b220b13c9208589",
      "parents": [
        "f92b99b9dccb61760b345baf40ed37f59b91f8af"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:31:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "fuse: fix reserved request wake up\n\nUse wake_up_all instead of wake_up in put_reserved_req(), otherwise it is\npossible that the right task is not woken up.\n\nAlso create a separate reserved_req_waitq in addition to the blocked_waitq,\nsince they fulfill totally separate functions.\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": "f92b99b9dccb61760b345baf40ed37f59b91f8af",
      "tree": "1460ac391186be79beb79a6d4030cc387239681c",
      "parents": [
        "fdc1ca8abae72c5829e099fd35626b83ecb12666"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Oct 16 23:30:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:43:03 2007 -0700"
      },
      "message": "fuse: update backing_dev_info congestion state\n\nSet the read and write congestion state if the request queue is close to\nblocking, and clear it when it\u0027s not.\n\nThis prevents unnecessary blocking in readahead and (when writable mmaps are\nallowed) writeback.\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": "4ba9b9d0ba0a49d91fa6417c7510ee36f48cf957",
      "tree": "191b4f45f926e44b882b1e87a9a85dc12230b892",
      "parents": [
        "b811c202a0edadaac7242ab834fe7ba409978ae7"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Tue Oct 16 23:25:51 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "Slab API: remove useless ctor parameter and reorder parameters\n\nSlab constructors currently have a flags parameter that is never used.  And\nthe order of the arguments is opposite to other slab functions.  The object\npointer is placed before the kmem_cache pointer.\n\nConvert\n\n        ctor(void *object, struct kmem_cache *s, unsigned long flags)\n\nto\n\n        ctor(struct kmem_cache *s, void *object)\n\nthroughout the kernel\n\n[akpm@linux-foundation.org: coupla fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@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": "e0bf68ddec4f4f90e5871404be4f1854c17f3120",
      "tree": "36203a3558cbe26d698bed18be69b3822fb5eef2",
      "parents": [
        "dc62a30e274d003a4d08fb888f1520add4b21373"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Oct 16 23:25:46 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:45 2007 -0700"
      },
      "message": "mm: bdi init hooks\n\nprovide BDI constructor/destructor hooks\n\n[akpm@linux-foundation.org: compile fix]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e6f58a1d7ce2fd5ef099f9aec5b3e3f7ba176b4",
      "tree": "2a63f0587a60d30d00cbadb6d33756725173576f",
      "parents": [
        "fb53b3094888be0cf8ddf052277654268904bdf5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Oct 16 01:25:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Oct 16 09:42:57 2007 -0700"
      },
      "message": "fuse: convert to new aops\n\n[mszeredi]\n - don\u0027t send zero length write requests\n - it is not legal for the filesystem to return with zero written bytes\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\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": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "5ffc4ef45b3b0a57872f631b4e4ceb8ace0d7496",
      "tree": "437ec32a58ac5e4794565b2bbb3da6611f0d6a04",
      "parents": [
        "534f2aaa6ab07cd71164180bc958a7dcde41db11"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 11:49:19 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:13 2007 +0200"
      },
      "message": "sendfile: remove .sendfile from filesystems that use generic_file_sendfile()\n\nThey can use generic_file_splice_read() instead. Since sys_sendfile() now\nprefers that, there should be no change in behaviour.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "edad01e2a1c527af3baf22dc6977aeb058881150",
      "tree": "24e89ab655195b2d9bf0379fc92e595b3f041f0c",
      "parents": [
        "da88ba17de990a4b0d18ecde2c40355700888750"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jun 16 10:16:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Jun 16 13:16:15 2007 -0700"
      },
      "message": "fuse: -\u003efs_flags fixlet\n\nfs/fuse/inode.c:658:3: error: Initializer entry defined twice\nfs/fuse/inode.c:661:3:   also defined here\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-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": "ead5f0b5fa41dd3649a44bfc922d06641ff3dbcf"
}
