)]}'
{
  "log": [
    {
      "commit": "33443c42f4ffa5ca23b3323234bcb1a78e85d9db",
      "tree": "b524ba077d49afb7633088c66a2ef77fede0ccd7",
      "parents": [
        "5d2bea4582d20cb24085152acaa29b95c05cdcf8"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun Jan 08 01:05:22 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:10 2006 -0800"
      },
      "message": "[PATCH] tiny: Uninline some fslocks.c functions\n\nuninline some file locking functions\n\nadd/remove: 3/0 grow/shrink: 0/15 up/down: 256/-1525 (-1269)\nfunction                                     old     new   delta\nlocks_free_lock                                -     134    +134\nposix_same_owner                               -      69     +69\n__locks_delete_block                           -      53     +53\nposix_locks_conflict                         126     108     -18\nlocks_remove_posix                           266     237     -29\nlocks_wake_up_blocks                         121      87     -34\nlocks_block_on_timeout                        83      47     -36\nlocks_insert_block                           157     120     -37\nlocks_delete_block                            62      23     -39\nposix_unblock_lock                           104      59     -45\nposix_locks_deadlock                         162     100     -62\nlocks_delete_lock                            228     119    -109\nsys_flock                                    338     217    -121\n__break_lease                                600     474    -126\nlease_init                                   252     122    -130\nfcntl_setlk64                                793     649    -144\nfcntl_setlk                                  793     649    -144\n__posix_lock_file                           1477    1026    -451\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "64a318ee2af9000df482d7a125c3b3e1f1007404",
      "tree": "7b39e558cccce484635dc847a016bbcb5e83abdb",
      "parents": [
        "2c5acd2e1a73cad59203a1bace21e6b03f2920a9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:46 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:54 2006 -0500"
      },
      "message": "NLM: Further cancel fixes\n\n If the server receives an NLM cancel call and finds no waiting lock to\n cancel, then chances are the lock has already been applied, and the client\n just hadn\u0027t yet processed the NLM granted callback before it sent the\n cancel.\n\n The Open Group text, for example, perimts a server to return either success\n (LCK_GRANTED) or failure (LCK_DENIED) in this case.  But returning an error\n seems more helpful; the client may be able to use it to recognize that a\n race has occurred and to recover from the race.\n\n So, modify the relevant functions to return an error in this case.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "5996a298da43a03081e9ba2116983d173001c862",
      "tree": "533a3289102051cc3e033eff5730301776e64d31",
      "parents": [
        "f232142cc21127c829559923eb405d1bcb2e2278"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Tue Jan 03 09:55:44 2006 +0100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 06 14:58:53 2006 -0500"
      },
      "message": "NLM: don\u0027t unlock on cancel requests\n\n Currently when lockd gets an NLM_CANCEL request, it also does an unlock for\n the same range.  This is incorrect.\n\n The Open Group documentation says that \"This procedure cancels an\n *outstanding* blocked lock request.\"  (Emphasis mine.)\n\n Also, consider a client that holds a lock on the first byte of a file, and\n requests a lock on the entire file.  If the client cancels that request\n (perhaps because the requesting process is signalled), the server shouldn\u0027t\n apply perform an unlock on the entire file, since that will also remove the\n previous lock that the client was already granted.\n\n Or consider a lock request that actually *downgraded* an exclusive lock to\n a shared lock.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f3a9388e4ebea57583272007311fffa26ebbb305",
      "tree": "c37a25e923505c9a62855b1e0ef822f7231e1a5a",
      "parents": [
        "dc15ae14e97ee9d5ed740cbb0b94996076d8b37e"
      ],
      "author": {
        "name": "Chris Wright",
        "email": "chrisw@osdl.org",
        "time": "Fri Nov 11 17:20:14 2005 -0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Nov 13 12:29:58 2005 -0500"
      },
      "message": "[PATCH] VFS: local denial-of-service with file leases\n\n Remove time_out_leases() printk that\u0027s easily triggered by users.\n\n Signed-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dc15ae14e97ee9d5ed740cbb0b94996076d8b37e",
      "tree": "a159edc76dedf81d73f17d844fbf965d5ded9f39",
      "parents": [
        "9e6c67fd2716720d9029d38ea25884efcfdedeb6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Nov 10 19:08:00 2005 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Nov 13 12:29:54 2005 -0500"
      },
      "message": "[PATCH] VFS: Fix memory leak with file leases\n\n The patch\n http://linux.bkbits.net:8080/linux-2.6/diffs/fs/locks.c@1.70??nav\u003dindex.html\n introduced a pretty nasty memory leak in the lease code. When freeing\n the lease, the code in locks_delete_lock() will correctly clean up\n the fasync queue, but when we return to fcntl_setlease(), the freed\n fasync entry will be reinstated.\n\n This patch ensures that we skip the call to fasync_helper() when we\u0027re\n freeing up the lease.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@fieldses.org\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c780a4688b421baa896b59778c05d7e068e479f",
      "tree": "5d7727971fc92e037857d6c560a6af8f4196df8b",
      "parents": [
        "550f57470c6506f5ef3c708335dea6bd48bf3dc4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:21 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:21 2005 -0700"
      },
      "message": "Fix Connectathon locking test failure\n\n We currently fail Connectathon test 6.10 in the case of 32-bit locks due\n to incorrect error checking.\n Also add support for l-\u003el_len \u003c 0 to 64-bit locks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "449231d6ddf50ca46b7fb2f76ecf790135222913",
      "tree": "0c493d7f4fb68f1f639c56258bcd025d5b904fb0",
      "parents": [
        "20509f1bc553ed7fafa88fa8d01c6212d1876d9f"
      ],
      "author": {
        "name": "Olaf Kirch",
        "email": "okir@suse.de",
        "time": "Thu Aug 25 16:25:35 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Sep 23 12:37:59 2005 -0400"
      },
      "message": "From: Olaf Kirch \u003cokir@suse.de\u003e\n[PATCH] Fix miscompare in __posix_lock_file\n\n If an application requests the same lock twice, the\n kernel should just leave the existing lock in place.\n Currently, it will install a second lock of the same type.\n\n Signed-off-by: Olaf Kirch \u003cokir@suse.de\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4fb3a53860cee2aaaf81186c451b7da0b95b45c1",
      "tree": "db66ba7d3886644729707586aed781c445e12c16",
      "parents": [
        "af4e5a218e18ad588d60a4f9d6f8fb5db1a32587"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Fri Sep 16 19:28:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Sep 17 11:50:02 2005 -0700"
      },
      "message": "[PATCH] files: fix preemption issues\n\nWith the new fdtable locking rules, you have to protect fdtable with either\n-\u003efile_lock or rcu_read_lock/unlock().  There are some places where we\naren\u0027t doing either.  This patch fixes those places.\n\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "badf16621c1f9d1ac753be056fce11b43d6e0be5",
      "tree": "3fdf833fdf2e3d3a439090743539680449ec3428",
      "parents": [
        "c0dfb2905126e9e94edebbce8d3e05001301f52d"
      ],
      "author": {
        "name": "Dipankar Sarma",
        "email": "dipankar@in.ibm.com",
        "time": "Fri Sep 09 13:04:10 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:55 2005 -0700"
      },
      "message": "[PATCH] files: break up files struct\n\nIn order for the RCU to work, the file table array, sets and their sizes must\nbe updated atomically.  Instead of ensuring this through too many memory\nbarriers, we put the arrays and their sizes in a separate structure.  This\npatch takes the first step of putting the file table elements in a separate\nstructure fdtable that is embedded withing files_struct.  It also changes all\nthe users to refer to the file table using files_fdtable() macro.  Subsequent\napplciation of RCU becomes easier after this.\n\nSigned-off-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c293621bbf678a3d85e3ed721c3921c8a670610d",
      "tree": "c72fc522cf3fd2d12f7fd716b7eb4db8d7fcaf52",
      "parents": [
        "3e5ea098446e19175fdee4c2c4ec9366b0217db4"
      ],
      "author": {
        "name": "Peter Staubach",
        "email": "staubach@redhat.com",
        "time": "Wed Jul 27 11:45:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jul 27 16:26:06 2005 -0700"
      },
      "message": "[PATCH] stale POSIX lock handling\n\nI believe that there is a problem with the handling of POSIX locks, which\nthe attached patch should address.\n\nThe problem appears to be a race between fcntl(2) and close(2).  A\nmultithreaded application could close a file descriptor at the same time as\nit is trying to acquire a lock using the same file descriptor.  I would\nsuggest that that multithreaded application is not providing the proper\nsynchronization for itself, but the OS should still behave correctly.\n\nSUS3 (Single UNIX Specification Version 3, read: POSIX) indicates that when\na file descriptor is closed, that all POSIX locks on the file, owned by the\nprocess which closed the file descriptor, should be released.\n\nThe trick here is when those locks are released.  The current code releases\nall locks which exist when close is processing, but any locks in progress\nare handled when the last reference to the open file is released.\n\nThere are three cases to consider.\n\nOne is the simple case, a multithreaded (mt) process has a file open and\nraces to close it and acquire a lock on it.  In this case, the close will\nrelease one reference to the open file and when the fcntl is done, it will\nrelease the other reference.  For this situation, no locks should exist on\nthe file when both the close and fcntl operations are done.  The current\nsystem will handle this case because the last reference to the open file is\nbeing released.\n\nThe second case is when the mt process has dup(2)\u0027d the file descriptor.\nThe close will release one reference to the file and the fcntl, when done,\nwill release another, but there will still be at least one more reference\nto the open file.  One could argue that the existence of a lock on the file\nafter the close has completed is okay, because it was acquired after the\nclose operation and there is still a way for the application to release the\nlock on the file, using an existing file descriptor.\n\nThe third case is when the mt process has forked, after opening the file\nand either before or after becoming an mt process.  In this case, each\nprocess would hold a reference to the open file.  For each process, this\ndegenerates to first case above.  However, the lock continues to exist\nuntil both processes have released their references to the open file.  This\nlock could block other lock requests.\n\nThe changes to release the lock when the last reference to the open file\naren\u0027t quite right because they would allow the lock to exist as long as\nthere was a reference to the open file.  This is too long.\n\nThe new proposed solution is to add support in the fcntl code path to\ndetect a race with close and then to release the lock which was just\nacquired when such as race is detected.  This causes locks to be released\nin a timely fashion and for the system to conform to the POSIX semantic\nspecification.\n\nThis was tested by instrumenting a kernel to detect the handling locks and\nthen running a program which generates case #3 above.  A dangling lock\ncould be reliably generated.  When the changes to detect the close/fcntl\nrace were added, a dangling lock could no longer be generated.\n\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7eaae2828dadae3abde7f77734c874d4b74b313a",
      "tree": "7cee35b529ebb2e88c808b52909821a05d324035",
      "parents": [
        "8f96c95680bfe66ff00c91859d4c73edf539b854"
      ],
      "author": {
        "name": "KAMBAROV, ZAUR",
        "email": "kambarov@berkeley.edu",
        "time": "Thu Jul 07 17:57:06 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jul 07 18:23:47 2005 -0700"
      },
      "message": "[PATCH] coverity: fs/locks.c flp null check\n\nWe\u0027re dereferencing `flp\u0027 and then we\u0027re testing it for NULLness.\n\nEither the compiler accidentally saved us or the existing null-pointer checdk\nis redundant.\n\nThis defect was found automatically by Coverity Prevent, a static analysis tool.\n\nSigned-off-by: Zaur Kambarov \u003czkambarov@coverity.com\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "80fec4c62e2cf544ac26e53f3e0d2f73df6820b9",
      "tree": "00baef91b0025dba29b26fc83aa243ed7c52ed1c",
      "parents": [
        "3da28eb1c6545fe73263a24eba0996217490e1eb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 17:16:31 2005 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 22 16:07:40 2005 -0400"
      },
      "message": "[PATCH] VFS: Ensure that all the on-stack struct file_lock call fl_release_private\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "75c96f85845a6707b0f9916cb263cb3584f7d48f",
      "tree": "45a64d1c9bb71d7093db3a11e0f21465c2e3dec6",
      "parents": [
        "5e198d94dd0c3ec7f6138229e2e412c2c6268c38"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu May 05 16:16:09 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:47 2005 -0700"
      },
      "message": "[PATCH] make some things static\n\nThis patch makes some needlessly global identifiers static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Arjan van de Ven \u003carjanv@infradead.org\u003e\nAcked-by: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\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"
    }
  ]
}
