)]}'
{
  "log": [
    {
      "commit": "6818173bd658439b83896a2a7586f64ab51bf29c",
      "tree": "17d25ee77485af18da1a80cb7f1d8ec581c6abfc",
      "parents": [
        "7c77f0b3f9208c339a4b40737bb2cb0f0319bb8d"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu May 07 15:37:36 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 14:13:10 2009 +0200"
      },
      "message": "splice: implement default splice_read method\n\nIf f_op-\u003esplice_read() is not implemented, fall back to a plain read.\nUse vfs_readv() to read into previously allocated pages.\n\nThis will allow splice and functions using splice, such as the loop\ndevice, to work on all filesystems.  This includes \"direct_io\" files\nin fuse which bypass the page cache.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "601cc11d054ae4b5e9b5babec3d8e4667a2cb9b5",
      "tree": "725ec3422b4fe50267915c1d5b80c49712ffff75",
      "parents": [
        "6bb597507f9839b13498781e481f5458aea33620"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 08:03:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 04 14:20:34 2009 -0700"
      },
      "message": "Make non-compat preadv/pwritev use native register size\n\nInstead of always splitting the file offset into 32-bit \u0027high\u0027 and \u0027low\u0027\nparts, just split them into the largest natural word-size - which in C\nterms is \u0027unsigned long\u0027.\n\nThis allows 64-bit architectures to avoid the unnecessary 32-bit\nshifting and masking for native format (while the compat interfaces will\nobviously always have to do it).\n\nThis also changes the order of \u0027high\u0027 and \u0027low\u0027 to be \"low first\".  Why?\nBecause when we have it like this, the 64-bit system calls now don\u0027t use\nthe \"pos_high\" argument at all, and it makes more sense for the native\nsystem call to simply match the user-mode prototype.\n\nThis results in a much more natural calling convention, and allows the\ncompiler to generate much more straightforward code.  On x86-64, we now\ngenerate\n\n        testq   %rcx, %rcx      # pos_l\n        js      .L122   #,\n        movq    %rcx, -48(%rbp) # pos_l, pos\n\nfrom the C source\n\n        loff_t pos \u003d pos_from_hilo(pos_h, pos_l);\n\t...\n        if (pos \u003c 0)\n                return -EINVAL;\n\nand the \u0027pos_h\u0027 register isn\u0027t even touched.  It used to generate code\nlike\n\n        mov     %r8d, %r8d      # pos_low, pos_low\n        salq    $32, %rcx       #, tmp71\n        movq    %r8, %rax       # pos_low, pos.386\n        orq     %rcx, %rax      # tmp71, pos.386\n        js      .L122   #,\n        movq    %rax, -48(%rbp) # pos.386, pos\n\nwhich isn\u0027t _that_ horrible, but it does show how the natural word size\nis just a more sensible interface (same arguments will hold in the user\nlevel glibc wrapper function, of course, so the kernel side is just half\nof the equation!)\n\nNote: in all cases the user code wrapper can again be the same. You can\njust do\n\n\t#define HALF_BITS (sizeof(unsigned long)*4)\n\t__syscall(PWRITEV, fd, iov, count, offset, (offset \u003e\u003e HALF_BITS) \u003e\u003e HALF_BITS);\n\nor something like that.  That way the user mode wrapper will also be\nnicely passing in a zero (it won\u0027t actually have to do the shifts, the\ncompiler will understand what is going on) for the last argument.\n\nAnd that is a good idea, even if nobody will necessarily ever care: if\nwe ever do move to a 128-bit lloff_t, this particular system call might\nbe left alone.  Of course, that will be the least of our worries if we\nreally ever need to care, so this may not be worth really caring about.\n\n[ Fixed for lost \u0027loff_t\u0027 cast noticed by Andrew Morton ]\n\nAcked-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nCc: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: linux-api@vger.kernel.org\nCc: linux-arch@vger.kernel.org\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f3554f4bc69803ac2baaf7cf2aa4339e1f4b693e",
      "tree": "52505043de254dc3e34dad7110724fcc1f489eb9",
      "parents": [
        "6949a6318e60aeb9c755679ac7f978aefe8c1722"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Thu Apr 02 16:59:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:05:08 2009 -0700"
      },
      "message": "preadv/pwritev: Add preadv and pwritev system calls.\n\nThis patch adds preadv and pwritev system calls.  These syscalls are a\npretty straightforward combination of pread and readv (same for write).\nThey are quite useful for doing vectored I/O in threaded applications.\nUsing lseek+readv instead opens race windows you\u0027ll have to plug with\nlocking.\n\nOther systems have such system calls too, for example NetBSD, check\nhere: http://www.daemon-systems.org/man/preadv.2.html\n\nThe application-visible interface provided by glibc should look like\nthis to be compatible to the existing implementations in the *BSD family:\n\n  ssize_t preadv(int d, const struct iovec *iov, int iovcnt, off_t offset);\n  ssize_t pwritev(int d, const struct iovec *iov, int iovcnt, off_t offset);\n\nThis prototype has one problem though: On 32bit archs is the (64bit)\noffset argument unaligned, which the syscall ABI of several archs doesn\u0027t\nallow to do.  At least s390 needs a wrapper in glibc to handle this.  As\nwe\u0027ll need a wrappers in glibc anyway I\u0027ve decided to push problem to\nglibc entriely and use a syscall prototype which works without\narch-specific wrappers inside the kernel: The offset argument is\nexplicitly splitted into two 32bit values.\n\nThe patch sports the actual system call implementation and the windup in\nthe x86 system call tables.  Other archs follow as separate patches.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003clinux-api@vger.kernel.org\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3cdad42884bbd95d5aa01297e8236ea1bad70053",
      "tree": "169b8958b56d5c39a4f437d041baf0412bb53b96",
      "parents": [
        "003d7ab479168132a2b2c6700fe682b08f08ab0c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:22 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:26 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 20\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "003d7ab479168132a2b2c6700fe682b08f08ab0c",
      "tree": "e9f51f17949cabab6324ee1415a55e350334c841",
      "parents": [
        "a6b42e83f249aad723589b2bdf6d1dfb2b0997c8"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:21 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:26 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 19\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "002c8976ee537724b20a5e179d9b349309438836",
      "tree": "272ebe6d0dcb06bb16b978fb9793d266dbc1301a",
      "parents": [
        "a26eab2400f0477bfac0255600552394855016f7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:18 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:25 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 16\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "6673e0c3fbeaed2cd08e2fd4a4aa97382d6fedb0",
      "tree": "eb33a94f5e4b0e035001f7c96ef44cade0fbb489",
      "parents": [
        "ed6bb6194350dc6ae97a65dbf2d621a3dbe6bbe9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:02 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:18 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrapper special cases\n\nSystem calls with an unsigned long long argument can\u0027t be converted with\nthe standard wrappers since that would include a cast to long, which in\nturn means that we would lose the upper 32 bit on 32 bit architectures.\nAlso semctl can\u0027t use the standard wrapper since it has a \u0027union\u0027\nparameter.\n\nSo we handle them as special case and add some extra wrappers instead.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba",
      "tree": "4e0fefd574bab5470a02edf439727f472a9663c6",
      "parents": [
        "4c696ba7982501d43dea11dbbaabd2aa8a19cc42"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:54 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:14 2009 +0100"
      },
      "message": "[CVE-2009-0029] Convert all system calls to return a long\n\nConvert all system calls to return a long. This should be a NOP since all\nconverted types should have the same size anyway.\nWith the exception of sys_exit_group which returned void. But that doesn\u0027t\nmatter since the system call doesn\u0027t return.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "5b6f1eb97d462a45be3b30759758b5fdbb562c8c",
      "tree": "e8f664c34dde71b95955f57caad3093581be87ef",
      "parents": [
        "7d3b56ba37a95f1f370f50258ed3954c304c524b"
      ],
      "author": {
        "name": "Alain Knaff",
        "email": "alain@knaff.lu",
        "time": "Mon Nov 10 17:08:08 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:53:07 2009 -0500"
      },
      "message": "vfs: lseek(fd, 0, SEEK_CUR) race condition\n\nThis patch fixes a race condition in lseek. While it is expected that\nunpredictable behaviour may result while repositioning the offset of a\nfile descriptor concurrently with reading/writing to the same file\ndescriptor, this should not happen when merely *reading* the file\ndescriptor\u0027s offset.\n\nUnfortunately, the only portable way in Unix to read a file\ndescriptor\u0027s offset is lseek(fd, 0, SEEK_CUR); however executing this\nconcurrently with read/write may mess up the position.\n\n[with fixes from akpm]\n\nSigned-off-by: Alain Knaff \u003calain@knaff.lu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3a8cff4f026c0b98bee6291eb28d4df42feb76dc",
      "tree": "809078b0768e3b30b4e7ccbbd2eca7fd72f70158",
      "parents": [
        "a518ab9329041411526ab8e05edfda7e2715244f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 11 15:37:17 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:12:59 2008 -0400"
      },
      "message": "[PATCH] generic_file_llseek tidyups\n\nAdd kerneldoc for generic_file_llseek and generic_file_llseek_unlocked,\nuse sane variable names and unclutter the code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9465efc9e96135a2cec8154c0c766fa59984a298",
      "tree": "079b94123ab65ff80c4869bcf25192c8596b049c",
      "parents": [
        "9c20616c385ebeaa30257ef5d35e8f346db4ee32"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Fri Jun 27 11:05:24 2008 +0200"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Wed Jul 02 15:06:27 2008 -0600"
      },
      "message": "Remove BKL from remote_llseek v2\n\n- Replace remote_llseek with generic_file_llseek_unlocked (to force compilation\nfailures in all users)\n- Change all users to either use generic_file_llseek_unlocked directly or\ntake the BKL around. I changed the file systems who don\u0027t use the BKL\nfor anything (CIFS, GFS) to call it directly. NCPFS and SMBFS and NFS\ntake the BKL, but explicitely in their own source now.\n\nI moved them all over in a single patch to avoid unbisectable sections.\n\nOpen problem: 32bit kernels can corrupt fpos because its modification\nis not atomic, but they can do that anyways because there\u0027s other paths who\nmodify it without BKL.\n\nDo we need a special lock for the pos/f_version \u003d 0 checks?\n\nTrond says the NFS BKL is likely not needed, but keep it for now\nuntil his full audit.\n\nv2: Use generic_file_llseek_unlocked instead of remote_llseek_unlocked\n    and factor duplicated code (suggested by hch)\n\nCc: Trond.Myklebust@netapp.com\nCc: swhiteho@redhat.com\nCc: sfrench@samba.org\nCc: vandrove@vc.cvut.cz\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "16abef0e9e79643827fd5a2a14a07bced851ae72",
      "tree": "ff2648a70755154ee93ad2ad5b11014329158e66",
      "parents": [
        "e199ceee15c8f8652cc3bb97651bdf246ba23c5f"
      ],
      "author": {
        "name": "David Sterba",
        "email": "dsterba@suse.cz",
        "time": "Tue Apr 22 15:09:22 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 22 15:17:11 2008 -0700"
      },
      "message": "fs: use loff_t type instead of long long\n\nUse offset type consistently.\n\nSigned-off-by: David Sterba \u003cdsterba@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3287629eff75c7323e875b942be82f7ac6ca18da",
      "tree": "4c8ebbff98b3e7139acf939bf4bfb56f711281ca",
      "parents": [
        "c2fdda0dfbe85ad5d68d4799ff7c5af89db8ac19"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Feb 08 04:20:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:36 2008 -0800"
      },
      "message": "remove the unused exports of sys_open/sys_read\n\nThese exports (which aren\u0027t used and which are in fact dangerous to use\nbecause they pretty much form a security hole to use) have been marked\n_UNUSED since 2.6.24 with removal in 2.6.25.  This patch is their final\ndeparture from the Linux kernel tree.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19295529db35381d46dbaf246f69b4e3b3393996",
      "tree": "0e4ace990776da02ce9dd3e54a0f9af787ebd4bc",
      "parents": [
        "cd2291a463c26f60b18e0d9b1901be236dd7f402"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 28 23:58:27 2008 -0500"
      },
      "message": "ext4: export iov_shorten from kernel for ext4\u0027s use\n\nExport iov_shorten() from kernel so that ext4 can\ntruncate too-large writes to bitmapped files.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "c43e259cc756ece387faae849af0058b56d78466",
      "tree": "1f1541560256b9fe2eeda5b07100baa14f39df59",
      "parents": [
        "bced95283e9434611cbad8f2ff903cd396eaea72"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Jan 12 22:05:48 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jan 25 11:29:52 2008 +1100"
      },
      "message": "security: call security_file_permission from rw_verify_area\n\nAll instances of rw_verify_area() are followed by a call to\nsecurity_file_permission(), so just call the latter from the former.\n\nAcked-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "cb51f973bce7aef46452b0c6faea8f791885f5b8",
      "tree": "167fdcc6754a9b27651f3b76fcb83f74847f396b",
      "parents": [
        "22800a2830ec07e7cc5c837999890ac47cc7f5de"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Nov 14 17:00:10 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:42 2007 -0800"
      },
      "message": "mark sys_open/sys_read exports unused\n\nsys_open / sys_read were used in the early 1.2 days to load firmware from\ndisk inside drivers.  Since 2.0 or so this was deprecated behavior, but\nseveral drivers still were using this.  Since a few years we have a\nrequest_firmware() API that implements this in a nice, consistent way.\nOnly some old ISA sound drivers (pre-ALSA) still straggled along for some\ntime....  however with commit c2b1239a9f22f19c53543b460b24507d0e21ea0c the\nlast user is now gone.\n\nThis is a good thing, since using sys_open / sys_read etc for firmware is a\nvery buggy to dangerous thing to do; these operations put an fd in the\nprocess file descriptor table....  which then can be tampered with from\nother threads for example.  For those who don\u0027t want the firmware loader,\nfilp_open()/vfs_read are the better APIs to use, without this security\nissue.\n\nThe patch below marks sys_open and sys_read unused now that they\u0027re\nreally not used anymore, and for deletion in the 2.6.25 timeframe.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a16877ca9cec211708a161057a7cbfbf2cbc3a53",
      "tree": "a114bfe588af58047b1eb2aa1f57ac4b890c01a6",
      "parents": [
        "98257af5a2ad0c5b502ebd07094d9fd8ce87acef"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 01 14:41:11 2007 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Oct 09 18:32:46 2007 -0400"
      },
      "message": "Cleanup macros for distinguishing mandatory locks\n\nThe combination of S_ISGID bit set and S_IXGRP bit unset is used to mark the\ninode as \"mandatory lockable\" and there\u0027s a macro for this check called\nMANDATORY_LOCK(inode).  However, fs/locks.c and some filesystems still perform\nthe explicit i_mode checking.  Besides, Andrew pointed out, that this macro is\nbuggy itself, as it dereferences the inode arg twice.\n\nConvert this macro into static inline function and switch its users to it,\nmaking the code shorter and more readable.\n\nThe __mandatory_lock() helper is to be used in places where the IS_MANDLOCK()\nfor superblock is already known to be true.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\nCc: Ron Minnich \u003crminnich@sandia.gov\u003e\nCc: Latchesar Ionkov \u003clucho@ionkov.net\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d96e6e71647846e0dab097efd9b8bf3a3a556dca",
      "tree": "b6d88df83dae5ab470ad51af77b42a5c22a93dc9",
      "parents": [
        "d054fe3d10cc1f9aec01378c38caa32dffdd0090"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 11 12:18:52 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:15 2007 +0200"
      },
      "message": "Remove remnants of sendfile()\n\nThere are now zero users of .sendfile() in the kernel, so kill\nit from the file_operations structure and in do_sendfile().\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d6b29d7cee064f28ca097e906de7453541351095",
      "tree": "16775787df194cb45b4ac712da1c240f48cae96e",
      "parents": [
        "ebf9909343392c929d9943c04f421cd42e03b530"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jun 04 09:59:47 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:14 2007 +0200"
      },
      "message": "splice: divorce the splice structure/function definitions from the pipe header\n\nWe need to move even more stuff into the header so that folks can use\nthe splice_to_pipe() implementation instead of open-coding a lot of\npipe knowledge (see relay implementation), so move to our own header\nfile finally.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "534f2aaa6ab07cd71164180bc958a7dcde41db11",
      "tree": "4c2557f4c4c3913bbc5e282c98559ef70b92fd4b",
      "parents": [
        "6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 01 14:52:37 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 10 08:04:12 2007 +0200"
      },
      "message": "sys_sendfile: switch to using -\u003esplice_read, if available\n\nThis patch makes sendfile prefer to use -\u003esplice_read(), if it\u0027s\navailable in the file_operations structure.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1ae7075bcd805c3aa5e8f53effc63a4562d6110e",
      "tree": "76ce9da136deee264b1642169522981b5175af82",
      "parents": [
        "7b8e89249ba54fb6e12358bbed7e3070fa1d1e6a"
      ],
      "author": {
        "name": "Chris Snook",
        "email": "csnook@redhat.com",
        "time": "Tue May 08 00:24:15 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:59 2007 -0700"
      },
      "message": "use use SEEK_MAX to validate user lseek arguments\n\nAdd SEEK_MAX and use it to validate lseek arguments from userspace.\n\nSigned-off-by: Chris Snook \u003ccsnook@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7b8e89249ba54fb6e12358bbed7e3070fa1d1e6a",
      "tree": "64ddcadb875a092d1ee38dc96cf95cef9fd7241d",
      "parents": [
        "5b7952021289b6d04d8c62c0f13acce570730dcd"
      ],
      "author": {
        "name": "Chris Snook",
        "email": "csnook@redhat.com",
        "time": "Tue May 08 00:24:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:14:59 2007 -0700"
      },
      "message": "use symbolic constants in generic lseek code\n\nConvert magic numbers to SEEK_* values from fs.h\n\nSigned-off-by: Chris Snook \u003ccsnook@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "163da958ba5282cbf85e8b3dc08e4f51f8b01c5e",
      "tree": "ccfdaf7ac1b0f5e06cd4cc34522fa491ede89fe7",
      "parents": [
        "2a10387ec463c4fcd3ccc461291ce4d8505827e2"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Feb 12 00:52:24 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:29 2007 -0800"
      },
      "message": "[PATCH] FS: speed up rw_verify_area()\n\noprofile hunting showed a stall in rw_verify_area(), because of triple\nindirection and potential cache misses.\n(file-\u003ef_path.dentry-\u003ed_inode-\u003ei_flock)\n\nBy moving initialization of \u0027struct inode\u0027 pointer before the pos/count\nsanity tests, we allow the compiler and processor to perform two loads by\nanticipation, reducing stall, without prefetch() hints.  Even x86 arch has\nenough registers to not use temporary variables and not increase text size.\n\nI validated this patch running a bench and studied oprofile changes, and\nabsolute perf of the test program.\n\nResults of my epoll_pipe_bench (source available on request) on a Pentium-M\n1.6 GHz machine\n\nBefore :\n# ./epoll_pipe_bench -l 30 -t 20\nAvg: 436089 evts/sec read_count\u003d8843037 write_count\u003d8843040 21.218390 samples\nper call\n(best value out of 10 runs)\n\nAfter :\n# ./epoll_pipe_bench -l 30 -t 20\nAvg: 470980 evts/sec read_count\u003d9549871 write_count\u003d9549894 21.216694 samples\nper call\n(best value out of 10 runs)\n\noprofile CPU_CLK_UNHALTED events gave a reduction from 5.3401 % to 2.5851 %\nfor the rw_verify_area() function.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4b98d11b40f03382918796f3c5c936d5495d20a4",
      "tree": "616b7260196c9bd0eaf208ef8fab91fcf9efcece",
      "parents": [
        "18f705f49a5b19206233f7cef8f869ce7291f8c8"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Feb 10 01:46:45 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 11:18:07 2007 -0800"
      },
      "message": "[PATCH] ifdef -\u003erchar, -\u003ewchar, -\u003esyscr, -\u003esyscw from task_struct\n\nThey are fat: 4x8 bytes in task_struct.\nThey are uncoditionally updated in every fork, read, write and sendfile.\nThey are used only if you have some \"extended acct fields feature\".\n\nAnd please, please, please, read(2) knows about bytes, not characters,\nwhy it is called \"rchar\"?\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Jay Lan \u003cjlan@engr.sgi.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "029530f810dd5147f7e59b939eb22cfbe0beea12",
      "tree": "5d0a6bc82fd1b52ad5a640660952be9254971c60",
      "parents": [
        "69688262fb94e92a32f188b79c02dc32016d4927"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Dec 13 00:35:16 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Wed Dec 13 09:05:53 2006 -0800"
      },
      "message": "[PATCH] one more EXPORT_UNUSED_SYMBOL removal\n\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": "0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05",
      "tree": "51763269e44eb9bf4d0f8c529577489902850cf9",
      "parents": [
        "b65d34fd465f19fbe2f32f2205a9a06ca7c2bdeb"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:35 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:41 2006 -0800"
      },
      "message": "[PATCH] VFS: change struct file to use struct path\n\nThis patch changes struct file to use struct path instead of having\nindependent pointers to struct dentry and struct vfsmount, and converts all\nusers of f_{dentry,vfsmnt} in fs/ to use f_path.{dentry,mnt}.\n\nAdditionally, it adds two #define\u0027s to make the transition easier for users of\nthe f_dentry and f_vfsmnt.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "eed4e51fb60c3863c134a5e9f6006b29805ead97",
      "tree": "edb0a80d75c454ad77001f3bd1a87933cbcff53f",
      "parents": [
        "543ade1fc901db4c3dbe9fb27241fb977f1f3eea"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] Add vector AIO support\n\nThis work is initially done by Zach Brown to add support for vectored aio.\nThese are the core changes for AIO to support\nIOCB_CMD_PREADV/IOCB_CMD_PWRITEV.\n\n[akpm@osdl.org: huge build fix]\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nAcked-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "543ade1fc901db4c3dbe9fb27241fb977f1f3eea",
      "tree": "cdd1a1f67a718adf71e92fe08e4b3d33bf3dbadc",
      "parents": [
        "ee0b3e671baff681d69fbf0db33b47603c0a8280"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:48 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Streamline generic_file_* interfaces and filemap cleanups\n\nThis patch cleans up generic_file_*_read/write() interfaces.  Christoph\nHellwig gave me the idea for this clean ups.\n\nIn a nutshell, all filesystems should set .aio_read/.aio_write methods and use\ndo_sync_read/ do_sync_write() as their .read/.write methods.  This allows us\nto cleanup all variants of generic_file_* routines.\n\nFinal available interfaces:\n\ngeneric_file_aio_read() - read handler\ngeneric_file_aio_write() - write handler\ngeneric_file_aio_write_nolock() - no lock write handler\n\n__generic_file_aio_write_nolock() - internal worker routine\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ee0b3e671baff681d69fbf0db33b47603c0a8280",
      "tree": "3202ff815b2196c6c353bc5b28d7a2800df273ec",
      "parents": [
        "027445c37282bc1ed26add45e573ad2d3e4860a5"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Remove readv/writev methods and use aio_read/aio_write instead\n\nThis patch removes readv() and writev() methods and replaces them with\naio_read()/aio_write() methods.\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "027445c37282bc1ed26add45e573ad2d3e4860a5",
      "tree": "93eab101a938ffebaea64703033c8649df4d73f0",
      "parents": [
        "9ea0f9499d15c49df23e7aac4332d830c40e12d0"
      ],
      "author": {
        "name": "Badari Pulavarty",
        "email": "pbadari@us.ibm.com",
        "time": "Sat Sep 30 23:28:46 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:28 2006 -0700"
      },
      "message": "[PATCH] Vectorize aio_read/aio_write fileop methods\n\nThis patch vectorizes aio_read() and aio_write() methods to prepare for\ncollapsing all aio \u0026 vectored operations into one interface - which is\naio_read()/aio_write().\n\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Michael Holzheu \u003cHOLZHEU@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "69c3a5b8fd8cfa67be22f6d7ae5c681c6777d817",
      "tree": "e98b9e824ea4401b755f95cd4828e9cadce84de1",
      "parents": [
        "b0d85c5c3009d292fe195f666cbbec7da47dabf4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Jul 10 04:44:23 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:18 2006 -0700"
      },
      "message": "[PATCH] fs/read_write.c: EXPORT_UNUSED_SYMBOL\n\nThis patch marks an unused export as EXPORT_UNUSED_SYMBOL.\n\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": "49570e9b29a3d78950b5eba6b73bdcca955f0877",
      "tree": "65ffdeb8062824b3370abbca5572782f440501e8",
      "parents": [
        "6f767b0425f5902e4817648632230b512e81c963"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 13:56:09 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@suse.de",
        "time": "Tue Apr 11 13:56:09 2006 +0200"
      },
      "message": "[PATCH] splice: unlikely() optimizations\n\nAlso corrects a few comments. Patch mainly from Ingo, changes by me.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\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": "6cc6b1226b71132a1d6e95449d78e051f1f3b506",
      "tree": "a301ab0b16a5135e777b96e1883f281fa711bf93",
      "parents": [
        "55148548124e3e52e8921f1cb0e325111ef9cbb1"
      ],
      "author": {
        "name": "Carsten Otte",
        "email": "cotte@de.ibm.com",
        "time": "Sat Mar 25 03:08:23 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:23:01 2006 -0800"
      },
      "message": "[PATCH] remove needless check in fs/read_write.c\n\nnr_segs is unsigned long and thus cannot be negative.  We checked against 0\nfew lines before.\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\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": "e28cc71572da38a5a12c1cfe4d7032017adccf69",
      "tree": "bea9af22a98ea2988a38f5e9fc2467ccbbf3ae70",
      "parents": [
        "a020ff412f0ecbb1e4aae1681b287e5785dd77b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 04 16:20:40 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jan 04 16:20:40 2006 -0800"
      },
      "message": "Relax the rw_verify_area() error checking.\n\nIn particular, allow over-large read- or write-requests to be downgraded\nto a more reasonable range, rather than considering them outright errors.\n\nWe want to protect lower layers from (the sadly all too common) overflow\nconditions, but prefer to do so by chopping the requests up, rather than\njust refusing them outright.\n\nCc: Peter Anvin \u003chpa@zytor.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "411b67b4b6a4dd1e0292a6a58dd753978179d173",
      "tree": "7aa7d712198635b6dac0af3af265808241806bbb",
      "parents": [
        "aa55a08687059aa169d10a313c41f238c2070488"
      ],
      "author": {
        "name": "Kostik Belousov",
        "email": "kostikbel@gmail.com",
        "time": "Wed Sep 28 18:21:28 2005 +0300"
      },
      "committer": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Thu Sep 29 15:42:08 2005 -0700"
      },
      "message": "[PATCH] readv/writev syscalls are not checked by lsm\n\nit seems that readv(2)/writev(2) syscalls do not call\nfile_permission callback. Looks like this is overlook.\n\nI have filled the issue into redhat bugzilla as\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d169433\nand got the recommendation to post this on lsm mailing list.\n\nThe following trivial patch solves the problem.\n\nSigned-off-by: Kostik Belousov \u003ckostikbel@gmail.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\n"
    },
    {
      "commit": "2832e9366a1fcd6f76957a42157be041240f994e",
      "tree": "d2dd2a46f3ba7476b7db31806b5d98c4ed6a46dd",
      "parents": [
        "0730ded5be28653675ed314fdd878b8db5f88aa4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Sep 06 15:17:38 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:32 2005 -0700"
      },
      "message": "[PATCH] remove file.f_maxcount\n\nstruct file cleanup: f_maxcount has an unique value (INT_MAX).  Just use\nthe hard-wired value.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0eeca28300df110bd6ed54b31193c83b87921443",
      "tree": "7db42d8a18d80eca538f5b7d25e0532b8fa38b85",
      "parents": [
        "bd4c625c061c2a38568d0add3478f59172455159"
      ],
      "author": {
        "name": "Robert Love",
        "email": "rml@novell.com",
        "time": "Tue Jul 12 17:06:03 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:38:38 2005 -0700"
      },
      "message": "[PATCH] inotify\n\ninotify is intended to correct the deficiencies of dnotify, particularly\nits inability to scale and its terrible user interface:\n\n        * dnotify requires the opening of one fd per each directory\n          that you intend to watch. This quickly results in too many\n          open files and pins removable media, preventing unmount.\n        * dnotify is directory-based. You only learn about changes to\n          directories. Sure, a change to a file in a directory affects\n          the directory, but you are then forced to keep a cache of\n          stat structures.\n        * dnotify\u0027s interface to user-space is awful.  Signals?\n\ninotify provides a more usable, simple, powerful solution to file change\nnotification:\n\n        * inotify\u0027s interface is a system call that returns a fd, not SIGIO.\n\t  You get a single fd, which is select()-able.\n        * inotify has an event that says \"the filesystem that the item\n          you were watching is on was unmounted.\"\n        * inotify can watch directories or files.\n\nInotify is currently used by Beagle (a desktop search infrastructure),\nGamin (a FAM replacement), and other projects.\n\nSee Documentation/filesystems/inotify.txt.\n\nSigned-off-by: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63e6880918e75dcb92d60aff218a76e063a471ef",
      "tree": "059a00899bdf96b255e2b60d6cf91968a9af485a",
      "parents": [
        "4452ea509e29df2f019bed2f7a1e0f5eea092b26"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Thu Jun 23 00:10:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:34 2005 -0700"
      },
      "message": "[PATCH] aio: fix do_sync_(read|write) to properly handle aio retries\n\nWhen do_sync_(read|write) encounters an aio method that makes use of the\nretry mechanism, they fail to correctly retry the operation.  This fixes\nthat by adding the appropriate sleep and retry mechanism.\n\nSigned-off-by: Benjamin LaHaise \u003cbenjamin.c.lahaise@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1f08ad02379530e1c970d3d104343b9907b4d1b4",
      "tree": "607f1e99cefab35bccb14b5c053c0d63ff74458c",
      "parents": [
        "22a685d09bb98810670ac0fb02c2138bdbf038cc"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Apr 16 15:25:49 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:25:49 2005 -0700"
      },
      "message": "[PATCH] undo do_readv_writev() behavior change\n\nBugme bug 4326: http://bugme.osdl.org/show_bug.cgi?id\u003d4326 reports:\n\nexecuting the systemcall readv with Bad argument\n-\u003elen \u003d\u003d -1) it gives out error EFAULT instead of EINVAL \n\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
