)]}'
{
  "log": [
    {
      "commit": "dd3bb14f44a6382de2508ec387c7e5569ad2d4f1",
      "tree": "4c84a75f9f40a55f7f7d6da0e3c83b2f073bf4e8",
      "parents": [
        "b5dd328537edeb4c1d2e71e344b6c443e0874d90"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue May 25 15:06:06 2010 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue May 25 15:06:06 2010 +0200"
      },
      "message": "fuse: support splice() writing to fuse device\n\nAllow userspace filesystem implementation to use splice() to write to\nthe fuse device.  The semantics of using splice() are:\n\n 1) buffer the message header and data in a temporary pipe\n 2) with a *single* splice() call move the message from the temporary pipe\n    to the fuse device\n\nThe READ reply message has the most interesting use for this, since\nnow the data from an arbitrary file descriptor (which could be a\nregular file, a block device or a socket) can be tranferred into the\nfuse device without having to go through a userspace buffer.  It will\nalso allow zero copy moving of pages.\n\nOne caveat is that the protocol on the fuse device requires the length\nof the whole message to be written into the header.  But the length of\nthe data transferred into the temporary pipe may not be known in\nadvance.  The current library implementation works around this by\nusing vmplice to write the header and modifying the header after\nsplicing the data into the pipe (error handling omitted):\n\n\tstruct fuse_out_header out;\n\n\tiov.iov_base \u003d \u0026out;\n\tiov.iov_len \u003d sizeof(struct fuse_out_header);\n\tvmsplice(pip[1], \u0026iov, 1, 0);\n\tlen \u003d splice(input_fd, input_offset, pip[1], NULL, len, 0);\n\t/* retrospectively modify the header: */\n\tout.len \u003d len + sizeof(struct fuse_out_header);\n\tsplice(pip[0], NULL, fuse_chan_fd(req-\u003ech), NULL, out.len, flags);\n\nThis works since vmsplice only saves a pointer to the data, it does\nnot copy the data itself.\n\nSince pipes are currently limited to 16 pages and messages need to be\nspliced atomically, the length of the data is limited to 15 pages (or\n60kB for 4k pages).\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "37d217f029a56a6d385f99773fb27dfcb51f9a46",
      "tree": "90b8cf1f1b77d8ff732dc2ee8ab032aaabfbdcd1",
      "parents": [
        "7a6d3c8b3049d07123628f2bf57127bba2cc878f"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Jul 08 18:17:58 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Jul 08 18:17:58 2009 +0200"
      },
      "message": "fuse: document protocol version negotiation\n\nClarify how the protocol version should be negotiated between kernel\nand userspace.  Notably libfuse didn\u0027t correctly handle the case when\nthe supported major versions didn\u0027t match.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "7a6d3c8b3049d07123628f2bf57127bba2cc878f",
      "tree": "bfa09bd7e87753eb777699e0566e396ae639532c",
      "parents": [
        "8e4a718ff38d8539938ec3421935904c27e00c39"
      ],
      "author": {
        "name": "Csaba Henk",
        "email": "csaba@gluster.com",
        "time": "Wed Jul 01 17:28:41 2009 -0700"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jul 07 17:28:52 2009 +0200"
      },
      "message": "fuse: make the number of max background requests and congestion threshold tunable\n\nThe practical values for these limits depend on the design of the\nfilesystem server so let userspace set them at initialization time.\n\nSigned-off-by: Csaba Henk \u003ccsaba@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "3b463ae0c6264f70e5d4c0a9c46af20fed43c96e",
      "tree": "03c6abdd0671d74452cbd1f6fc6d637363eb6389",
      "parents": [
        "e0a43ddcc08c34dbd666d93600fd23914505f4aa"
      ],
      "author": {
        "name": "John Muir",
        "email": "muirj@nortel.com",
        "time": "Sun May 31 11:13:57 2009 -0400"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:12:24 2009 +0200"
      },
      "message": "fuse: invalidation reverse calls\n\nAdd notification messages that allow the filesystem to invalidate VFS\ncaches.\n\nTwo notifications are added:\n\n 1) inode invalidation\n\n   - invalidate cached attributes\n   - invalidate a range of pages in the page cache (this is optional)\n\n 2) dentry invalidation\n\n   - try to invalidate a subtree in the dentry cache\n\nCare must be taken while accessing the \u0027struct super_block\u0027 for the\nmount, as it can go away while an invalidation is in progress.  To\nprevent this, introduce a rw-semaphore, that is taken for read during\nthe invalidation and taken for write in the -\u003ekill_sb callback.\n\nCc: Csaba Henk \u003ccsaba@gluster.com\u003e\nCc: Anand Avati \u003cavati@zresearch.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "e0a43ddcc08c34dbd666d93600fd23914505f4aa",
      "tree": "103449845b1ffaf8f32ed98a1a543276227ec087",
      "parents": [
        "201fa69a2849536ef2912e8e971ec0b01c04eff4"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:12:23 2009 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 30 20:12:23 2009 +0200"
      },
      "message": "fuse: allow umask processing in userspace\n\nThis patch lets filesystems handle masking the file mode on creation.\nThis is needed if filesystem is using ACLs.\n\n - The CREATE, MKDIR and MKNOD requests are extended with a \"umask\"\n   parameter.\n\n - A new FUSE_DONT_MASK flag is added to the INIT request/reply.  With\n   this the filesystem may request that the create mode is not masked.\n\nCC: Jean-Pierre André \u003cjean-pierre.andre@wanadoo.fr\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "151060ac13144208bd7601d17e4c92c59b98072f",
      "tree": "c93ba28042bcb7917c9098b449756cbe84fb0a51",
      "parents": [
        "08cbf542bf24fb0481a54526b177347ae4046f5e"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Apr 14 10:54:54 2009 +0900"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Jun 09 11:24:11 2009 +0200"
      },
      "message": "CUSE: implement CUSE - Character device in Userspace\n\nCUSE enables implementing character devices in userspace.  With recent\nadditions of ioctl and poll support, FUSE already has most of what\u0027s\nnecessary to implement character devices.  All CUSE has to do is\nbonding all those components - FUSE, chardev and the driver model -\nnicely.\n\nWhen client opens /dev/cuse, kernel starts conversation with\nCUSE_INIT.  The client tells CUSE which device it wants to create.  As\nthe previous patch made fuse_file usable without associated\nfuse_inode, CUSE doesn\u0027t create super block or inodes.  It attaches\nfuse_file to cdev file-\u003eprivate_data during open and set ff-\u003efi to\nNULL.  The rest of the operation is almost identical to FUSE direct IO\ncase.\n\nEach CUSE device has a corresponding directory /sys/class/cuse/DEVNAME\n(which is symlink to /sys/devices/virtual/class/DEVNAME if\nSYSFS_DEPRECATED is turned off) which hosts \"waiting\" and \"abort\"\namong other things.  Those two files have the same meaning as the FUSE\ncontrol files.\n\nThe only notable lacking feature compared to in-kernel implementation\nis mmap support.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "1f55ed06cf0c361b293b32e5947d35d173eff2aa",
      "tree": "6296fe27bfacb63fcf16100888e19f69948ebaee",
      "parents": [
        "43901aabd7a043e62e24e9459dc4949b4cd69f07"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon Dec 01 19:14:02 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.de",
        "time": "Mon Dec 01 19:14:02 2008 +0100"
      },
      "message": "fuse: update interface version\n\nChange interface version to 7.11 after adding the IOCTL and POLL\nmessages.\n\nAlso clean up the \u003clinux/fuse.h\u003e header a bit:\n  - update copyright date to 2008\n  - fix checkpatch warning:\n      WARNING: Use #include \u003clinux/types.h\u003e instead of \u003casm/types.h\u003e\n  - remove FUSE_MAJOR define, which is not being used any more\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "95668a69a4bb862063c4d28a746e55107dee7b98",
      "tree": "0679e0f43274648bad70e694a9efb8bcfed55adc",
      "parents": [
        "8599396b5062bf6bd2a0b433503849e2322df1c2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: implement poll support\n\nImplement poll support.  Polled files are indexed using kh in a RB\ntree rooted at fuse_conn-\u003epolled_files.\n\nClient should send FUSE_NOTIFY_POLL notification once after processing\nFUSE_POLL which has FUSE_POLL_SCHEDULE_NOTIFY set.  Sending\nnotification unconditionally after the latest poll or everytime file\ncontent might have changed is inefficient but won\u0027t cause malfunction.\n\nfuse_file_poll() can sleep and requires patches from the following\nthread which allows f_op-\u003epoll() to sleep.\n\n  http://thread.gmane.org/gmane.linux.kernel/726176\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "8599396b5062bf6bd2a0b433503849e2322df1c2",
      "tree": "8ce5f253eaf5fe28324c497db780d824ea60bb5c",
      "parents": [
        "acf99433d98c2570a619d8fb8b51abce4e532059"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: implement unsolicited notification\n\nClients always used to write only in response to read requests.  To\nimplement poll efficiently, clients should be able to issue\nunsolicited notifications.  This patch implements basic notification\nsupport.\n\nZero fuse_out_header.unique is now accepted and considered unsolicited\nnotification and the error field contains notification code.  This\npatch doesn\u0027t implement any actual notification.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "59efec7b903987dcb60b9ebc85c7acd4443a11a1",
      "tree": "1287e817201fcb4008917b2bffd378c36540622b",
      "parents": [
        "e9bb09dd6c5b8ec6a971ed6251df5eba3a4c8d3c"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:55 2008 +0100"
      },
      "message": "fuse: implement ioctl support\n\nGeneric ioctl support is tricky to implement because only the ioctl\nimplementation itself knows which memory regions need to be read\nand/or written.  To support this, fuse client can request retry of\nioctl specifying memory regions to read and write.  Deep copying\n(nested pointers) can be implemented by retrying multiple times\nresolving one depth of dereference at a time.\n\nFor security and cleanliness considerations, ioctl implementation has\nrestricted mode where the kernel determines data transfer directions\nand sizes using the _IOC_*() macros on the ioctl command.  In this\nmode, retry is not allowed.\n\nFor all FUSE servers, restricted mode is enforced.  Unrestricted ioctl\nwill be used by CUSE.\n\nPlese read the comment on top of fs/fuse/file.c::fuse_file_do_ioctl()\nfor more information.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "193da6092764ab693da7170c5badbf60d7758c1d",
      "tree": "47dbca0fd80b673665943b776bc7121d880eb334",
      "parents": [
        "1729a16c2c92bbd9e54ac7cad3101fea2e073aa5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Nov 26 12:03:54 2008 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Nov 26 12:03:54 2008 +0100"
      },
      "message": "fuse: move FUSE_MINOR to miscdevice.h\n\nMove FUSE_MINOR to miscdevice.h.  While at it, de-uglify the file.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "a7c1b990f71574e077b94ce4582e2cf11cb891fe",
      "tree": "9192239167f6047c4f5fbc64d530904ac4f8de86",
      "parents": [
        "29d434b39c807320fbe4bcdce0ab98a0b9fcb285"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 16 16:08:57 2008 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Oct 16 16:08:57 2008 +0200"
      },
      "message": "fuse: implement nonseekable open\n\nLet the client request nonseekable open using FOPEN_NONSEEKABLE and\ncall nonseekable_open() on the file if requested.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "29d434b39c807320fbe4bcdce0ab98a0b9fcb285",
      "tree": "abb2db88d67449332dbc209a6e3724a3412f6a9c",
      "parents": [
        "37194d0723b9b68b4b299b2564ca99e3d0a094c3"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Oct 16 16:08:57 2008 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Oct 16 16:08:57 2008 +0200"
      },
      "message": "fuse: add include protectors\n\nAdd include protectors to include/linux/fuse.h and fs/fuse/fuse_i.h.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "33670fa296860283f04a7975b8c790f101e43a6e",
      "tree": "61162737edbffe696f4f9b13998d192cd3be3f75",
      "parents": [
        "c180eebe1390c2076ead6a9bc95a02efb994edb7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Jul 25 01:49:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 25 10:53:48 2008 -0700"
      },
      "message": "fuse: nfs export special lookups\n\nImplement the get_parent export operation by sending a LOOKUP request with\n\"..\" as the name.\n\nImplement looking up an inode by node ID after it has been evicted from\nthe cache.  This is done by seding a LOOKUP request with \".\" as the name\n(for all file types, not just directories).\n\nThe filesystem can set the FUSE_EXPORT_SUPPORT flag in the INIT reply, to\nindicate that it supports these special lookups.\n\nThanks to John Muir for the original implementation of this feature.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: David Teigland \u003cteigland@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78bb6cb9a890d3d50ca3b02fce9223d3e734ab9b",
      "tree": "330cc4fd17af9176ae9e2ee833e1097638fd1b30",
      "parents": [
        "0f146a764ff08c4c210c04239c5e6784b4b77485"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Mon May 12 14:02:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 13 08:02:26 2008 -0700"
      },
      "message": "fuse: add flag to turn on big writes\n\nPrior to 2.6.26 fuse only supported single page write requests.  In theory all\nfuse filesystem should be able support bigger than 4k writes, as there\u0027s\nnothing in the API to prevent it.  Unfortunately there\u0027s a known case in\nNTFS-3G where big writes cause filesystem corruption.  There could also be\nother filesystems, where the lack of testing with big write requests would\nresult in bugs.\n\nTo prevent such problems on a kernel upgrade, disable big writes by default,\nbut let filesystems set a flag to turn it on.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Szabolcs Szakacsits \u003cszaka@ntfs-3g.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6643094e73247c1ebd36816f494f631fa7be348",
      "tree": "11ba2e666b6fea1cdf579616d6a04b0afd24f61c",
      "parents": [
        "7dca9fd39f7d4605ac178a67bb1772381056917d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Nov 28 16:22:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Nov 29 09:24:54 2007 -0800"
      },
      "message": "fuse: pass open flags to read and write\n\nSome open flags (O_APPEND, O_DIRECT) can be changed with fcntl(F_SETFL, ...)\nafter open, but fuse currently only sends the flags to userspace in open.\n\nTo make it possible to correcly handle changing flags, send the\ncurrent value to userspace in each read and write.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e9663ee452ffce0d429656ebbcfe69417a30e92",
      "tree": "a72825f122c9e38d4adc42ebcfd127f366da4a0f",
      "parents": [
        "f33321141b273d60cbb3a8f56a5489baad82ba5e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add blksize field to fuse_attr\n\nThere are cases when the filesystem will be passed the buffer from a single\nread or write call, namely:\n\n 1) in \u0027direct-io\u0027 mode (not O_DIRECT), read/write requests don\u0027t go\n    through the page cache, but go directly to the userspace fs\n\n 2) currently buffered writes are done with single page requests, but\n    if Nick\u0027s -\u003eperform_write() patch goes it, it will be possible to\n    do larger write requests.  But only if the original write() was\n    also bigger than a page.\n\nIn these cases the filesystem might want to give a hint to the app\nabout the optimal I/O size.\n\nAllow the userspace filesystem to supply a blksize value to be returned by\nstat() and friends.  If the field is zero, it defaults to the old\nPAGE_CACHE_SIZE value.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f33321141b273d60cbb3a8f56a5489baad82ba5e",
      "tree": "b6443b674600dcdb8c33aa6d44b7a673edc255b4",
      "parents": [
        "b25e82e5673c750116e8b01a4fc7d09be7809f8c"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:04 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add support for mandatory locking\n\nFor mandatory locking the userspace filesystem needs to know the lock\nownership for read, write and truncate operations.\n\nThis patch adds the necessary fields to the protocol.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b25e82e5673c750116e8b01a4fc7d09be7809f8c",
      "tree": "03d23ccbca6e87ba98efeba445ff714455dba0bb",
      "parents": [
        "93a8c3cd9e9834dc5f5c373336f3a0065521152d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add helper for asynchronous writes\n\nThis patch adds a new helper function fuse_write_fill() which makes it\npossible to send WRITE requests asynchronously.\n\nA new flag for WRITE requests is also added which indicates that this a write\nfrom the page cache, and not a \"normal\" file write.\n\nThis patch is in preparation for writable mmap support.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a9ff4f87056cd31a8232b88d013dc6c9ad719c18",
      "tree": "8ddcc01ae8b6615a9a530fb51c52825b315ee266",
      "parents": [
        "6ff958edbf39c014eb06b65ad25b736be08c4e63"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: support BSD locking semantics\n\nIt is trivial to add support for flock(2) semantics to the existing protocol,\nby setting the lock owner field to the file pointer, and passing a new\nFUSE_LK_FLOCK flag with the locking request.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ff958edbf39c014eb06b65ad25b736be08c4e63",
      "tree": "f87af1ae11b321cfa38c25378229f25942797385",
      "parents": [
        "17637cbaba592076c221dc045ca78422b4af6290"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:02 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:31 2007 -0700"
      },
      "message": "fuse: add atomic open+truncate support\n\nThis patch allows fuse filesystems to implement open(..., O_TRUNC) as a single\nrequest, instead of separate truncate and open requests.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "17637cbaba592076c221dc045ca78422b4af6290",
      "tree": "9b8148b29cb2c776cd96278c0710a890054a2b78",
      "parents": [
        "d139d7ffd0c1e81e2a809909b4f8b121a0dc119a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:07:01 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "fuse: improve utimes support\n\nAdd two new flags for setattr: FATTR_ATIME_NOW and FATTR_MTIME_NOW.  These\nmean, that atime or mtime should be changed to the current time.\n\nAlso it is now possible to update atime or mtime individually, not just\ntogether.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c79e322f63592c00b25b17af6a1782fad6c6fe6e",
      "tree": "d3cbacb295b82c036553f68f5a060c67ae16bfa3",
      "parents": [
        "1fb69e7817296da8a6824804bb206ca1e7f31425"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Thu Oct 18 03:06:59 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:30 2007 -0700"
      },
      "message": "fuse: add file handle to getattr operation\n\nAdd necessary protocol changes for supplying a file handle with the getattr\noperation.  Step the API version to 7.9.\n\nThis patch doesn\u0027t actually supply the file handle, because that needs some\nkind of VFS support, which we haven\u0027t yet been able to agree upon.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21f3da95daed2d0f0c28cc4ef8b1103fbfb7bded",
      "tree": "858c61212662b1b476bbdefe0eb8de69328a47db",
      "parents": [
        "9ac162521cd9796f44d263a61090634844c719a6"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sun Jul 15 23:39:50 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "fuse warning fix\n\ngcc-4.3:\n\nfs/fuse/dir.c: In function \u0027parse_dirfile\u0027:\nfs/fuse/dir.c:833: warning: cast from pointer to integer of different size\nfs/fuse/dir.c:835: warning: cast from pointer to integer of different size\n\n[miklos@szeredi.hu: use offsetof]\nAcked-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ec7ca41f6f0f74a394a7d686bc0ee8afef84887",
      "tree": "bb4aac390be07d04b484fddc325598f05b498db0",
      "parents": [
        "b2d2272fae1e1df26ec8f93a6d5baea891dcce37"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Dec 06 20:35:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:32 2006 -0800"
      },
      "message": "[PATCH] fuse: add DESTROY operation\n\nAdd a DESTROY operation for block device based filesystems.  With the help of\nthis operation, such a filesystem can flush dirty data to the device\nsynchronously before the umount returns.\n\nThis is needed in situations where the filesystem is assumed to be clean\nimmediately after unmount (e.g.  ejecting removable media).\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": "b2d2272fae1e1df26ec8f93a6d5baea891dcce37",
      "tree": "468c5bdf5a7d5b604337e582ee8eed62f098e832",
      "parents": [
        "d809161402e9f99aefe8848c4e701597ac367269"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Dec 06 20:35:51 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:32 2006 -0800"
      },
      "message": "[PATCH] fuse: add bmap support\n\nAdd support for the BMAP operation for block device based filesystems.  This\nis needed to support swap-files and lilo.\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": "e9168c189fd54171124b5d25644024d99869e6a8",
      "tree": "93f71fef2810a77f258cb842875cc758a34995c6",
      "parents": [
        "48ed214d10ae3c3999af938970f7b5b58df77be3"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Wed Dec 06 20:35:38 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Dec 07 08:39:31 2006 -0800"
      },
      "message": "[PATCH] fuse: update userspace interface to version 7.8\n\nAdd a flag to the RELEASE message which specifies that a FLUSH operation\nshould be performed as well.  This interface update is needed for the FreeBSD\nport, and doesn\u0027t actually touch the Linux implementation at all.\n\nAlso rename the unused \u0027flush_flags\u0027 in the FLUSH message to \u0027unused\u0027.\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": "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": "7142125937e1482ad3ae4366594c6586153dfc86",
      "tree": "8d85908a36485df0c80de2032e7fcfa493621fe4",
      "parents": [
        "bafa96541b250a7051e3fbc5de6e8369daf8ffec"
      ],
      "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: add POSIX file locking support\n\nThis patch adds POSIX file locking support to the fuse interface.\n\nThis implementation doesn\u0027t keep any locking state in kernel.  Unlocking on\nclose() is handled by the FLUSH message, which now contains the lock owner id.\n\nMandatory locking is not supported.  The filesystem may enfoce mandatory\nlocking in userspace if needed.\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": "3e8c54fad89144b8d63cc41619f363df1ec7cc42",
      "tree": "f4a6f24792358ca7eb3703487eee7db7a122e6f0",
      "parents": [
        "2b94895b9281976cf2a0f2f89bf41ee219742235"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@linux01.gwdg.de",
        "time": "Sun Jun 25 05:48:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:19 2006 -0700"
      },
      "message": "[PATCH] fuse: use MISC_MAJOR\n\nThe following patches add POSIX file locking to the fuse interface.\n\nAdditional changes ralated to this are:\n\n  - asynchronous interrupt of requests by SIGKILL no longer supported\n\n  - separate control filesystem, instead of using sysfs objects\n\n  - add support for synchronously interrupting requests\n\nDetails are documented in Documentation/filesystems/fuse.txt throughout the\npatches.\n\nThis patch:\n\nHave fuse.h use MISC_MAJOR rather than a hardcoded \u002710\u0027.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@gmx.de\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": "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": "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": "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": "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": "5b62073d502a88fedc5c369f8a004bda7c9d1999",
      "tree": "cc450425ceb954c05b119a6310535382a8f6fe90",
      "parents": [
        "cc4e69dee4a080f6eae3f410daec2593f4fa6f00"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Mon Nov 07 00:59:49 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 07:53:42 2005 -0800"
      },
      "message": "[PATCH] FUSE: bump interface minor version\n\nThough the following changes are all backward compatible (from the kernel\u0027s as\nwell as the library\u0027s POV) change the minor version, so interested\napplications can detect new features.\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": "6ea05db06f32adac65b4c4e95ef998839149de12",
      "tree": "61ed5416cdf3802dbd7ce3391f0345db75c7c301",
      "parents": [
        "1779381dea3bada407396742c56bee31ffa8544e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:52 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:24 2005 -0800"
      },
      "message": "[PATCH] fuse: remove unused define\n\nSetting ctime is implicit in all setattr cases, so the FATTR_CTIME\ndefinition is unnecessary.\n\nIt is used by neither the kernel nor 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": "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": "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": "06663267b4b1e85ece73236ea720355668d4f736",
      "tree": "caece1ce21caf6586e82e03858dc128edb8e996c",
      "parents": [
        "92a8780e1136c5ca0c7ed940000d399943d1576e"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Fri Sep 09 13:10:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 14:03:46 2005 -0700"
      },
      "message": "[PATCH] FUSE: add padding\n\nAdd padding to structures to make sizes the same on 32bit and 64bit archs.\nInitial testing and test machine generously provided by Franco Broi.\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": "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"
    }
  ]
}
