)]}'
{
  "log": [
    {
      "commit": "8aa09a50b5d9dbdf627f79e19d72d82994348089",
      "tree": "5b50a1b62c8b95223023053595c452b0641f5767",
      "parents": [
        "6dbbcb120570d747b00783820ee02d1e1bcf63de"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:16 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Apr 26 10:49:16 2006 +0200"
      },
      "message": "[fuse] fix race between checking and setting file-\u003eprivate_data\n\nBKL does not protect against races if the task may sleep between\nchecking and setting a value.  So move checking of file-\u003eprivate_data\nnear to setting it in fuse_fill_super().\n\nFound by Al Viro.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\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": "56cf34ff0795692327234963dcdcc2cdeec2bb3d",
      "tree": "d7b4b736654176c361c5e78d0a8a8ef6dca9e976",
      "parents": [
        "4858cae4f0904681eab58a16891c22397618a2a2"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 11 21:16:51 2006 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 11 21:16:51 2006 +0200"
      },
      "message": "[fuse] Direct I/O  should not use fuse_reset_request\n\nIt\u0027s cleaner to allocate a new request, otherwise the uid/gid/pid\nfields of the request won\u0027t be filled in.\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": "d3406ffa4af8af1d7c14cff06e003eb0a557d4ad",
      "tree": "e521174613659a167f56e9890c403f9fa95a50ca",
      "parents": [
        "3e16f6afb267c0256416d481862ce8019c33417d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Apr 10 22:54:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Apr 11 06:18:47 2006 -0700"
      },
      "message": "[PATCH] fuse: fix oops in fuse_send_readpages()\n\nDuring heavy parallel filesystem activity it was possible to Oops the kernel.\nThe reason is that read_cache_pages() could skip pages which have already been\ninserted into the cache by another task.  Occasionally this may result in zero\npages actually being sent, while fuse_send_readpages() relies on at least one\npage being in the request.\n\nSo check this corner case and just free the request instead of trying to send\nit.\n\nReported and tested by Konstantin Isakov.\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": "50322fe7d46b544d5649edb58bdbe5c95dd44b98",
      "tree": "0d6b61c08b2e61657278b7ff54529013f9e46d85",
      "parents": [
        "511030bcd24119fa3759ef3f914d354e107ef839"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Feb 28 16:59:03 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Feb 28 20:53:43 2006 -0800"
      },
      "message": "[PATCH] fuse: fix bug in negative lookup\n\nIf negative entries (nodeid \u003d\u003d 0) were sent in reply to LOOKUP requests,\ntwo bugs could be triggered:\n\n- looking up a negative entry would return -EIO,\n\n- revaildate on an entry which turned negative would send a FORGET\n  request with zero nodeid, which would cause an abort() in the\n  library.\n\nThe above would only happen if the \u0027negative_timeout\u003dN\u0027 option was used,\notherwise lookups reply -ENOENT, which worked correctly.\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": "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": "9cd684551124e71630ab96d238747051463f5b56",
      "tree": "52de759d09d79ded7ff6746a3e2d5c002c75b2f8",
      "parents": [
        "caf736085f2f0d22a992a855d9caae14973f7ea4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Feb 01 03:04:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:09 2006 -0800"
      },
      "message": "[PATCH] fuse: fix async read for legacy filesystems\n\nWhile asynchronous reads mean a performance improvement in most cases, if\nthe filesystem assumed that reads are synchronous, then async reads may\ndegrade performance (filesystem may receive reads out of order, which can\nconfuse it\u0027s own readahead logic).\n\nWith sshfs a 1.5 to 4 times slowdown can be measured.\n\nThere\u0027s also a need for userspace filesystems to know whether asynchronous\nreads are supported by the kernel or not.\n\nTo achive these, negotiate in the INIT request whether async reads will be\nused and the maximum readahead value.  Update interface version to 7.6\n\nIf userspace uses a version earlier than 7.6, then disable async reads, and\nset maximum readahead value to the maximum read size, as done in previous\nversions.\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": "095da6cbb6a1c54c19b11190218eb0fbac666b6d",
      "tree": "29ba46cea17454fe1888182f6722aee64e1a7ef5",
      "parents": [
        "bacac382fbf53f717ca7f83558e45cce44e67df9"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:31 2006 -0800"
      },
      "message": "[PATCH] fuse: fix bitfield race\n\nFix race in setting bitfields of fuse_conn.  Spotted by Andrew Morton.\n\nThe two fields -\u003econnected and -\u003emounted were always changed with the\nfuse_lock held.  But other bitfields in the same structure were changed\nwithout the lock.  In theory this could lead to losing the assignment of\neven the ones under lock.  The chosen solution is to change these two\nfields to be a full unsigned type.  The other bitfields aren\u0027t \"important\"\nenough to warrant the extra complexity of full locking or changing them to\nbitops.\n\nFor all bitfields document why they are safe wrt. concurrent\nassignments.\n\nAlso make the initialization of the \u0027num_waiting\u0027 atomic counter explicit.\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": "c1aa96a52e9594fb16296c0d76c2066773d62933",
      "tree": "a4fce3fa93710d66f536a8333be97fb629429eed",
      "parents": [
        "361b1eb55ea84181505c7f0674ca1205da1127ab"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:46 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:31 2006 -0800"
      },
      "message": "[PATCH] fuse: use asynchronous READ requests for readpages\n\nThis patch changes fuse_readpages() to send READ requests asynchronously.\n\nThis makes it possible for userspace filesystems to utilize the kernel\nreadahead logic instead of having to implement their own (resulting in double\ncaching).\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": "361b1eb55ea84181505c7f0674ca1205da1127ab",
      "tree": "f0151b501120447eeb67d73e90142c079c7650e4",
      "parents": [
        "9b9a04693fa2d9e60933154e4c4aca83c219ef0a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Jan 16 22:14:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jan 16 23:15:31 2006 -0800"
      },
      "message": "[PATCH] fuse: READ request initialization\n\nAdd a separate function for filling in the READ request.  This will make it\npossible to send asynchronous READ requests as well as synchronous ones.\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": "1b1dcc1b57a49136f118a0f16367256ff9994a69",
      "tree": "b0b36d4f41d28c9d6514fb309d33c1a084d6309b",
      "parents": [
        "794ee1baee1c26be40410233e6c20bceb2b03c08"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@hera.kernel.org",
        "time": "Mon Jan 09 15:59:24 2006 -0800"
      },
      "message": "[PATCH] mutex subsystem, semaphore to mutex: VFS, -\u003ei_sem\n\nThis patch converts the inode semaphore to a mutex. I have tested it on\nXFS and compiled as much as one can consider on an ia64. Anyway your\nluck with it might be different.\n\nModified-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n(finished the conversion)\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39ee059affaf57a152c64cd3a0adc3f48f02ed71",
      "tree": "d656f8b3eb40cd1019a82d4381bbfa33e6caec8e",
      "parents": [
        "6ad84acab972f4dfc78e6fdb04c419f82c497d29"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:43 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:56 2006 -0800"
      },
      "message": "[PATCH] fuse: check file type in lookup\n\nPreviously invalid types were quietly changed to regular files, but at\nrevalidation the inode was changed to bad.  This was rather inconsistent\nbehavior.\n\nNow check if the type is valid on initial lookup, and return -EIO if not.\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": "6ad84acab972f4dfc78e6fdb04c419f82c497d29",
      "tree": "d1a1370c158fbbf42b5e6d66e5f8046ac7bb9485",
      "parents": [
        "3ec870d524c9150add120475c8ddcfa50574f98e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:42 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:56 2006 -0800"
      },
      "message": "[PATCH] fuse: ensure progress in read and write\n\nIn direct_io mode, send at least one page per reqest.  Previously it was\npossible that reqests with zero data were sent, and hence the read/write\ndidn\u0027t make any progress, resulting in an infinite (though interruptible)\nloop.\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": "248d86e87d12da19eee602075f05a49a5215288b",
      "tree": "dd6a1159db054102100b2dd37e67022a65dbcf73",
      "parents": [
        "6f9f11806af8ad3a107714a3ece56c1c4fafd047"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:55 2006 -0800"
      },
      "message": "[PATCH] fuse: fail file operations on bad inode\n\nMake file operations on a bad inode fail.  This just makes things a\nbit more consistent.\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": "6f9f11806af8ad3a107714a3ece56c1c4fafd047",
      "tree": "175012a2f6bb9737f5eee127aa5ceece5899a657",
      "parents": [
        "8cbdf1e6f6876b37d2a0d96fd15ea9f90f7d51c1"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:39 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:55 2006 -0800"
      },
      "message": "[PATCH] fuse: add code documentation\n\nDocument some not-so-trivial functions.\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": "8cbdf1e6f6876b37d2a0d96fd15ea9f90f7d51c1",
      "tree": "03633d1c84e651b2e9fafda1159847a05b89b0b2",
      "parents": [
        "de5f12025572ef8fcffa4be5453061725acfb754"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:55 2006 -0800"
      },
      "message": "[PATCH] fuse: support caching negative dentries\n\nAdd support for caching negative dentries.\n\nUp till now, -\u003ed_revalidate() always forced a new lookup on these.  Now let\nthe lookup method return a zero node ID (not used for anything else) meaning a\nnegative entry, but with a positive cache timeout.  The old way of signaling\nnegative entry (replying ENOENT) still works.\n\nUserspace should check the ABI minor version to see whether sending a zero ID\nis allowed by the kernel or not.\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": "de5f12025572ef8fcffa4be5453061725acfb754",
      "tree": "5d3f54fa7619fd7cc1ddddb037d31b280e3f3dba",
      "parents": [
        "45714d65618407bce1fd0271bc58303ce14b0785"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:37 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:55 2006 -0800"
      },
      "message": "[PATCH] fuse: add frsize to statfs reply\n\nAdd \u0027frsize\u0027 member to the statfs reply.\n\nI\u0027m not sure if sending f_fsid will ever be needed, but just in case leave\nsome space at the end of the structure, so less compatibility mess would be\nrequired.\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": "4633a22e7added835fd1d4b072dbcc4474aa3017",
      "tree": "99561b341f42be443ac27257658a0237abc15a84",
      "parents": [
        "0aa7c6990e7de06131cdc14ef4abfcab017c24a0"
      ],
      "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: clean up page offset calculation\n\nUse page_offset() instead of doing page offset calculation by hand.\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": "0aa7c6990e7de06131cdc14ef4abfcab017c24a0",
      "tree": "b233db019a145d1b80bd94f775973cceec1b343c",
      "parents": [
        "524e3b623a9228efbdb70484b5214f27a1ca985d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Jan 06 00:19:34 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jan 06 08:33:54 2006 -0800"
      },
      "message": "[PATCH] fuse: clean up fuse_lookup()\n\nSimplify fuse_lookup() and related functions.\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": "2827d0b23b7279d0a717eea4029efeef2e1b0183",
      "tree": "3d4be5d41404eec385027f434a83abad7f28111d",
      "parents": [
        "f007d5c961448170d0ec2998b1a80eef054b6235"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 28 13:44:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:26 2005 -0800"
      },
      "message": "[PATCH] fuse: check for invalid node ID in fuse_create_open()\n\nCheck for invalid node ID values in the new atomic create+open method.\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": "f007d5c961448170d0ec2998b1a80eef054b6235",
      "tree": "92f1d45fe8f2663e500fee1ddc8e5ea97cbc943f",
      "parents": [
        "ea164d73a7a0b2b2be3a1d8c2a8a4dab8999fa9c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 28 13:44:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 28 14:42:26 2005 -0800"
      },
      "message": "[PATCH] fuse: check directory aliasing in mkdir\n\nCheck the created directory inode for aliases in the mkdir() method.\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": "befc649c2274a1c35f0cd1e888dd83652cbb0422",
      "tree": "ccbbc9f286c50dd8c9f036408b71acda9f5dd427",
      "parents": [
        "fd72faac95d7e47610e981d7ed7b3c1529e55c88"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 07 00:59:52 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:42 2005 -0800"
      },
      "message": "[PATCH] FUSE: pass file handle in setattr\n\nThis patch passes the file handle supplied in iattr to userspace, in case the\n-\u003esetattr() was invoked from sys_ftruncate().  This solves the permission\nchecking (or lack thereof) in ftruncate() for the class of filesystems served\nby an unprivileged userspace process.\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": "31d40d74b402a6fa18a006fb3745f64609f35b77",
      "tree": "ee8c61e814fcae687e3ba3f8ed4828d6d34f8ff2",
      "parents": [
        "5b62073d502a88fedc5c369f8a004bda7c9d1999"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 07 00:59:50 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:42 2005 -0800"
      },
      "message": "[PATCH] FUSE: add access call\n\nAdd a new access call, which will only be called if -\u003epermission is invoked\nfrom sys_access().  In all other cases permission checking is delayed until\nthe actual filesystem 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": "d8ba3b731086bcae5468f9ea509f39a921b3f9a6",
      "tree": "cf75a8ea1bad960b431dccceae83b4ac09729399",
      "parents": [
        "274b69335d8f18fe198af2d939331f01fec70659"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Nov 07 00:59:26 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:37 2005 -0800"
      },
      "message": "[PATCH] fuse: remove dead code from fuse_permission\n\nThe -EROFS check has moved up to permission() in the VFS a while ago.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\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": "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": "f12ec44070f6b4d1a3911fcf9917cf8f872a4daf",
      "tree": "aaaa60dc437720372637a5a95f4fcd7648d7b9c5",
      "parents": [
        "15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:25 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:21 2005 -0800"
      },
      "message": "[PATCH] fuse: clean up dead code related to nfs exporting\n\nRemove last remains of NFS exportability support.\n\nThe code is actually buggy (as reported by Akshat Aranya), since \u0027alias\u0027\nwill be leaked if it\u0027s non-null and alias-\u003ed_flags has DCACHE_DISCONNECTED.\n\nThis is not an active bug, since there will never be any disconnected\ndentries.  But it\u0027s better to get rid of the unnecessary complexity anyway.\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": "dd190d066b7ded8c44b2b67dd0a14bed01525d3c",
      "tree": "a76e0425ca910b3f0bf6c773349004feceba27f3",
      "parents": [
        "daa35edc0a967d1f77c2e2c1346f57d04371487a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 30 11:59:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 30 12:41:18 2005 -0700"
      },
      "message": "[PATCH] fuse: check O_DIRECT\n\nCheck O_DIRECT and return -EINVAL error in open.  dentry_open() also checks\nthis but only after the open method is called.  This patch optimizes away\nthe unnecessary upcalls in this case.\n\nIt could be a correctness issue too: if filesystem has open() with side\neffect, then it should fail before doing the open, not after.\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": "ee4e52719ce474af339f4b81ece2ce9ecf920dfd",
      "tree": "ffcc4b530d1cc88d35b665b7efcfc93a0044800f",
      "parents": [
        "909021ea7a8f4ef13af54935b87b03a20906e08a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Sep 27 21:45:21 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 28 07:46:40 2005 -0700"
      },
      "message": "[PATCH] fuse: check reserved node ID values\n\nThis patch checks reserved node ID values returned by lookup and creation\noperations.  In case one of the reserved values is sent, return -EIO.\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": "8254798199332966e2ab647380c990193af7e854",
      "tree": "ad4a9721a872fbdec0be107f35684864a1a94053",
      "parents": [
        "b36c31ba95f0fe0a03c727300d9c4c54438a5636"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:47 2005 -0700"
      },
      "message": "[PATCH] FUSE: add fsync operation for directories\n\nThis patch adds a new FSYNCDIR request, which is sent when fsync is called\non directories.  This operation is available in libfuse 2.3-pre1 or\ngreater.\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": "b36c31ba95f0fe0a03c727300d9c4c54438a5636",
      "tree": "092a83bc7f351bdd66aafee0f59fddba982b4317",
      "parents": [
        "45323fb76465a9576220c7427dbac7b1e7ad3caf"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:47 2005 -0700"
      },
      "message": "[PATCH] fuse: don\u0027t update file times\n\nDon\u0027t change mtime/ctime/atime to local time on read/write.  Rather invalidate\nfile attributes, so next stat() will force a GETATTR call.  Bug reported by\nBen Grimm.\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": "45323fb76465a9576220c7427dbac7b1e7ad3caf",
      "tree": "5d3e5f9a01cdaf6aaabe38520d5bd5b2d744acd5",
      "parents": [
        "04730fef1f9c7277e5c730b193e681ac095b0507"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:37 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:47 2005 -0700"
      },
      "message": "[PATCH] fuse: more flexible caching\n\nMake data caching behavior selectable on a per-open basis instead of\nper-mount.  Compatibility for the old mount options \u0027kernel_cache\u0027 and\n\u0027direct_io\u0027 is retained in the userspace library (version 2.4.0-pre1 or\nlater).\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": "413ef8cb302511d8e995e2b0e5517ee1a65b9c77",
      "tree": "59acb15a73fa0dc4393a086fb83f016105d84b2a",
      "parents": [
        "5a53368277efa2d80dd2206dddc1f4b19ef0c32a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:35 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] FUSE - direct I/O\n\nThis patch adds support for the \"direct_io\" mount option of FUSE.\n\nWhen this mount option is specified, the page cache is bypassed for\nread and write operations.  This is useful for example, if the\nfilesystem doesn\u0027t know the size of files before reading them, or when\nany kind of caching is harmful.\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": "5a53368277efa2d80dd2206dddc1f4b19ef0c32a",
      "tree": "decdf01b0019bf3d0f04d3426b8d6e2d18641eb3",
      "parents": [
        "87729a5514e855ce2c71e3e33833a106b8caf2ae"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] fuse: stricter mount option checking\n\nCheck for the presence of all mandatory mount options.\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": "87729a5514e855ce2c71e3e33833a106b8caf2ae",
      "tree": "dd2e7a9fd96b2dd3ebc3951fef2d682e83aa6bb4",
      "parents": [
        "db50b96c0f28a21c5a4a19ecaba12d0972aab06a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] FUSE: tighten check for processes allowed access\n\nThis patch tightens the check for allowing processes to access non-privileged\nmounts.  The rational is that the filesystem implementation can control the\nbehavior or get otherwise unavailable information of the filesystem user.  If\nthe filesystem user process has the same uid, gid, and is not suid or sgid\napplication, then access is safe.  Otherwise access is not allowed unless the\n\"allow_other\" mount option is given (for which policy is controlled by the\nuserspace mount utility).\n\nThanks to everyone linux-fsdevel, especially Martin Mares who helped uncover\nproblems with the previous approach.\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": "db50b96c0f28a21c5a4a19ecaba12d0972aab06a",
      "tree": "d7f2cb99de499c116ce08153a369044af0622c16",
      "parents": [
        "06663267b4b1e85ece73236ea720355668d4f736"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] FUSE - readpages operation\n\nThis patch adds readpages support to FUSE.\n\nWith the help of the readpages() operation multiple reads are bundled\ntogether and sent as a single request to userspace.  This can improve\nreading performace.\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": "92a8780e1136c5ca0c7ed940000d399943d1576e",
      "tree": "b7fb327d66c06b47156f157c470f3ac7fed31682",
      "parents": [
        "1e9a4ed9396e9c31139721b639550ffb1df17065"
      ],
      "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 - extended attribute operations\n\nThis patch adds the extended attribute operations to FUSE.\n\nThe following operations are added:\n\n o getxattr\n o setxattr\n o listxattr\n o removexattr\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": "b6aeadeda22a9aa322fdfcd3f4c69ccf0da5cbdd",
      "tree": "794afec0eeb13722550a97783ec0cfb95e5e83cb",
      "parents": [
        "9e6268db496a2592e89457537ea54a496feabb77"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - file operations\n\nThis patch adds the file operations of FUSE.\n\nThe following operations are added:\n\n o open\n o flush\n o release\n o fsync\n o readpage\n o commit_write\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": "9e6268db496a2592e89457537ea54a496feabb77",
      "tree": "e01d0d7585886fd318b6f16de9329349a629e3f8",
      "parents": [
        "e5e5558e923f35839108a12718494ecb73fb782f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:45 2005 -0700"
      },
      "message": "[PATCH] FUSE - read-write operations\n\nThis patch adds the write filesystem operations of FUSE.\n\nThe following operations are added:\n\n o setattr\n o symlink\n o mknod\n o mkdir\n o create\n o unlink\n o rmdir\n o rename\n o link\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"
    },
    {
      "commit": "d8a5ba45457e4a22aa39c939121efd7bb6c76672",
      "tree": "686aa90d8c953326b8d2eeef9352e456cdb0ad52",
      "parents": [
        "04578f174f43d29b569500f01ba772afa4016330"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:44 2005 -0700"
      },
      "message": "[PATCH] FUSE - core\n\nThis patch adds FUSE core.\n\nThis contains the following files:\n\n o inode.c\n    - superblock operations (alloc_inode, destroy_inode, read_inode,\n      clear_inode, put_super, show_options)\n    - registers FUSE filesystem\n\n o fuse_i.h\n    - private header file\n\nRequirements\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n The most important difference between orinary filesystems and FUSE is\n the fact, that the filesystem data/metadata is provided by a userspace\n process run with the privileges of the mount \"owner\" instead of the\n kernel, or some remote entity usually running with elevated\n privileges.\n\n The security implication of this is that a non-privileged user must\n not be able to use this capability to compromise the system.  Obvious\n requirements arising from this are:\n\n  - mount owner should not be able to get elevated privileges with the\n    help of the mounted filesystem\n\n  - mount owner should not be able to induce undesired behavior in\n    other users\u0027 or the super user\u0027s processes\n\n  - mount owner should not get illegitimate access to information from\n    other users\u0027 and the super user\u0027s processes\n\n These are currently ensured with the following constraints:\n\n  1) mount is only allowed to directory or file which the mount owner\n    can modify without limitation (write access + no sticky bit for\n    directories)\n\n  2) nosuid,nodev mount options are forced\n\n  3) any process running with fsuid different from the owner is denied\n     all access to the filesystem\n\n 1) and 2) are ensured by the \"fusermount\" mount utility which is a\n    setuid root application doing the actual mount operation.\n\n 3) is ensured by a check in the permission() method in kernel\n\n I started thinking about doing 3) in a different way because Christoph\n H. made a big deal out of it, saying that FUSE is unacceptable into\n mainline in this form.\n\n The suggested use of private namespaces would be OK, but in their\n current form have many limitations that make their use impractical (as\n discussed in this thread).\n\n Suggested improvements that would address these limitations:\n\n   - implement shared subtrees\n\n   - allow a process to join an existing namespace (make namespaces\n     first-class objects)\n\n   - implement the namespace creation/joining in a PAM module\n\n With all that in place the check of owner against current-\u003efsuid may\n be removed from the FUSE kernel module, without compromising the\n security requirements.\n\n Suid programs still interesting questions, since they get access even\n to the private namespace causing some information leak (exact\n order/timing of filesystem operations performed), giving some\n ptrace-like capabilities to unprivileged users.  BTW this problem is\n not strictly limited to the namespace approach, since suid programs\n setting fsuid and accessing users\u0027 files will succeed with the current\n approach 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"
    }
  ]
}
