)]}'
{
  "log": [
    {
      "commit": "1558182f651798164418abf53f76786da0ea4a6f",
      "tree": "ff27a7059beb86dd88eb04d8a99f57014f1f78ee",
      "parents": [
        "b261dfea48e81636516f4fa653667097638a8a62"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Sat Sep 13 02:33:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 13 14:41:51 2008 -0700"
      },
      "message": "bfs: fix Lockdep warning\n\nThis fixes:\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  2.6.27-rc5-00283-g70bb089 #68\n  ---------------------------------------------\n  touch/6855 is trying to acquire lock:\n   (\u0026info-\u003ebfs_lock){--..}, at: [\u003cc02262f5\u003e] bfs_delete_inode+0x9e/0x18c\n\n  but task is already holding lock:\n   (\u0026info-\u003ebfs_lock){--..}, at: [\u003cc0226c00\u003e] bfs_create+0x45/0x187\n\n  other info that might help us debug this:\n  2 locks held by touch/6855:\n   #0:  (\u0026type-\u003ei_mutex_dir_key#5){--..}, at: [\u003cc018ad13\u003e] do_filp_open+0x10b/0x62f\n   #1:  (\u0026info-\u003ebfs_lock){--..}, at: [\u003cc0226c00\u003e] bfs_create+0x45/0x187\n\n  stack backtrace:\n  Pid: 6855, comm: touch Not tainted 2.6.27-rc5-00283-g70bb089 #68\n   [\u003cc013e769\u003e] validate_chain+0x458/0x9f4\n   [\u003cc013bece\u003e] ? trace_hardirqs_off+0xb/0xd\n   [\u003cc013f36b\u003e] __lock_acquire+0x666/0x6e0\n   [\u003cc013f440\u003e] lock_acquire+0x5b/0x77\n   [\u003cc02262f5\u003e] ? bfs_delete_inode+0x9e/0x18c\n   [\u003cc06aab74\u003e] mutex_lock_nested+0xbc/0x234\n   [\u003cc02262f5\u003e] ? bfs_delete_inode+0x9e/0x18c\n   [\u003cc02262f5\u003e] ? bfs_delete_inode+0x9e/0x18c\n   [\u003cc02262f5\u003e] bfs_delete_inode+0x9e/0x18c\n   [\u003cc0226257\u003e] ? bfs_delete_inode+0x0/0x18c\n   [\u003cc01925e1\u003e] generic_delete_inode+0x94/0xfe\n   [\u003cc019265d\u003e] generic_drop_inode+0x12/0x12f\n   [\u003cc0191b7e\u003e] iput+0x4b/0x4e\n   [\u003cc0226d1e\u003e] bfs_create+0x163/0x187\n   [\u003cc0188b42\u003e] vfs_create+0xa6/0x114\n   [\u003cc018adb5\u003e] do_filp_open+0x1ad/0x62f\n   [\u003cc0107cdc\u003e] ? native_sched_clock+0x82/0x96\n   [\u003cc06ac309\u003e] ? _spin_unlock+0x27/0x3c\n   [\u003cc019379e\u003e] ? alloc_fd+0xbf/0xc9\n   [\u003cc06ae2f4\u003e] ? sub_preempt_count+0x9d/0xab\n   [\u003cc019379e\u003e] ? alloc_fd+0xbf/0xc9\n   [\u003cc0180391\u003e] do_sys_open+0x42/0xb8\n   [\u003cc041d564\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n   [\u003cc0180449\u003e] sys_open+0x1e/0x26\n   [\u003cc01038bd\u003e] sysenter_do_call+0x12/0x31\n   \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe problem is that we don\u0027t unlock the bfs-\u003elock mutex before calling\niput (we do in the other cases).\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nCc: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3f165e4cf2af042af7d2440d688299c0d2a48b1f",
      "tree": "fe49b0b9771fb20b2be844e43bc8360e7b831aba",
      "parents": [
        "75b25b4cabb7ce956c36442bf8225659b1864866"
      ],
      "author": {
        "name": "Dmitri Vorobiev",
        "email": "dmitri.vorobiev@movial.fi",
        "time": "Fri Jul 25 19:44:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 26 12:00:03 2008 -0700"
      },
      "message": "bfs: kill BKL\n\nReplace the BKL-based locking scheme used in the bfs driver by a private\nfilesystem-wide mutex.\n\nSigned-off-by: Dmitri Vorobiev \u003cdmitri.vorobiev@movial.fi\u003e\nCc: Tigran Aivazian \u003ctigran_aivazian@symantec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e33ab086ae227a34e34b17e86dbb9d2dbaebb489",
      "tree": "02d5d6d90b0aad2032085bbdba07e69edbe9378f",
      "parents": [
        "96eb5419412fbc7f39fa45d987034c5d0e6e1202"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 07 00:15:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Feb 07 08:42:27 2008 -0800"
      },
      "message": "iget: stop BFS from using iget() and read_inode()\n\nStop the BFS filesystem from using iget() and read_inode().  Replace\nbfs_read_inode() with bfs_iget(), and call that instead of iget().  bfs_iget()\nthen uses iget_locked() directly and returns a proper error code instead of an\ninode in the event of an error.\n\nbfs_fill_super() returns any error incurred when getting the root inode\ninstead of EINVAL.\n\n[kamalesh@linux.vnet.ibm.com: build fix]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Kamalesh Babulal \u003ckamalesh@linux.vnet.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": "f433dc56344cb72cc3de5ba0819021cec3aef807",
      "tree": "19fa9052a2787c84417dc306eda1eae8b02f14f2",
      "parents": [
        "cfb5285660aad4931b2ebbfa902ea48a37dfffa1"
      ],
      "author": {
        "name": "Dmitri Vorobiev",
        "email": "dmitri.vorobiev@gmail.com",
        "time": "Wed Nov 14 16:59:47 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:40 2007 -0800"
      },
      "message": "Fixes to the BFS filesystem driver\n\nI found a few bugs in the BFS driver.  Detailed description of the bugs as\nwell as the steps to reproduce the errors are given in the kernel bugzilla.\n Please follow these links for more information:\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9363\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9364\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9365\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9366\n\nThis patch fixes the bugs described above.  Besides, the patch introduces\ncoding style changes to make the BFS driver conform to the requirements\nspecified for Linux kernel code.  Finally, I made a few cosmetic changes\nsuch as removal of trivial debug output.\n\nAlso, the patch removes the fields `si_lf_ioff\u0027 and `si_lf_sblk\u0027 of the\nin-core superblock structure.  These fields are initialized but never\nactually used.\n\nIf you are wondering why I need BFS, here is the answer: I am using this\ndriver in the context of Linux kernel classes I am teaching in the Moscow\nState University and in the International Institute of Information\nTechnology in Pune, India.\n\nSigned-off-by: Dmitri Vorobiev \u003cdmitri.vorobiev@gmail.com\u003e\nCc: Tigran Aivazian \u003ctigran@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "754661f143e70d66eae6c48532ca245aa05dec0e",
      "tree": "c3ed0f7f96061931e497ed92d2b21294756b4831",
      "parents": [
        "9c2e08c592cd357a8330c34def1e8ecfdcf53275"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:38 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:46 2007 -0800"
      },
      "message": "[PATCH] mark struct inode_operations const 1\n\nMany struct inode_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\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": "61a8424ab8f611d199bfc8ca329ec0ea77a4d4ea",
      "tree": "0507b54ce9abe71645554e0117358743c72ff947",
      "parents": [
        "28f375fd6ff266d8e321648b36456f696cfae220"
      ],
      "author": {
        "name": "Josef Sipek",
        "email": "jsipek@fsl.cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:53 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:44 2006 -0800"
      },
      "message": "[PATCH] struct path: convert bfs\n\nSigned-off-by: Josef Sipek \u003cjsipek@fsl.cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d8c76e6f45c111c32a4b3e50a2adc9210737b0d8",
      "tree": "25521b59d48c6d8c9aec1af54dbe5008ad4b215b",
      "parents": [
        "9a53c3a783c2fa9b969628e65695c11c3e51e673"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:04 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mount prepwork: inc_nlink() helper\n\nThis is mostly included for parity with dec_nlink(), where we will have some\nmore hooks.  This one should stay pretty darn straightforward for now.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9a53c3a783c2fa9b969628e65695c11c3e51e673",
      "tree": "5a6115e18ee105246d46e3db3d5b07749d232f5b",
      "parents": [
        "aab520e2f6c80160cabd187a8d0292d1cec8ff68"
      ],
      "author": {
        "name": "Dave Hansen",
        "email": "haveblue@us.ibm.com",
        "time": "Sat Sep 30 23:29:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:30 2006 -0700"
      },
      "message": "[PATCH] r/o bind mounts: unlink: monitor i_nlink\n\nWhen a filesystem decrements i_nlink to zero, it means that a write must be\nperformed in order to drop the inode from the filesystem.\n\nWe\u0027re shortly going to have keep filesystems from being remounted r/o between\nthe time that this i_nlink decrement and that write occurs.\n\nSo, add a little helper function to do the decrements.  We\u0027ll tie into it in a\nbit to note when i_nlink hits zero.\n\nSigned-off-by: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ba52de123d454b57369f291348266d86f4b35070",
      "tree": "3973f3f3c853b5857b6b64a027cadd4fe954e3b9",
      "parents": [
        "577c4eb09d1034d0739e3135fd2cff50588024be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 27 01:50:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 27 08:26:18 2006 -0700"
      },
      "message": "[PATCH] inode-diet: Eliminate i_blksize from the inode structure\n\nThis eliminates the i_blksize field from struct inode.  Filesystems that want\nto provide a per-inode st_blksize can do so by providing their own getattr\nroutine instead of using the generic_fillattr() function.\n\nNote that some filesystems were providing pretty much random (and incorrect)\nvalues for i_blksize.\n\n[bunk@stusta.de: cleanup]\n[akpm@osdl.org: generic_fillattr() fix]\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\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": "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": "ce0fe7e70a0ad11097a3773e9f3f0de3d859edf0",
      "tree": "c626ee7ca36d5648ec928a22fd991c15268f31d3",
      "parents": [
        "25e2d79f527b7abce624f30516f3167195b69a2e"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Oct 04 17:43:06 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 04 13:22:01 2005 -0700"
      },
      "message": "[PATCH] bfs endianness annotations\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fac92becdaecff64dd91daab0292c5131de92f0d",
      "tree": "6c91bdbbe527682813d7c27ed13bdb0531298146",
      "parents": [
        "383f2835eb9afb723af71850037b2f074ac9db60"
      ],
      "author": {
        "name": "Andrew Stribblehill",
        "email": "a.d.stribblehill@durham.ac.uk",
        "time": "Fri Sep 09 13:02:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:32 2005 -0700"
      },
      "message": "[PATCH] bfs: fix endianness, signedness; add trivial bugfix\n\n* Makes BFS code endianness-clean.\n\n* Fixes some signedness warnings.\n\n* Fixes a problem in fs/bfs/inode.c:164 where inodes not synced to disk\n  don\u0027t get fully marked as clean.  Here\u0027s how to reproduce it:\n\n# mount -o loop -t bfs /bfs.img /mnt\n# df -i /mnt\nFilesystem            Inodes   IUsed   IFree IUse% Mounted on\n/bfs.img                  48       1      47    3% /mnt\n# df -k /mnt\nFilesystem           1K-blocks      Used Available Use% Mounted on\n/bfs.img                   512         5       508   1% /mnt\n# cp 60k-archive.zip /mnt/mt.zip\n# df -k /mnt\nFilesystem           1K-blocks      Used Available Use% Mounted on\n/bfs.img                   512        65       447  13% /mnt\n# df -i /mnt\nFilesystem            Inodes   IUsed   IFree IUse% Mounted on\n/bfs.img                  48       2      46    5% /mnt\n# rm /mnt/mt.zip\n# echo $?\n0\n\n [If the unlink happens before the buffers flush, the following happens:]\n\n# df -i /mnt\nFilesystem            Inodes   IUsed   IFree IUse% Mounted on\n/bfs.img                  48       2      46    5% /mnt\n# df -k /mnt\nFilesystem           1K-blocks      Used Available Use% Mounted on\n/bfs.img                   512        65       447  13% /mnt\n\n fs/bfs/bfs.h           |    1\n\nSigned-off-by: Andrew Stribblehill \u003cads@wompom.org\u003e\nCc: \u003ctigran@veritas.com\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"
    }
  ]
}
