)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "e18b890bb0881bbab6f4f1a6cd20d9c60d66b003",
      "tree": "4828be07e1c24781c264b42c5a75bcd968223c3f",
      "parents": [
        "441e143e95f5aa1e04026cb0aa71c801ba53982f"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:20 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:25 2006 -0800"
      },
      "message": "[PATCH] slab: remove kmem_cache_t\n\nReplace all uses of kmem_cache_t with struct kmem_cache.\n\nThe patch was generated using the following script:\n\n\t#!/bin/sh\n\t#\n\t# Replace one string by another in all the kernel sources.\n\t#\n\n\tset -e\n\n\tfor file in `find * -name \"*.c\" -o -name \"*.h\"|xargs grep -l $1`; do\n\t\tquilt add $file\n\t\tsed -e \"1,\\$s/$1/$2/g\" $file \u003e/tmp/$$\n\t\tmv /tmp/$$ $file\n\t\tquilt refresh\n\tdone\n\nThe script was run like this\n\n\tsh replace kmem_cache_t \"struct kmem_cache\"\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e94b1766097d53e6f3ccfb36c8baa562ffeda3fc",
      "tree": "93fa0a8ab84976d4e89c50768ca8b8878d642a0d",
      "parents": [
        "54e6ecb23951b195d02433a741c7f7cb0b796c78"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Wed Dec 06 20:33:17 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:24 2006 -0800"
      },
      "message": "[PATCH] slab: remove SLAB_KERNEL\n\nSLAB_KERNEL is an alias of GFP_KERNEL.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee0b3e671baff681d69fbf0db33b47603c0a8280",
      "tree": "3202ff815b2196c6c353bc5b28d7a2800df273ec",
      "parents": [
        "027445c37282bc1ed26add45e573ad2d3e4860a5"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Remove readv/writev methods and use aio_read/aio_write instead\n\nThis patch removes readv() and writev() methods and replaces them with\naio_read()/aio_write() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "105f4d7a813e9ef6be58549f5d2a49af1764da19",
      "tree": "8dcb1f371f05ff8699919eebe7e187c8f74c5844",
      "parents": [
        "99fc705996285ed2746c0c8ae8313d0a04d62ec9"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josht@us.ibm.com",
        "time": "Fri Sep 29 01:59:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:08 2006 -0700"
      },
      "message": "[PATCH] fuse: add lock annotations to request_end and fuse_read_interrupt\n\nrequest_end and fuse_read_interrupt release fc-\u003elock.  Add lock annotations\nto these two functions so that sparse can check callers for lock pairing,\nand so that sparse will not complain about these functions since they\nintentionally use locks in this manner.\n\nSigned-off-by: Josh Triplett \u003cjosh@freedesktop.org\u003e\nAcked-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a4d27e75ffb7b8ecb7eed0c7db0df975525f3fd7",
      "tree": "2353706a33196438547ed4651afd9f2d81dd96e8",
      "parents": [
        "f9a2842e5612b93fa20a624a8baa6c2a7ecea504"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Jun 25 05:48:54 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:19 2006 -0700"
      },
      "message": "[PATCH] fuse: add request interruption\n\nAdd synchronous request interruption.  This is needed for file locking\noperations which have to be interruptible.  However filesystem may implement\ninterruptibility of other operations (e.g.  like NFS \u0027intr\u0027 mount option).\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f9a2842e5612b93fa20a624a8baa6c2a7ecea504",
      "tree": "cc6865cc0a60a35b2f1740662313d288d9a20353",
      "parents": [
        "33649c91a3df57c1090a657637d44b896de367e7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Jun 25 05:48:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:19 2006 -0700"
      },
      "message": "[PATCH] fuse: rename the interrupted flag\n\nRename the \u0027interrupted\u0027 flag to \u0027aborted\u0027, since it indicates exactly that,\nand next patch will introduce an \u0027interrupted\u0027 flag for a\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "33649c91a3df57c1090a657637d44b896de367e7",
      "tree": "1ee4871a65f2b37a931c796463eb39737a32cbaa",
      "parents": [
        "7142125937e1482ad3ae4366594c6586153dfc86"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Jun 25 05:48:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:19 2006 -0700"
      },
      "message": "[PATCH] fuse: ensure FLUSH reaches userspace\n\nAll POSIX locks owned by the current task are removed on close().  If the\nFLUSH request resulting initiated by close() fails to reach userspace, there\nmight be locks remaining, which cannot be removed.\n\nThe only reason it could fail, is if allocating the request fails.  In this\ncase use the request reserved for RELEASE, or if that is currently used by\nanother FLUSH, wait for it to become available.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bafa96541b250a7051e3fbc5de6e8369daf8ffec",
      "tree": "9b758c424fcda2d263c71f25358bb65a0abc15d4",
      "parents": [
        "51eb01e73599efb88c6c20b1c226d20309a75450"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Jun 25 05:48:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:19 2006 -0700"
      },
      "message": "[PATCH] fuse: add control filesystem\n\nAdd a control filesystem to fuse, replacing the attributes currently exported\nthrough sysfs.  An empty directory \u0027/sys/fs/fuse/connections\u0027 is still created\nin sysfs, and mounting the control filesystem here provides backward\ncompatibility.\n\nAdvantages of the control filesystem over the previous solution:\n\n  - allows the object directory and the attributes to be owned by the\n    filesystem owner, hence letting unpriviled users abort the\n    filesystem connection\n\n  - does not suffer from module unload race\n\n[akpm@osdl.org: fix this fs for recent dhowells depredations]\n[akpm@osdl.org: fix 64-bit printk warnings]\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "51eb01e73599efb88c6c20b1c226d20309a75450",
      "tree": "c37e7a61ce7c049a4615dfb2ee994866d3c85bd6",
      "parents": [
        "3e8c54fad89144b8d63cc41619f363df1ec7cc42"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Jun 25 05:48:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:19 2006 -0700"
      },
      "message": "[PATCH] fuse: no backgrounding on interrupt\n\nDon\u0027t put requests into the background when a fatal interrupt occurs while the\nrequest is in userspace.  This removes a major wart from the implementation.\n\nBackgrounding of requests was introduced to allow breaking of deadlocks.\nHowever now the same can be achieved by aborting the filesystem through the\n\u0027abort\u0027 sysfs attribute.\n\nThis is a change in the interface, but should not cause problems, since these\nkinds of deadlocks never happen during normal operation.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6dbbcb120570d747b00783820ee02d1e1bcf63de",
      "tree": "9be2938cea30b1f2ce93ed59b8806fdfac62fd1e",
      "parents": [
        "5a5fb1ea74d8b82ca1461b885a1334fb21e037be"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:06 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:06 2006 +0200"
      },
      "message": "[fuse] fix deadlock between fuse_put_super() and request_end(), try #2\n\nA deadlock was possible, when the last reference to the superblock was\nheld due to a background request containing a file reference.\n\nReleasing the file would release the vfsmount which in turn would\nrelease the superblock.  Since sbput_sem is held during the fput() and\nfuse_put_super() tries to acquire this same semaphore, a deadlock\nresults.\n\nThe solution is to move the fput() outside the region protected by\nsbput_sem.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "5a5fb1ea74d8b82ca1461b885a1334fb21e037be",
      "tree": "f6e823d4a8e09ce0780d891f8f38f033ccbd7da2",
      "parents": [
        "4d5c34ec7b007cfb0771a36996b009f194acbb2f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:48:55 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:48:55 2006 +0200"
      },
      "message": "Revert \"[fuse] fix deadlock between fuse_put_super() and request_end()\"\n\nThis reverts 73ce8355c243a434524a34c05cc417dd0467996e commit.\n\nIt was wrong, because it didn\u0027t take into account the requirement,\nthat iput() for background requests must be performed synchronously\nwith -\u003eput_super(), otherwise active inodes may remain after unmount.\n\nThe right solution is to keep the sbput_sem and perform iput() within\nthe locked region, but move fput() outside sbput_sem.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "4858cae4f0904681eab58a16891c22397618a2a2",
      "tree": "013642eeb6520ca9517fc94dbe881da614502ef2",
      "parents": [
        "9bc5dddad1294955e70eeb87325ba1505fb5fe2e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 11 21:16:38 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 11 21:16:38 2006 +0200"
      },
      "message": "[fuse] Don\u0027t init request twice\n\nRequest is already initialized in fuse_request_alloc() so no need to\ndo it again in fuse_get_req().\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "9bc5dddad1294955e70eeb87325ba1505fb5fe2e",
      "tree": "9b32783daaccf670d7abadc80fd66cf598da0725",
      "parents": [
        "73ce8355c243a434524a34c05cc417dd0467996e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 11 21:16:09 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 11 21:16:09 2006 +0200"
      },
      "message": "[fuse] Fix accounting the number of waiting requests\n\nProperly accounting the number of waiting requests was forgotten in\n\"clean up request accounting\" patch.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "73ce8355c243a434524a34c05cc417dd0467996e",
      "tree": "a5bc5bfb31c41a5806caf763533943e7411e6543",
      "parents": [
        "2514395ef88b46e895726a8d40966cb83de7940c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 11 21:14:26 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 11 21:14:26 2006 +0200"
      },
      "message": "[fuse] fix deadlock between fuse_put_super() and request_end()\n\nA deadlock was possible, when the last reference to the superblock was\nheld due to a background request containing a file reference.\n\nReleasing the file would release the vfsmount which in turn would\nrelease the superblock.  Since sbput_sem is held during the fput() and\nfuse_put_super() tries to acquire this same semaphore, a deadlock\nresults.\n\nThe chosen soltuion is to get rid of sbput_sem, and instead use the\nspinlock to ensure the referenced inodes/file are released only once.\nSince the actual release may sleep, defer these outside the locked\nregion, but using local variables instead of the structure members.\n\nThis is a much more rubust solution.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\n"
    },
    {
      "commit": "08a53cdce62d37d918530bbbf726cc01b21dc3d1",
      "tree": "2db5e37737da91f1b2b32136e4e10ad540d8dc09",
      "parents": [
        "ce1d5a491f0ee50560416a73faa5e4ddbab074bd"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Apr 10 22:54:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:49 2006 -0700"
      },
      "message": "[PATCH] fuse: account background requests\n\nThe previous patch removed limiting the number of outstanding requests.  This\npatch adds a much simpler limiting, that is also compatible with file locking\noperations.\n\nA task may have at most one synchronous request allocated.  So these requests\nneed not be otherwise limited.\n\nHowever the number of background requests (release, forget, asynchronous\nreads, interrupted requests) can grow indefinitely.  This can be used by a\nmalicous user to cause FUSE to allocate arbitrary amounts of unswappable\nkernel memory, denying service.\n\nFor this reason add a limit for the number of background requests, and block\nallocations of new requests until the number goes bellow the limit.\n\nAlso use this mechanism to block all requests until the INIT reply is\nreceived.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ce1d5a491f0ee50560416a73faa5e4ddbab074bd",
      "tree": "21f91d983b467ad05df0213f54fe00aad84e5761",
      "parents": [
        "a87046d822f2d982d25b24c4a644d34f22d4888a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Apr 10 22:54:58 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:49 2006 -0700"
      },
      "message": "[PATCH] fuse: clean up request accounting\n\nFUSE allocated most requests from a fixed size pool filled at mount time.\nHowever in some cases (release/forget) non-pool requests were used.  File\nlocking operations aren\u0027t well served by the request pool, since they may\nblock indefinetly thus exhausting the pool.\n\nThis patch removes the request pool and always allocates requests on demand.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a87046d822f2d982d25b24c4a644d34f22d4888a",
      "tree": "582a3a2a89015bf09ad9a73df8d06cd7272b3b46",
      "parents": [
        "d713311464bcca73c990d1a1b5c9467eae87f5b4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Apr 10 22:54:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:48 2006 -0700"
      },
      "message": "[PATCH] fuse: consolidate device errors\n\nReturn consistent error values for the case when the opened device file has no\nmount associated yet.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d713311464bcca73c990d1a1b5c9467eae87f5b4",
      "tree": "d049e9655bebed5212cd3534961d354e51c2769f",
      "parents": [
        "0720b315976447cba3f0c3e211223b8cb82b0f93"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Apr 10 22:54:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:48 2006 -0700"
      },
      "message": "[PATCH] fuse: use a per-mount spinlock\n\nRemove the global spinlock in favor of a per-mount one.\n\nThis patch is basically find \u0026 replace.  The difficult part has already been\ndone by the previous patch.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0720b315976447cba3f0c3e211223b8cb82b0f93",
      "tree": "b8013f53bca7a72670961ea6f439612d1c631283",
      "parents": [
        "e5ac1d1e70a8c19a65a959d73650203df7a2e168"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Apr 10 22:54:55 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:48 2006 -0700"
      },
      "message": "[PATCH] fuse: simplify locking\n\nThis is in preparation for removing the global spinlock in favor of a\nper-mount one.\n\nThe only critical part is the interaction between fuse_dev_release() and\nfuse_fill_super(): fuse_dev_release() must see the assignment to\nfile-\u003eprivate_data, otherwise it will leak the reference to fuse_conn.\n\nThis is ensured by the fput() operation, which will synchronize the assignment\nwith other CPU\u0027s that may do a final fput() soon after this.\n\nAlso redundant locking is removed from fuse_fill_super(), where exclusion is\nalready ensured by the BKL held for this function by the VFS.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5ac1d1e70a8c19a65a959d73650203df7a2e168",
      "tree": "e3efd114e3350c270d3693266d38d07eaedae757",
      "parents": [
        "385a17bfc3cb035333c8a91eddc78a6e04c4625e"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Apr 10 22:54:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:48 2006 -0700"
      },
      "message": "[PATCH] fuse: add O_NONBLOCK support to FUSE device\n\nI don\u0027t like duplicating the connected and list_empty tests in fuse_dev_readv,\nbut this seemed cleaner than adding the f_flags test to request_wait.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "385a17bfc3cb035333c8a91eddc78a6e04c4625e",
      "tree": "7a9fde77c95f0e4cc86f31e8b1f5d23b6d815634",
      "parents": [
        "7025d9ad10a38dadef8b286e0092731c2d3cdc53"
      ],
      "author": {
        "name": "Jeff Dike",
        "email": "jdike@addtoit.com",
        "time": "Mon Apr 10 22:54:52 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:48 2006 -0700"
      },
      "message": "[PATCH] fuse: add O_ASYNC support to FUSE device\n\nThis adds asynchronous notification to FUSE - a FUSE server can request\nO_ASYNC on a /dev/fuse file descriptor and receive SIGIO when there is input\navailable.\n\nOne subtlety - fuse_dev_fasync, which is called when O_ASYNC is requested,\ndoes no locking, unlink the other methods.  I think it\u0027s unnecessary, as the\nfuse_conn.fasync list is manipulated only by fasync_helper and kill_fasync,\nwhich provide their own locking.  It would also be wrong to use the fuse_lock,\nas it\u0027s a spin lock and fasync_helper can sleep.  My one concern with this is\nthe fuse_conn going away underneath fuse_dev_fasync - sys_fcntl takes a\nreference on the file struct, so this seems not to be a problem.\n\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7025d9ad10a38dadef8b286e0092731c2d3cdc53",
      "tree": "054f5ce4a0b7a0d3793e66f094af4905a68d1896",
      "parents": [
        "d3406ffa4af8af1d7c14cff06e003eb0a557d4ad"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Apr 10 22:54:50 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:47 2006 -0700"
      },
      "message": "[PATCH] fuse: fix fuse_dev_poll() return value\n\nfuse_dev_poll() returned an error value instead of a poll mask.  Luckily (or\nunluckily) -ENODEV does contain the POLLERR bit.\n\nThere\u0027s also a race if filesystem is unmounted between fuse_get_conn() and\nspin_lock(), in which case this event will be missed by poll().\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4b6f5d20b04dcbc3d888555522b90ba6d36c4106",
      "tree": "420f271eaef7d3def7d4433b151c3cb6d7a54770",
      "parents": [
        "99ac48f54a91d02140c497edc31dc57d4bc5c85d"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Tue Mar 28 01:56:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Mar 28 09:16:06 2006 -0800"
      },
      "message": "[PATCH] Make most file operations structs in fs/ const\n\nThis is a conversion to make the various file_operations structs in fs/\nconst.  Basically a regexp job, with a few manual fixups\n\nThe goal is both to increase correctness (harder to accidentally write to\nshared datastructures) and reducing the false sharing of cachelines with\nthings that get dirty in .data (while .rodata is nicely read only and thus\ncache clean)\n\nSigned-off-by: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "77e7f250f88cd62844e24c42aff4d0e95969c746",
      "tree": "ee14c76d87f8ac141d2fee43e40278b5fcadadd8",
      "parents": [
        "a8534adb74e23374889b84b3d97eb18da542a1b5"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Feb 17 13:52:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 17 13:59:27 2006 -0800"
      },
      "message": "[PATCH] fuse: fix bug in aborted fuse_release_end()\n\nThere\u0027s a rather theoretical case of the BUG triggering in\nfuse_reset_request():\n\n  - iget() fails because of OOM after a successful CREATE_OPEN request\n  - during IO on the resulting RELEASE request the connection is aborted\n\nFix and add warning to fuse_reset_request().\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7128ec2a747d7a5f3c764c37bef17081ccc2374c",
      "tree": "10781a63d46811789e1cd26964f1d0a9eb963ce2",
      "parents": [
        "e22bec266cd6f540da2a61db216914c3473135cc"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sat Feb 04 23:27:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Feb 05 11:06:51 2006 -0800"
      },
      "message": "[PATCH] fuse: fix request_end() vs fuse_reset_request() race\n\nThe last fix for this function in fact opened up a much more often\ntriggering race.\n\nIt was uncommented tricky code, that was buggy.  Add comment, make it less\ntricky and fix bug.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9b9a04693fa2d9e60933154e4c4aca83c219ef0a",
      "tree": "c68562dfcf224e32c7bbbfdcad70caa758616881",
      "parents": [
        "64c6d8ed4c55f0a99b1b81558851da80c8d58244"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:31 2006 -0800"
      },
      "message": "[PATCH] fuse: move INIT handling to inode.c\n\nNow the INIT requests can be completely handled in inode.c and the\nfuse_send_init() function need not be global any more.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64c6d8ed4c55f0a99b1b81558851da80c8d58244",
      "tree": "b8cfa96b8de4357e969e9492bfea65b22b0cca88",
      "parents": [
        "69a53bf267fa58b89aa659d121dfe38436562a30"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:31 2006 -0800"
      },
      "message": "[PATCH] fuse: add asynchronous request support\n\nAdd possibility for requests to run asynchronously and call an \u0027end\u0027 callback\nwhen finished.\n\nWith this, the special handling of the INIT and RELEASE requests can be\ncleaned up too.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69a53bf267fa58b89aa659d121dfe38436562a30",
      "tree": "36276fdbf7bfdc787708e8d5b2d4b79a0b5a4c56",
      "parents": [
        "0cd5b88553acf0611474dbaf8e43770eed268060"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:30 2006 -0800"
      },
      "message": "[PATCH] fuse: add connection aborting\n\nAdd ability to abort a filesystem connection.\n\nWith the introduction of asynchronous reads, the ability to interrupt any\nrequest is not enough to dissolve deadlocks, since now waiting for the request\ncompletion (page unlocked) is independent of the actual request, so in a\ndeadlock all threads will be uninterruptible.\n\nThe solution is to make it possible to abort all requests, even those\ncurrently undergoing I/O to/from userspace.  The natural interface for this is\n\u0027mount -f mountpoint\u0027, but that only works as long as the filesystem is\nattached.  So also add an \u0027abort\u0027 attribute to the sysfs view of the\nconnection.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0cd5b88553acf0611474dbaf8e43770eed268060",
      "tree": "f3b08ab3a4a1cb42d92e2997f60f30d945601600",
      "parents": [
        "f543f253f3aa721a24557d7df8259145bb01b734"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:30 2006 -0800"
      },
      "message": "[PATCH] fuse: add number of waiting requests attribute\n\nThis patch adds the \u0027waiting\u0027 attribute which indicates how many filesystem\nrequests are currently waiting to be completed.  A non-zero value without any\nfilesystem activity indicates a hung or deadlocked filesystem.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f543f253f3aa721a24557d7df8259145bb01b734",
      "tree": "173fbfc0c90a2a615e1bd8a2bc49726c1824349c",
      "parents": [
        "9ba7cbba100bdaca7316d71d6c6298e61191f8b2"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:30 2006 -0800"
      },
      "message": "[PATCH] fuse: make fuse connection a kobject\n\nKobjectify fuse_conn, and make it visible under /sys/fs/fuse/connections.\n\nLacking any natural naming, connections are numbered.\n\nThis patch doesn\u0027t add any attributes, just the infrastructure.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9ba7cbba100bdaca7316d71d6c6298e61191f8b2",
      "tree": "999e964132731388ff312df78623020600fe32e2",
      "parents": [
        "d77a1d5b611742c538364f041ff4610d27b14fe7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:30 2006 -0800"
      },
      "message": "[PATCH] fuse: extend semantics of connected flag\n\nThe -\u003econnected flag for a fuse_conn object previously only indicated whether\nthe device file for this connection is currently open or not.\n\nChange it\u0027s meaning so that it indicates whether the connection is active or\nnot: now either umount or device release will clear the flag.\n\nThe separate -\u003emounted flag is still needed for handling background requests.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d77a1d5b611742c538364f041ff4610d27b14fe7",
      "tree": "c18cf2c112ad17e07a3e0d0459c55f04b257e3e3",
      "parents": [
        "83cfd4935124b165e942c317dc3e9ebb0a3e6a63"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:30 2006 -0800"
      },
      "message": "[PATCH] fuse: introduce list for requests under I/O\n\nCreate a new list for requests in the process of being transfered to/from\nuserspace.  This will be needed to be able to abort all requests even those\ncurrently under I/O\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83cfd4935124b165e942c317dc3e9ebb0a3e6a63",
      "tree": "6b6276dde7fbe07dd9e5d44332eef5f2b9451d4c",
      "parents": [
        "6383bdaa2ed2d461d9f4d369dfaa9d610fc972e3"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:30 2006 -0800"
      },
      "message": "[PATCH] fuse: introduce unified request state\n\nThe state of request was made up of 2 bitfields (-\u003esent and -\u003efinished) and of\nthe fact that the request was on a list or not.\n\nUnify this into a single state field.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6383bdaa2ed2d461d9f4d369dfaa9d610fc972e3",
      "tree": "2bdbc25280c0666c2f2f5869c5487541fa670579",
      "parents": [
        "8bfc016d2e2fff71c6843257f0fd0b60876331ed"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:29 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:30 2006 -0800"
      },
      "message": "[PATCH] fuse: miscellaneous cleanup\n\n - remove some unneeded assignments\n\n - use kzalloc instead of kmalloc + memset\n\n - simplify setting sb-\u003es_fs_info\n\n - in fuse_send_init() use fuse_get_request() instead of\n   do_get_request() helper\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8bfc016d2e2fff71c6843257f0fd0b60876331ed",
      "tree": "c12cff675fcd734a93a274545d93ef153939ad9f",
      "parents": [
        "b3bebd94bbe4e59dfa23d85b0296a4ce8ebcc6c7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:28 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:29 2006 -0800"
      },
      "message": "[PATCH] fuse: uninline some functions\n\nInline keyword is unnecessary in most cases.  Clean them up.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b3bebd94bbe4e59dfa23d85b0296a4ce8ebcc6c7",
      "tree": "87618ca8f6eb1a0317262610dd588af76201b186",
      "parents": [
        "f43b155a5a8a95b06bc0b4474fbb7311c7e9709a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:27 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:29 2006 -0800"
      },
      "message": "[PATCH] fuse: handle error INIT reply\n\nHandle the case when the INIT request is answered with an error.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f43b155a5a8a95b06bc0b4474fbb7311c7e9709a",
      "tree": "482a03476b71498939adb9aa7ec1a4c072902927",
      "parents": [
        "222f1d69183f10d70a37de5785698fe0aa363c12"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:26 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:29 2006 -0800"
      },
      "message": "[PATCH] fuse: fix request_end()\n\nThis function used the request object after decrementing its reference count\nand releasing the lock.  This could in theory lead to all sorts of problems.\n\nFix and simplify at the same time.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "222f1d69183f10d70a37de5785698fe0aa363c12",
      "tree": "14eeb42423e9feb390a52ce2cf0453c346e92b98",
      "parents": [
        "f87fd4c2a0c4f3baad28057360b36a59591ef751"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:25 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:29 2006 -0800"
      },
      "message": "[PATCH] fuse: fuse_copy_finish() order fix\n\nfuse_copy_finish() must be called before request_end(), since the later might\nsleep, and no sleeping is allowed between fuse_copy_one() and\nfuse_copy_finish() because of kmap_atomic()/kunmap_atomic() used in them.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3ec870d524c9150add120475c8ddcfa50574f98e",
      "tree": "62918ff93aac09bc13d4730208a8c8bc1fec4e40",
      "parents": [
        "1d3d752b471d2a3a1d5e4fe177e5e7d52abb4e4c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:56 2006 -0800"
      },
      "message": "[PATCH] fuse: make maximum write data configurable\n\nMake the maximum size of write data configurable by the filesystem.  The\nprevious fixed 4096 limit only worked on architectures where the page size is\nless or equal to this.  This change make writing work on other architectures\ntoo, and also lets the filesystem receive bigger write requests in direct_io\nmode.\n\nNormal writes which go through the page cache are still limited to a page\nsized chunk per request.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1d3d752b471d2a3a1d5e4fe177e5e7d52abb4e4c",
      "tree": "05c6c99ca02118e2c80199c36f4f6263cdf7986b",
      "parents": [
        "248d86e87d12da19eee602075f05a49a5215288b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:56 2006 -0800"
      },
      "message": "[PATCH] fuse: clean up request size limit checking\n\nChange the way a too large request is handled.  Until now in this case the\ndevice read returned -EINVAL and the operation returned -EIO.\n\nMake it more flexibible by not returning -EINVAL from the read, but restarting\nit instead.\n\nAlso remove the fixed limit on setxattr data and let the filesystem provide as\nlarge a read buffer as it needs to handle the extended attribute data.\n\nThe symbolic link length is already checked by VFS to be less than PATH_MAX,\nso the extra check against FUSE_SYMLINK_MAX is not needed.\n\nThe check in fuse_create_open() against FUSE_NAME_MAX is not needed, since the\ndentry has already been looked up, and hence the name already checked.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "45714d65618407bce1fd0271bc58303ce14b0785",
      "tree": "f1f53819fc9dcc04fb9bc7145fcaddc6f8b81fe9",
      "parents": [
        "4633a22e7added835fd1d4b072dbcc4474aa3017"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:36 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:55 2006 -0800"
      },
      "message": "[PATCH] fuse: bump interface version\n\nChange interface version to 7.4.\n\nFollowing changes will need backward compatibility support, so store the minor\nversion returned by userspace.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fd72faac95d7e47610e981d7ed7b3c1529e55c88",
      "tree": "65cde1eb6958f410c4b4c72e322fd59db463150f",
      "parents": [
        "31d40d74b402a6fa18a006fb3745f64609f35b77"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 07 00:59:51 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:42 2005 -0800"
      },
      "message": "[PATCH] FUSE: atomic create+open\n\nThis patch adds an atomic create+open operation.  This does not yet work if\nthe file type changes between lookup and create+open, but solves the\npermission checking problems for the separte create and open methods.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1779381dea3bada407396742c56bee31ffa8544e",
      "tree": "bf24990d1ba97eed5a60d9a795ba35620cace757",
      "parents": [
        "2a38bccd0c63a4954ea4e1357cbff404aa321afb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:51 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:24 2005 -0800"
      },
      "message": "[PATCH] fuse: spelling fixes\n\nCorrect some typos and inconsistent use of \"initialise\" vs \"initialize\" in\ncomments.  Reported by Ioannis Barkas.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7c352bdf048811b8128019ffc1e886161e09c11c",
      "tree": "74c48298b67d37295433d9b2bb08d590a5f97a78",
      "parents": [
        "8254798199332966e2ab647380c990193af7e854"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:48 2005 -0700"
      },
      "message": "[PATCH] FUSE: don\u0027t allow restarting of system calls\n\nThis patch removes ability to interrupt and restart operations while there\nhasn\u0027t been any side-effect.\n\nThe reason: applications.  There are some apps it seems that generate\nsignals at a fast rate.  This means, that if the operation cannot make\nenough progress between two signals, it will be restarted for ever.  This\nbug actually manifested itself with \u0027krusader\u0027 trying to open a file for\nwriting under sshfs.  Thanks to Eduard Czimbalmos for the report.\n\nThe problem can be solved just by making open() uninterruptible, because in\nthis case it was the truncate operation that slowed down the progress.  But\nit\u0027s better to solve this by simply not allowing interrupts at all (except\nSIGKILL), because applications don\u0027t expect file operations to be\ninterruptible anyway.  As an added bonus the code is simplified somewhat.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "04730fef1f9c7277e5c730b193e681ac095b0507",
      "tree": "3694ea435eb38f10dadc5c8b6abd603a7e10f52e",
      "parents": [
        "413ef8cb302511d8e995e2b0e5517ee1a65b9c77"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:47 2005 -0700"
      },
      "message": "[PATCH] fuse: transfer readdir data through device\n\nThis patch removes a long lasting \"hack\" in FUSE, which used a separate\nchannel (a file descriptor refering to a disk-file) to transfer directory\ncontents from userspace to the kernel.\n\nThe patch adds three new operations (OPENDIR, READDIR, RELEASEDIR), which\nhave semantics and implementation exactly maching the respective file\noperations (OPEN, READ, RELEASE).\n\nThis simplifies the directory reading code.  Also disk space is not\nnecessary, which can be important in embedded systems.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1e9a4ed9396e9c31139721b639550ffb1df17065",
      "tree": "213566cf1294f5dd8f6ff62ceb3557b5f5b6c59c",
      "parents": [
        "b6aeadeda22a9aa322fdfcd3f4c69ccf0da5cbdd"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - mount options\n\nThis patch adds miscellaneous mount options to the FUSE filesystem.\n\nThe following mount options are added:\n\n o default_permissions:  check permissions with generic_permission()\n o allow_other:          allow other users to access files\n o allow_root:           allow root to access files\n o kernel_cache:         don\u0027t invalidate page cache on open\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e5e5558e923f35839108a12718494ecb73fb782f",
      "tree": "c410d6826e9df13f7ea9e382a26589b66ec0989c",
      "parents": [
        "334f485df85ac7736ebe14940bf0a059c5f26d7d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - read-only operations\n\nThis patch adds the read-only filesystem operations of FUSE.\n\nThis contains the following files:\n\n o dir.c\n    - directory, symlink and file-inode operations\n\nThe following operations are added:\n\n o lookup\n o getattr\n o readlink\n o follow_link\n o directory open\n o readdir\n o directory release\n o permission\n o dentry revalidate\n o statfs\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "334f485df85ac7736ebe14940bf0a059c5f26d7d",
      "tree": "754e5528289048a7104f4c1b431cebc1df16e2ce",
      "parents": [
        "d8a5ba45457e4a22aa39c939121efd7bb6c76672"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:44 2005 -0700"
      },
      "message": "[PATCH] FUSE - device functions\n\nThis adds the FUSE device handling functions.\n\nThis contains the following files:\n\n o dev.c\n    - fuse device operations (read, write, release, poll)\n    - registers misc device\n    - support for sending requests to userspace\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ]
}
