)]}'
{
  "log": [
    {
      "commit": "2e94de8acbe524d919f1ea8807913d7b005e1578",
      "tree": "4633b23444fbd08466b71bfc403e24f7d2db47b1",
      "parents": [
        "55adaa495edc429be84399f83df80dfb7f36598b"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Fri Jun 04 14:14:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 15:21:44 2010 -0700"
      },
      "message": "fs/binfmt_flat.c: split the stack \u0026 data alignments\n\nThe stack and data have different alignment requirements, so don\u0027t force\nthem to wear the same shoe.  Increase the data alignment to match that\nwhich the elf2flt linker script has always been using: 0x20 bytes.  Not\nonly does this bring the kernel loader in line with the toolchain, but it\nalso fixes a swath of gcc tests which try to force larger alignment values\nbut randomly fail when the FLAT loader fails to deliver.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: David McCullough \u003cdavidm@snapgear.com\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Jie Zhang \u003cjie@codesourcery.com\u003e\nCc: 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": "7cbe17701a0379c7b05a79a6df4f24e41d2afde8",
      "tree": "914879cce805da0525f6d0c7c730f4945f1586f5",
      "parents": [
        "eaa6e4dd4bf243a357056448e54d7c673cd44acb"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Fri Jun 04 14:14:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 04 15:21:44 2010 -0700"
      },
      "message": "fs/compat_rw_copy_check_uvector: add missing compat_ptr call\n\nA call to access_ok is missing a compat_ptr conversion.  Introduced with\nb83733639a494d5f42fa00a2506563fbd2d3015d \"compat: factor out\ncompat_rw_copy_check_uvector from compat_do_readv_writev\"\n\nfs/compat.c: In function \u0027compat_rw_copy_check_uvector\u0027:\nfs/compat.c:629: warning: passing argument 1 of \u0027__access_ok\u0027 makes pointer from integer without a cast\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nReviewed-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03cd3739818d3fa7f973d0fb6d3aa63122ea00a0",
      "tree": "875b9424f4f43393f9a15e00cd553dc02bbacb10",
      "parents": [
        "1067b6c2bea7fd2cc9da290d865ab3f3b91c8130",
        "06b43672a9e665cab18dc7b77d56d36884b90d45"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 03 07:20:28 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 03 07:20:28 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: fix page refcount leak\n"
    },
    {
      "commit": "08a66859e69264f3223560d06b88e80c1a6a6387",
      "tree": "509c8808edb8e2d66aaa5d6fefccc1c862a1dca0",
      "parents": [
        "0a6531ebea13b164825ba28e77dcbed3e9386884"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Tue Jun 01 20:58:22 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 01 13:32:11 2010 -0700"
      },
      "message": "FS-Cache: Remove unneeded null checks\n\nfscache_write_op() makes unnecessary checks of the page variable to see if it\nis NULL.  It can\u0027t be NULL at those points as the kernel would already have\ncrashed a little higher up where we examined page-\u003eindex.\n\nFurthermore, unless radix_tree_gang_lookup_tag() can return 1 but no page, a\nNULL pointer crash should not be encountered there as we can only get there if\nr_t_g_l_t() returned 1.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06b43672a9e665cab18dc7b77d56d36884b90d45",
      "tree": "79cc0493370222c074709a0c742ee4209a63e582",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 01 10:54:45 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jun 01 17:15:52 2010 +0000"
      },
      "message": "cifs: fix page refcount leak\n\nCommit 315e995c63a15cb4d4efdbfd70fe2db191917f7a is causing OOM kills\nwhen stress-testing a CIFS filesystem. The VFS readpages operation takes\na page reference. The older code just handed this reference off to the\npage cache, but the new code takes an extra one. The simplest fix is to\nput the new reference after add_to_page_cache_lru.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "037776fcbe73236408f6c9ca97c782457efd6b53",
      "tree": "b3822d07bbcf0831be533c5e5704081441eae0bc",
      "parents": [
        "5c113fbeed7a5a192d8431a768965f8a45c16475"
      ],
      "author": {
        "name": "Denis Kirjanov",
        "email": "dkirjanov@hera.kernel.org",
        "time": "Tue Jun 01 17:15:39 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 01 09:26:36 2010 -0700"
      },
      "message": "AFS: Fix possible null pointer dereference in afs_alloc_server()\n\nFix a possible null pointer dereference in afs_alloc_server(): the server\npointer is NULL if there was an allocation failure, and under such a\ncondition, we can\u0027t dereference it in the _leave() statement.\n\nSigned-off-by: Denis Kirjanov \u003cdkirjanov@kernel.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e30c7c3b306312c157d67eedd6a01920518b756c",
      "tree": "4eae3fe0331bd6ab4e72946574ddc619d7cc127e",
      "parents": [
        "293a7cfeedc2b2380a7c7274902323c3cf5f7575"
      ],
      "author": {
        "name": "Takuya Yoshikawa",
        "email": "yoshikawa.takuya@oss.ntt.co.jp",
        "time": "Tue Jun 01 14:10:47 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 01 08:11:06 2010 -0700"
      },
      "message": "binfmt_elf_fdpic: Fix clear_user() error handling\n\nclear_user() returns the number of bytes that could not be copied rather than\nan error code.  So we should return -EFAULT rather than directly returning the\nresults.\n\nWithout this patch, positive values may be returned to elf_fdpic_map_file()\nand the following error handlings do not function as expected.\n\n1.\n\tret \u003d elf_fdpic_map_file_constdisp_on_uclinux(params, file, mm);\n\tif (ret \u003c 0)\n\t\treturn ret;\n2.\n\tret \u003d elf_fdpic_map_file_by_direct_mmap(params, file, mm);\n\tif (ret \u003c 0)\n\t\treturn ret;\n\nSigned-off-by: Takuya Yoshikawa \u003cyoshikawa.takuya@oss.ntt.co.jp\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCC: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCC: Daisuke HATAYAMA \u003cd.hatayama@jp.fujitsu.com\u003e\nCC: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "003386fff3e02e51cea882e60f7d28290113964c",
      "tree": "253001a9a0fc609b757362708edc2dcaab9e2a14",
      "parents": [
        "092405cdb66f060918160ae730640b449ed7b827",
        "51921cb746f56983db5a373ca68deb2b0d3ddf01"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:16:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:16:14 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  mm: export generic_pipe_buf_*() to modules\n  fuse: support splice() reading from fuse device\n  fuse: allow splice to move pages\n  mm: export remove_from_page_cache() to modules\n  mm: export lru_cache_add_*() to modules\n  fuse: support splice() writing to fuse device\n  fuse: get page reference for readpages\n  fuse: use get_user_pages_fast()\n  fuse: remove unneeded variable\n"
    },
    {
      "commit": "d28619f1563140526e2f84eae436f39206f40a69",
      "tree": "d93284016a0983c8f27b745a3c50738617e50995",
      "parents": [
        "021fad8b706849c091f6e682bc5df3ce4f9ab4d7",
        "f32764bd2bbb6ea003c158b1d276b4dc9f900348"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 09:11:11 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:\n  quota: Convert quota statistics to generic percpu_counter\n  ext3 uses rb_node \u003d NULL; to zero rb_root.\n  quota: Fixup dquot_transfer\n  reiserfs: Fix resuming of quotas on remount read-write\n  pohmelfs: Remove dead quota code\n  ufs: Remove dead quota code\n  udf: Remove dead quota code\n  quota: rename default quotactl methods to dquot_\n  quota: explicitly set -\u003edq_op and -\u003es_qcop\n  quota: drop remount argument to -\u003equota_on and -\u003equota_off\n  quota: move unmount handling into the filesystem\n  quota: kill the vfs_dq_off and vfs_dq_quota_on_remount wrappers\n  quota: move remount handling into the filesystem\n  ocfs2: Fix use after free on remount read-only\n\nFix up conflicts in fs/ext4/super.c and fs/ufs/file.c\n"
    },
    {
      "commit": "b612a0553714c6b9744ad0d03f10cac78f3a84b1",
      "tree": "9dfb5cb5d13c187ff1f54448f8441512203625d0",
      "parents": [
        "52b0ace7dfe8f70350218017a95d7cab1eb41fbb",
        "2a8e5e3637e2fc058798f5d3626f525729ffaaaf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun May 30 08:56:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: clean up on forwarded aborted mds request\n  ceph: fix leak of osd authorizer\n  ceph: close out mds, osd connections before stopping auth\n  ceph: make lease code DN specific\n  fs/ceph: Use ERR_CAST\n  ceph: renew auth tickets before they expire\n  ceph: do not resend mon requests on auth ticket renewal\n  ceph: removed duplicated #includes\n  ceph: avoid possible null dereference\n  ceph: make mds requests killable, not interruptible\n  sched: add wait_for_completion_killable_timeout\n"
    },
    {
      "commit": "2a8e5e3637e2fc058798f5d3626f525729ffaaaf",
      "tree": "fc35ac8b29813050cf5199574646106da171a88f",
      "parents": [
        "79494d1b9b92259eb40ea6e939ba5aff4b8de5f1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 28 16:43:16 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:42:05 2010 -0700"
      },
      "message": "ceph: clean up on forwarded aborted mds request\n\nIf an mds request is aborted (timeout, SIGKILL), it is left registered to\nkeep our state in sync with the mds.  If we get a forward notification,\nthough, we know the request didn\u0027t succeed and we can unregister it\nsafely.  We were trying to resend it, but then bailing out (and not\nunregistering) in __do_request.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "79494d1b9b92259eb40ea6e939ba5aff4b8de5f1",
      "tree": "4e646e85059ba65083896ba3454b9a30a146b6ff",
      "parents": [
        "a922d38fd10d55d5033f10df15baf966e8f5b18c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 27 14:15:49 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:42:04 2010 -0700"
      },
      "message": "ceph: fix leak of osd authorizer\n\nRelease the ceph_authorizer when releasing osd state.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a922d38fd10d55d5033f10df15baf966e8f5b18c",
      "tree": "306f73dedd5482f09bdac6dc9ecb5285f95b316f",
      "parents": [
        "dd1c9057366f329911180e9000e2b425f23fc287"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:41:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:42:03 2010 -0700"
      },
      "message": "ceph: close out mds, osd connections before stopping auth\n\nThe auth module (part of the mon_client) is needed to free any\nceph_authorizer(s) used by the mds and osd connections.  Flush the msgr\nworkqueue before stopping monc to ensure that the destroy_authorizer\nauth op is available when those connections are closed out.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "dd1c9057366f329911180e9000e2b425f23fc287",
      "tree": "719ad55ef41a86aaa98419ade71b005306456ed6",
      "parents": [
        "7e34bc524ecae3a04d8cc427ee76ddad826a937b"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 16:45:25 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:42 2010 -0700"
      },
      "message": "ceph: make lease code DN specific\n\nThe lease code includes a mask in the CEPH_LOCK_* namespace, but that\nnamespace is changing, and only one mask (formerly _DN \u003d\u003d 1) is used, so\nhard code for that value for now.\n\nIf we ever extend this code to handle leases over different data types we\ncan extend it accordingly.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7e34bc524ecae3a04d8cc427ee76ddad826a937b",
      "tree": "5065eb0e287e450aef2d8e03e3a18d8f895a4c9e",
      "parents": [
        "a41359fa355e7b450c610ed8e913d5d75c3c9c3b"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sat May 22 12:01:14 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:41 2010 -0700"
      },
      "message": "fs/ceph: Use ERR_CAST\n\nUse ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)).  The former makes more\nclear what is the purpose of the operation, which otherwise looks like a\nno-op.\n\nIn the case of fs/ceph/inode.c, ERR_CAST is not needed, because the type of\nthe returned value is the same as the type of the enclosing function.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\ntype T;\nT x;\nidentifier f;\n@@\n\nT f (...) { \u003c+...\n- ERR_PTR(PTR_ERR(x))\n+ x\n ...+\u003e }\n\n@@\nexpression x;\n@@\n\n- ERR_PTR(PTR_ERR(x))\n+ ERR_CAST(x)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a41359fa355e7b450c610ed8e913d5d75c3c9c3b",
      "tree": "6dc6681f4350f0888ddcb55b5a21326069c200b2",
      "parents": [
        "09c4d6a7d40dd26c1b35674c582382b7ea551368"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 15:39:06 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:39 2010 -0700"
      },
      "message": "ceph: renew auth tickets before they expire\n\nWe were only requesting renewal after our tickets expire; do so before\nthat.  Most of the low-level logic for this was already there; just use\nit.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "09c4d6a7d40dd26c1b35674c582382b7ea551368",
      "tree": "b3afda46b0342ea3e87980b5bb2f6148ce119414",
      "parents": [
        "984c76908efd3c6795aa03dff16a8fc3496af99f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 15:38:06 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:38 2010 -0700"
      },
      "message": "ceph: do not resend mon requests on auth ticket renewal\n\nWe only want to send pending mon requests when we successfully\nauthenticate.  If we are already authenticated, like when we renew our\nticket, there is no need to resend pending requests.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "984c76908efd3c6795aa03dff16a8fc3496af99f",
      "tree": "99b0e7bd4016036fb445809c73e722a1e94d94a2",
      "parents": [
        "e95e9a7ae4c1e7655a0438579f891b3c60178d77"
      ],
      "author": {
        "name": "Andrea Gelmini",
        "email": "andrea.gelmini@gelma.net",
        "time": "Sun May 23 21:47:58 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:37 2010 -0700"
      },
      "message": "ceph: removed duplicated #includes\n\nfs/ceph/auth.c: linux/slab.h is included more than once.\nfs/ceph/super.h: linux/slab.h is included more than once.\n\nAcked-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nSigned-off-by: Andrea Gelmini \u003candrea.gelmini@gelma.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "e95e9a7ae4c1e7655a0438579f891b3c60178d77",
      "tree": "7704aabe47fe7ad8347717b4b6e2b58224b78d9b",
      "parents": [
        "aa91647c898d62e869fcf35e977ab3c533be8fc1"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 25 09:24:42 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:36 2010 -0700"
      },
      "message": "ceph: avoid possible null dereference\n\nac-\u003eops may be null; use protocol id in error message instead.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "aa91647c898d62e869fcf35e977ab3c533be8fc1",
      "tree": "6a5ff908ecb2732d891baa4bac52b5690130e887",
      "parents": [
        "0aa12fb439838a85802ab8b7fbb9bcfc3e6e05cb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 24 11:15:51 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Sat May 29 09:12:35 2010 -0700"
      },
      "message": "ceph: make mds requests killable, not interruptible\n\nThe underlying problem is that many mds requests can\u0027t be restarted.  For\nexample, a restarted create() would return -EEXIST if the original request\nsucceeds.  However, we do not want a hung MDS to hang the client too.  So,\nuse the _killable wait_for_completion variants to abort on SIGKILL but\nnothing else.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "9a90e09854a3c7cc603ab8fc9163f77bb1f66cfa",
      "tree": "c8c5f767dd2351c9db440f003cc14401583bafd3",
      "parents": [
        "d372e7fe4698bde3a00b718f7901a0025dda47ef",
        "d3b383338f105f50724c10a7d81b04a3930e886b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 14:42:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 28 14:42:18 2010 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits)\n  ACPI: Don\u0027t let acpi_pad needlessly mark TSC unstable\n  drivers/acpi/sleep.h: Checkpatch cleanup\n  ACPI: Minor cleanup eliminating redundant PMTIMER_TICKS to NS conversion\n  ACPI: delete unused c-state promotion/demotion data strucutures\n  ACPI: video: fix acpi_backlight\u003dvideo\n  ACPI: EC: Use kmemdup\n  drivers/acpi: use kasprintf\n  ACPI, APEI, EINJ injection parameters support\n  Add x64 support to debugfs\n  ACPI, APEI, Use ERST for persistent storage of MCE\n  ACPI, APEI, Error Record Serialization Table (ERST) support\n  ACPI, APEI, Generic Hardware Error Source memory error support\n  ACPI, APEI, UEFI Common Platform Error Record (CPER) header\n  Unified UUID/GUID definition\n  ACPI Hardware Error Device (PNP0C33) support\n  ACPI, APEI, PCIE AER, use general HEST table parsing in AER firmware_first setup\n  ACPI, APEI, Document for APEI\n  ACPI, APEI, EINJ support\n  ACPI, APEI, HEST table parsing\n  ACPI, APEI, APEI supporting infrastructure\n  ...\n"
    },
    {
      "commit": "49837a80b38b79a7c06217b2c40842aeb6fa13b9",
      "tree": "f7d1cdf2f8c5875114d1db3d38c2bb6509c9ed68",
      "parents": [
        "4c9002de329c9ae825f10eb9044c928434a4d230"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 28 11:34:50 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri May 28 11:37:41 2010 -0400"
      },
      "message": "remove detritus left by \"mm: make read_cache_page synchronous\"\n\ngets minix get_dir_page() in sync with its analogs; back in 2007\nNick has switched read_cache_page() and friends to sync behaviour\n(i.e.  they wait for the page to get unlocked, check if it\u0027s uptodate\nand if it isn\u0027t return ERR_PTR(-EIO) instead) and removed the\nduplicate logics from the callers.  In case of fs/minix/dir.c he\u0027d\nremoved only half of that...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4c9002de329c9ae825f10eb9044c928434a4d230",
      "tree": "976b5ac3ac0cd340c7b73a51bf2aba91f4aa3b68",
      "parents": [
        "459f6ed3b8c74cedeb64e5a854394c0d40eda9cd"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 09:04:07 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:16:05 2010 -0400"
      },
      "message": "fix fs/sysv s_dirt handling\n\ngot broken on -\u003esync_fs() conversion a year ago, nobody noticed...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "459f6ed3b8c74cedeb64e5a854394c0d40eda9cd",
      "tree": "296049a8ea7aa7ee6753c1fdc0e539739c257301",
      "parents": [
        "737f2e93b9724a3554f9d0b248c22cd407313f86"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:38 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:16:02 2010 -0400"
      },
      "message": "fat: convert to use the new truncate convention.\n\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "737f2e93b9724a3554f9d0b248c22cd407313f86",
      "tree": "205ceb526d32c5fcc6ad84a85b05afa9c7fc9902",
      "parents": [
        "3889e6e76f66b7de208a1709d0fe530b21a2d384"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:37 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:57 2010 -0400"
      },
      "message": "ext2: convert to use the new truncate convention.\n\nI also have commented a possible bug in existing ext2 code, marked with XXX.\n\nCc: linux-ext4@vger.kernel.org\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3322e79a3860fd0d50e3c1879b2e98ac582c0ff6",
      "tree": "58ebfb1742c996dd9a40593c33c9ea1ff958efe8",
      "parents": [
        "15c6fd9786dfaab43547bf60df6fa63170fb64fc"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 22:42:19 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:47 2010 -0400"
      },
      "message": "fs: convert simple fs to new truncate\n\nConvert simple filesystems: ramfs, configfs, sysfs, block_dev to new truncate\nsequence.\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "15c6fd9786dfaab43547bf60df6fa63170fb64fc",
      "tree": "afd997b3402761e28b6c39f414fbd93c69fdcdce",
      "parents": [
        "7bb46a6734a7e1ad4beaecc11cae7ed3ff81d30f"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:34 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:42 2010 -0400"
      },
      "message": "kill spurious reference to vmtruncate\n\nLots of filesystems calls vmtruncate despite not implementing the old\n-\u003etruncate method.  Switch them to use simple_setsize and add some\ncomments about the truncate code where it seems fitting.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7bb46a6734a7e1ad4beaecc11cae7ed3ff81d30f",
      "tree": "e575d9c55e2a6ccc645dcb3ae2564de458b428f2",
      "parents": [
        "7000d3c424e5bb350e502a477fb0e1ed42f8b10e"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:33 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:15:33 2010 -0400"
      },
      "message": "fs: introduce new truncate sequence\n\nIntroduce a new truncate calling sequence into fs/mm subsystems. Rather than\nsetattr \u003e vmtruncate \u003e truncate, have filesystems call their truncate sequence\nfrom -\u003esetattr if filesystem specific operations are required. vmtruncate is\ndeprecated, and truncate_pagecache and inode_newsize_ok helpers introduced\npreviously should be used.\n\nsimple_setattr is introduced for simple in-ram filesystems to implement\nthe new truncate sequence. Eventually all filesystems should be converted\nto implement a setattr, and the default code in notify_change should go\naway.\n\nsimple_setsize is also introduced to perform just the ATTR_SIZE portion\nof simple_setattr (ie. changing i_size and trimming pagecache).\n\nTo implement the new truncate sequence:\n- filesystem specific manipulations (eg freeing blocks) must be done in\n  the setattr method rather than -\u003etruncate.\n- vmtruncate can not be used by core code to trim blocks past i_size in\n  the event of write failure after allocation, so this must be performed\n  in the fs code.\n- convert usage of helpers block_write_begin, nobh_write_begin,\n  cont_write_begin, and *blockdev_direct_IO* to use _newtrunc postfixed\n  variants. These avoid calling vmtruncate to trim blocks (see previous).\n- inode_setattr should not be used. generic_setattr is a new function\n  to be used to copy simple attributes into the generic inode.\n- make use of the better opportunity to handle errors with the new sequence.\n\nBig problem with the previous calling sequence: the filesystem is not called\nuntil i_size has already changed.  This means it is not allowed to fail the\ncall, and also it does not know what the previous i_size was. Also, generic\ncode calling vmtruncate to truncate allocated blocks in case of error had\nno good way to return a meaningful error (or, for example, atomically handle\nblock deallocation).\n\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7000d3c424e5bb350e502a477fb0e1ed42f8b10e",
      "tree": "1a0b27d94942969d2ff9e25cfd53f8f20992b6b4",
      "parents": [
        "0ab7620a0cefe6982b914a830a41f65ecccd74bd"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon May 24 22:22:34 2010 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:06:23 2010 -0400"
      },
      "message": "fs/super: fix kernel-doc warning\n\nFix fs/super.c kernel-doc warning and function notation:\nWarning(fs/super.c:957): No description found for parameter \u0027sb\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0ab7620a0cefe6982b914a830a41f65ecccd74bd",
      "tree": "1fbdea741219bb9d7a2beafe99084f9c2089af75",
      "parents": [
        "1b061d9247f71cd15edc4c4c4600191a903642c0"
      ],
      "author": {
        "name": "Erik van der Kouwe",
        "email": "vdkouwe@cs.vu.nl",
        "time": "Wed May 26 12:03:23 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:06:22 2010 -0400"
      },
      "message": "fs/minix: bugfix, number of indirect block ptrs per block depends on block size\n\nThe MINIX filesystem driver used a constant number of indirect block\npointers in an indirect block. This worked only for filesystems with 1kb\nblock, while the MINIX default block size is now 4kb. As a consequence,\nlarge files were read incorrectly on such filesystems and writing a\nlarge file would cause the filesystem to become corrupted. This patch\ncomputes the number of indirect block pointers based on the block size,\nmaking the driver work for each block size.\n\nI would like to thank Feiran Zheng (\u0027Fam\u0027) for pointing out the cause\nof the corruption.\n\nSigned-off-by: Erik van der Kouwe \u003cvdkouwe@cs.vu.nl\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1b061d9247f71cd15edc4c4c4600191a903642c0",
      "tree": "30d92ca82d8286e7a45fba108230ecd23e61673b",
      "parents": [
        "7ea8085910ef3dd4f3cad6845aaa2b580d39b115"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:06:06 2010 -0400"
      },
      "message": "rename the generic fsync implementations\n\nWe don\u0027t name our generic fsync implementations very well currently.\nThe no-op implementation for in-memory filesystems currently is called\nsimple_sync_file which doesn\u0027t make too much sense to start with,\nthe the generic one for simple filesystems is called simple_fsync\nwhich can lead to some confusion.\n\nThis patch renames the generic file fsync method to generic_file_fsync\nto match the other generic_file_* routines it is supposed to be used\nwith, and the no-op implementation to noop_fsync to make it obvious\nwhat to expect.  In addition add some documentation for both methods.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cc967be54710d97c05229b2e5ba2d00df84ddd64",
      "tree": "f2b5f79ee07f16abe92f27c6663dea4339d2f437",
      "parents": [
        "ea635c64e007061f6468ece5cc9cc62d41d4ecf2"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed May 26 17:54:39 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:03:09 2010 -0400"
      },
      "message": "fs: Add missing mutex_unlock\n\nAdd a mutex_unlock missing on the error path.  At other exists from the\nfunction that return an error flag, the mutex is unlocked, so do the same\nhere.\n\nThe semantic match that finds this problem is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression E1;\n@@\n\n* mutex_lock(E1,...);\n  \u003c+... when !\u003d E1\n  if (...) {\n    ... when !\u003d E1\n*   return ...;\n  }\n  ...+\u003e\n* mutex_unlock(E1,...);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d7065da038227a4d09a244e6014e0186a6bd21d0",
      "tree": "0b3b30a6ec59aa03e5fb7084eed31f2a5dfc9686",
      "parents": [
        "176306f59ac7a35369cbba87aff13e14c5916074"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 26 15:13:55 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:03:07 2010 -0400"
      },
      "message": "get rid of the magic around f_count in aio\n\n__aio_put_req() plays sick games with file refcount.  What\nit wants is fput() from atomic context; it\u0027s almost always\ndone with f_count \u003e 1, so they only have to deal with delayed\nwork in rare cases when their reference happens to be the\nlast one.  Current code decrements f_count and if it hasn\u0027t\nhit 0, everything is fine.  Otherwise it keeps a pointer\nto struct file (with zero f_count!) around and has delayed\nwork do __fput() on it.\n\nBetter way to do it: use atomic_long_add_unless( , -1, 1)\ninstead of !atomic_long_dec_and_test().  IOW, decrement it\nonly if it\u0027s not the last reference, leave refcount alone\nif it was.  And use normal fput() in delayed work.\n\nI\u0027ve made that atomic_long_add_unless call a new helper -\nfput_atomic().  Drops a reference to file if it\u0027s safe to\ndo in atomic (i.e. if that\u0027s not the last one), tells if\nit had been able to do that.  aio.c converted to it, __fput()\nuse is gone.  req-\u003eki_file *always* contributes to refcount\nnow.  And __fput() became static.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "176306f59ac7a35369cbba87aff13e14c5916074",
      "tree": "9a507a050923d56ee5936a222ebc833d21cfda75",
      "parents": [
        "1eb2cbb6d5efe129cd006691267ce513c0aa59da"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Mon May 24 16:57:56 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:03:06 2010 -0400"
      },
      "message": "VFS: fix recent breakage of FS_REVAL_DOT\n\nCommit 1f36f774b22a0ceb7dd33eca626746c81a97b6a5 broke FS_REVAL_DOT semantics.\n\nIn particular, before this patch, the command\n   ls -l\nin an NFS mounted directory would always check if the directory on the server\nhad changed and if so would flush and refill the pagecache for the dir.\nAfter this patch, the same \"ls -l\" will repeatedly return stale date until\nthe cached attributes for the directory time out.\n\nThe following patch fixes this by ensuring the d_revalidate is called by\ndo_last when \".\" is being looked-up.\nlink_path_walk has already called d_revalidate, but in that case LOOKUP_OPEN\nis not set so nfs_lookup_verify_inode chooses not to do any validation.\n\nThe following patch restores the original behaviour.\n\nCc: stable@kernel.org\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1eb2cbb6d5efe129cd006691267ce513c0aa59da",
      "tree": "c43fb4381e305a31f3111cf8f54e17a49754704f",
      "parents": [
        "9dda696f0de87a2e5cfabb147e28c76b7d3c6846"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 11:11:06 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:03:05 2010 -0400"
      },
      "message": "Revert \"anon_inode: set S_IFREG on the anon_inode\"\n\nThis reverts commit a7cf4145bb86aaf85d4d4d29a69b50b688e2e49d.\n"
    },
    {
      "commit": "105a048a4f35f7a74c7cc20b36dd83658b6ec232",
      "tree": "043b1110cda0042ba35d8aae59382bb094d0af3f",
      "parents": [
        "00b9b0af5887fed54e899e3b7f5c2ccf5e739def",
        "9aeead73782c4b8e2a91def36dbf95db28605c95"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:43:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:43:44 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (27 commits)\n  Btrfs: add more error checking to btrfs_dirty_inode\n  Btrfs: allow unaligned DIO\n  Btrfs: drop verbose enospc printk\n  Btrfs: Fix block generation verification race\n  Btrfs: fix preallocation and nodatacow checks in O_DIRECT\n  Btrfs: avoid ENOSPC errors in btrfs_dirty_inode\n  Btrfs: move O_DIRECT space reservation to btrfs_direct_IO\n  Btrfs: rework O_DIRECT enospc handling\n  Btrfs: use async helpers for DIO write checksumming\n  Btrfs: don\u0027t walk around with task-\u003estate !\u003d TASK_RUNNING\n  Btrfs: do aio_write instead of write\n  Btrfs: add basic DIO read/write support\n  direct-io: do not merge logically non-contiguous requests\n  direct-io: add a hook for the fs to provide its own submit_bio function\n  fs: allow short direct-io reads to be completed via buffered IO\n  Btrfs: Metadata ENOSPC handling for balance\n  Btrfs: Pre-allocate space for data relocation\n  Btrfs: Metadata ENOSPC handling for tree log\n  Btrfs: Metadata reservation for orphan inodes\n  Btrfs: Introduce global metadata reservation\n  ...\n"
    },
    {
      "commit": "e4ce30f3779c2ddaa7dfaa4042209e5dbacbada5",
      "tree": "cc64c1dcd16b5dbf71ebc8338b339e6fb04abaee",
      "parents": [
        "b899ebeb05da4287ce845976727e3e83dadd25d5",
        "14ece1028b3ed53ffec1b1213ffc6acaf79ad77c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:26:37 2010 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)\n  ext4: Make fsync sync new parent directories in no-journal mode\n  ext4: Drop whitespace at end of lines\n  ext4: Fix compat EXT4_IOC_ADD_GROUP\n  ext4: Conditionally define compat ioctl numbers\n  tracing: Convert more ext4 events to DEFINE_EVENT\n  ext4: Add new tracepoints to track mballoc\u0027s buddy bitmap loads\n  ext4: Add a missing trace hook\n  ext4: restart ext4_ext_remove_space() after transaction restart\n  ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted\n  ext4: Avoid crashing on NULL ptr dereference on a filesystem error\n  ext4: Use bitops to read/modify i_flags in struct ext4_inode_info\n  ext4: Convert calls of ext4_error() to EXT4_ERROR_INODE()\n  ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()\n  ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()\n  ext4: Use our own write_cache_pages()\n  ext4: Show journal_checksum option\n  ext4: Fix for ext4_mb_collect_stats()\n  ext4: check for a good block group before loading buddy pages\n  ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate\n  ext4: Remove extraneous newlines in ext4_msg() calls\n  ...\n\nFixed up trivial conflict in fs/ext4/fsync.c\n"
    },
    {
      "commit": "ade61088bc77dd209f8edadbe544f1e5dad6c287",
      "tree": "50a2eb0b78a470f379801a5abc73ff822f1e47c0",
      "parents": [
        "7eb1053fd00a8f0e2263697638e17da8a251aa74",
        "0522f6adedd2736cbca3c0e16ca51df668993eee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:18:44 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 10:18:44 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix another nfs_wb_page() deadlock\n  NFS: Ensure that we mark the inode as dirty if we exit early from commit\n  NFS: Fix a lock imbalance typo in nfs_access_cache_shrinker\n  sunrpc: fix leak on error on socket xprt setup\n"
    },
    {
      "commit": "f32764bd2bbb6ea003c158b1d276b4dc9f900348",
      "tree": "7fbabde3796a97b8b121349ea76b22b23238230a",
      "parents": [
        "1513b02c8b537af275ea74fdfb380c618b9e6778"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed May 26 23:21:58 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 27 18:56:27 2010 +0200"
      },
      "message": "quota: Convert quota statistics to generic percpu_counter\n\nGeneric per-cpu counter has some memory overhead but it is negligible for\nmodern systems and embedded systems compile without quota support.  And code\nreuse is a good thing. This patch should fix complain from preemptive kernels\nwhich was introduced by dde9588853b1bde.\n\n[Jan Kara: Fixed patch to work on 32-bit archs as well]\n\nReported-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ca572727dbb945e443564029a495157fd2e72995",
      "tree": "10486033a428e9389e32cbc78c0da34c644640a1",
      "parents": [
        "b4d878e23c7f574490ee4d6fd59ebd6819781dd1"
      ],
      "author": {
        "name": "jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed May 26 14:44:53 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:56 2010 -0700"
      },
      "message": "fs/: do not fallback to default_llseek() when readdir() uses BKL\n\nDo not use the fallback default_llseek() if the readdir operation of the\nfilesystem still uses the big kernel lock.\n\nSince llseek() modifies\nfile-\u003ef_pos of the directory directly it may need locking to not confuse\nreaddir which usually uses file-\u003ef_pos directly as well\n\nSince the special characteristics of the BKL (unlocked on schedule) are\nnot necessary in this case, the inode mutex can be used for locking as\nprovided by generic_file_llseek().  This is only possible since all\nfilesystems, except reiserfs, either use a directory as a flat file or\nwith disk address offsets.  Reiserfs on the other hand uses a 32bit hash\noff the filename as the offset so generic_file_llseek() can get used as\nwell since the hash is always smaller than sb-\u003es_maxbytes (\u003d (512 \u003c\u003c 32) -\nblocksize).\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Anders Larsen \u003cal@alarsen.net\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae6afc3f5cf53fb97bac2d0a209bb465952742e7",
      "tree": "541e3f4ed4f2600ffe239e2f23341055199329b1",
      "parents": [
        "09eeb1f5f4d9b52ab57820160dea6027bbea82a3"
      ],
      "author": {
        "name": "jan Blunck",
        "email": "jblunck@suse.de",
        "time": "Wed May 26 14:44:48 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:56 2010 -0700"
      },
      "message": "vfs: introduce noop_llseek()\n\nThis is an implementation of -\u003ellseek useable for the rare special case\nwhen userspace expects the seek to succeed but the (device) file is\nactually not able to perform the seek.  In this case you use noop_llseek()\ninstead of falling back to the default implementation of -\u003ellseek.\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d85cba718efeef9ca00ce3f7f34f5880737aa9b",
      "tree": "d445d35d915b65dac171e58f83c75feb15d625fd",
      "parents": [
        "b83733639a494d5f42fa00a2506563fbd2d3015d"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed May 26 14:44:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:53 2010 -0700"
      },
      "message": "aio: fix the compat vectored operations\n\nThe aio compat code was not converting the struct iovecs from 32bit to\n64bit pointers, causing either EINVAL to be returned from io_getevents, or\nEFAULT as the result of the I/O.  This patch passes a compat flag to\nio_submit to signal that pointer conversion is necessary for a given iocb\narray.\n\nA variant of this was tested by Michael Tokarev.  I have also updated the\nlibaio test harness to exercise this code path with good success.\nFurther, I grabbed a copy of ltp and ran the\ntestcases/kernel/syscall/readv and writev tests there (compiled with -m32\non my 64bit system).  All seems happy, but extra eyes on this would be\nwelcome.\n\n[akpm@linux-foundation.org: coding-style fixes]\n[akpm@linux-foundation.org: fix CONFIG_COMPAT\u003dn build]\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nReported-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.35.1]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b83733639a494d5f42fa00a2506563fbd2d3015d",
      "tree": "5aea71a7b0da140d839cc6109091350e1fbc8868",
      "parents": [
        "5b530fc18324602e1ecb70cd280c2194b2656a5e"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed May 26 14:44:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:53 2010 -0700"
      },
      "message": "compat: factor out compat_rw_copy_check_uvector from compat_do_readv_writev\n\nIt was reported in http://lkml.org/lkml/2010/3/8/309 that 32 bit readv and\nwritev AIO operations were not functioning properly.  It turns out that\nthe code to convert the 32bit io vectors to 64 bits was never written.\nThe results of that can be pretty bad, but in my testing, it mostly ended\nup in generating EFAULT as we walked off the list of I/O vectors provided.\n\nThis patch set fixes the problem in my environment.  are greatly\nappreciated.\n\nThis patch:\n\nFactor out code that will be used by both compat_do_readv_writev and the\ncompat aio submission code paths.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nReported-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.35.1]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cccad8f9f0f1be585c9dc534857ca9c67e538836",
      "tree": "6db36d8244a1fc169fbb2a82dc294e2d5f9e0432",
      "parents": [
        "2fd74e25df46ecb0b54700aba242dcaeb2d75f4a"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed May 26 14:44:23 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:53 2010 -0700"
      },
      "message": "fs/affs: use ERR_CAST\n\nUse ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)).  The former makes more\nclear what is the purpose of the operation, which otherwise looks like a\nno-op.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\ntype T;\nT x;\nidentifier f;\n@@\n\nT f (...) { \u003c+...\n- ERR_PTR(PTR_ERR(x))\n+ x\n ...+\u003e }\n\n@@\nexpression x;\n@@\n\n- ERR_PTR(PTR_ERR(x))\n+ ERR_CAST(x)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36e15263aa5dcf3b72f1f88437e69497782b7ab8",
      "tree": "a1cb0cfabb8069e96df5395ae68d187cd0ed371b",
      "parents": [
        "57f87869f073929f8e8b3c73748aabb0cece19aa"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed May 26 14:43:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:47 2010 -0700"
      },
      "message": "kcore: add _text to KCORE_TEXT\n\nExtend KCORE_TEXT to cover the pages between _text and _stext, to allow\nexamining some important page table pages.\n\n`readelf -a` output on x86_64 before and after patch:\n\t  Type           Offset             VirtAddr           PhysAddr\nbefore    LOAD           0x00007fff8100c000 0xffffffff81009000 0x0000000000000000\nafter     LOAD           0x00007fff81003000 0xffffffff81000000 0x0000000000000000\n\nThe newly covered pages are:\n\n\t0xffffffff81000000 \u003cstartup_64\u003e etc.\n\t0xffffffff81001000 \u003cinit_level4_pgt\u003e\n\t0xffffffff81002000 \u003clevel3_ident_pgt\u003e\n\t0xffffffff81003000 \u003clevel3_kernel_pgt\u003e\n\t0xffffffff81004000 \u003clevel2_fixmap_pgt\u003e\n\t0xffffffff81005000 \u003clevel1_fixmap_pgt\u003e\n\t0xffffffff81006000 \u003clevel2_ident_pgt\u003e\n\t0xffffffff81007000 \u003clevel2_kernel_pgt\u003e\n\t0xffffffff81008000 \u003clevel2_spare_pgt\u003e\n\nBefore patch, /proc/kcore shows outdated contents for the above page\ntable pages, for example:\n\n\t(gdb) p level3_ident_pgt\n\t$1 \u003d {\u003ctext variable, no debug info\u003e} 0xffffffff81002000 \u003clevel3_ident_pgt\u003e\n\t(gdb) p/x *((pud_t *)\u0026level3_ident_pgt)@512\n\t$2 \u003d {{pud \u003d 0x1006063}, {pud \u003d 0x0} \u003crepeats 511 times\u003e}\n\nwhile the real content is:\n\n\troot@hp /home/wfg# hexdump -s 0x1002000 -n 4096 /dev/mem\n\t1002000 6063 0100 0000 0000 8067 0000 0000 0000\n\t1002010 0000 0000 0000 0000 0000 0000 0000 0000\n\t*\n\t1003000\n\nThat is, on a x86_64 box with 2GB memory, we can see first-1GB / full-2GB\nidentity mapping before/after patch:\n\n\t(gdb) p/x *((pud_t *)\u0026level3_ident_pgt)@512\nbefore  $1 \u003d {{pud \u003d 0x1006063}, {pud \u003d 0x0} \u003crepeats 511 times\u003e}\nafter   $1 \u003d {{pud \u003d 0x1006063}, {pud \u003d 0x8067}, {pud \u003d 0x0} \u003crepeats 510 times\u003e}\n\nObviously the content before patch is wrong.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "57f87869f073929f8e8b3c73748aabb0cece19aa",
      "tree": "b03572fb4d78f527061dedde89b71f5728ff6afe",
      "parents": [
        "73d3646029138743989b6c213628484301a72eb1"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Wed May 26 14:43:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:47 2010 -0700"
      },
      "message": "proc: remove obsolete comments\n\nA quick test shows these comments are obsolete, so just remove them.\n\nSigned-off-by: WANG Cong \u003camwang@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "73d3646029138743989b6c213628484301a72eb1",
      "tree": "1df20844702dbf7d8d014ae08bdb479a8350533f",
      "parents": [
        "b3ac022cb9dc5883505a88b159d1b240ad1ef405"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed May 26 14:43:25 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:47 2010 -0700"
      },
      "message": "proc: cleanup: remove unused assignments\n\nI removed 3 unused assignments.  The first two get reset on the first\nstatement of their functions.  For \"err\" in root.c we don\u0027t return an\nerror and we don\u0027t use the variable again.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e49827cc937a742ae02078b483e3eb78f791a2a",
      "tree": "0f3e0a8483a41b2221c74b8286b2349af03dab04",
      "parents": [
        "6e1be45aa6ba6a36c0312f65ecf311135c73001d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:22 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:47 2010 -0700"
      },
      "message": "proc: get_nr_threads() doesn\u0027t need -\u003esiglock any longer\n\nNow that task-\u003esignal can\u0027t go away get_nr_threads() doesn\u0027t need\n-\u003esiglock to read signal-\u003ecount.\n\nAlso, make it inline, move into sched.h, and convert 2 other proc users of\nsignal-\u003ecount to use this (now trivial) helper.\n\nHenceforth get_nr_threads() is the only valid user of signal-\u003ecount, we\nare ready to turn it into \"int nr_threads\" or, perhaps, kill it.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Roland McGrath \u003croland@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": "d344193a05da89c97e965da2c5cbf687d7385eae",
      "tree": "6267b68c31c4547f1749acd35d2a5bfaff919839",
      "parents": [
        "09faef11df8c559a23e2405d123cb2683733a79a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:11 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:46 2010 -0700"
      },
      "message": "exit: avoid sig-\u003ecount in de_thread/__exit_signal synchronization\n\nde_thread() and __exit_signal() use signal_struct-\u003ecount/notify_count for\nsynchronization.  We can simplify the code and use -\u003enotify_count only.\nInstead of comparing these two counters, we can change de_thread() to set\n-\u003enotify_count \u003d nr_of_sub_threads, then change __exit_signal() to\ndec-and-test this counter and notify group_exit_task.\n\nNote that __exit_signal() checks \"notify_count \u003e 0\" just for symmetry with\nexit_notify(), we could just check it is !\u003d 0.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Veaceslav Falico \u003cvfalico@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": "269b005a28e124a341df4adef2c3661cf7371fcc",
      "tree": "226b105cc4c1bbe0b3fe92f2733708a7dc2dedb8",
      "parents": [
        "5e43aef530ba39206f7923295388f7ec3c5a7d93"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:45 2010 -0700"
      },
      "message": "coredump: shift down_write(mmap_sem) into coredump_wait()\n\n- move the cprm.mm_flags checks up, before we take mmap_sem\n\n- move down_write(mmap_sem) and -\u003ecore_state check from do_coredump()\n  to coredump_wait()\n\nThis simplifies the code and makes the locking symmetrical.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5e43aef530ba39206f7923295388f7ec3c5a7d93",
      "tree": "b29b706cff64eb47cc881a793566e38a511843f1",
      "parents": [
        "d5bf4c4f5f9dcc90b7e25dbb2f7c4436cf6e7ed0"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:45 2010 -0700"
      },
      "message": "coredump: factor out put_cred() calls\n\nGiven that do_coredump() calls put_cred() on exit path, it is a bit ugly\nto do put_cred() + \"goto fail\" twice, just add the new \"fail_creds\" label.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d5bf4c4f5f9dcc90b7e25dbb2f7c4436cf6e7ed0",
      "tree": "8c07402f685245fdf3397fac47bc7194f686066d",
      "parents": [
        "c713541125002b8bc9e681af3b09118e771e2d8a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:45 2010 -0700"
      },
      "message": "coredump: cleanup \"ispipe\" code\n\n- kill \"int dump_count\", argv_split(argcp) accepts argcp \u003d\u003d NULL.\n\n- move \"int dump_count\" under \" if (ispipe)\" branch, fail_dropcount\n  can check ispipe.\n\n- move \"char **helper_argv\" as well, change the code to do argv_free()\n  right after call_usermodehelper_fns().\n\n- If call_usermodehelper_fns() fails goto close_fail label instead\n  of closing the file by hand.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c713541125002b8bc9e681af3b09118e771e2d8a",
      "tree": "6c85885dc2403b0310ab13e1c21dcb30960ced83",
      "parents": [
        "04b1c384fbc4e0209e5c1affb67050886376d44b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Wed May 26 14:43:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:45 2010 -0700"
      },
      "message": "coredump: factor out the not-ispipe file checks\n\ndo_coredump() does a lot of file checks after it opens the file or calls\nusermode helper.  But all of these checks are only needed in !ispipe case.\n\nMove this code into the \"else\" branch and kill the ugly repetitive ispipe\nchecks.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "898b374af6f71041bd3bceebe257e564f3f1d458",
      "tree": "b1be6fd3cca69becfc75787eab906338f363d3cd",
      "parents": [
        "a06a4dc3a08201ff6a8a958f935b3cbf7744115f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed May 26 14:42:59 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:44 2010 -0700"
      },
      "message": "exec: replace call_usermodehelper_pipe with use of umh init function and resolve limit\n\nThe first patch in this series introduced an init function to the\ncall_usermodehelper api so that processes could be customized by caller.\nThis patch takes advantage of that fact, by customizing the helper in\ndo_coredump to create the pipe and set its core limit to one (for our\nrecusrsion check).  This lets us clean up the previous uglyness in the\nusermodehelper internals and factor call_usermodehelper out entirely.\nWhile I\u0027m at it, we can also modify the helper setup to look for a core\nlimit value of 1 rather than zero for our recursion check\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReviewed-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d27d7a9a7838587fcdcc6f2b042f5610eb4984a1",
      "tree": "1f54d3904a7a80cb483074478aaa36e72f60cd6b",
      "parents": [
        "b8d6b0d6b6882a53e4586a07e1292223d55299d1"
      ],
      "author": {
        "name": "Thomas Stewart",
        "email": "thomas@stewarts.org.uk",
        "time": "Wed May 26 14:42:33 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:43 2010 -0700"
      },
      "message": "ufs: permit mounting of BorderWare filesystems\n\nI recently had to recover some files from an old broken machine that was\nrunning BorderWare Document Gateway.  It\u0027s basically a drop in web server\nfor sharing files.  From the look of the init process and using strings on\nof a few files it seems to be based on FreeBSD 3.3.\n\nThe process turned out to be more difficult than I imagined, but to cut a\nlong story short BorderWare in their wisdom use a nonstandard magic number\nin their UFS (ufstype\u003d44bsd) file systems.  Thus Linux refuses to mount\nthe file systems in order to recover the data.  After a bit of hunting I\nwas able to make a quick fix to fs/ufs/super.c in order to detect the new\nmagic number.\n\nI assume that this number is the same for all installations.  It\u0027s quite\neasy to find out from ufs_fs.h.  The superblock sits 8k into the block\ndevice and the magic number its 1372 bytes into the superblock struct.\n\n# dd if\u003d/dev/sda5 skip\u003d$(( 8192 + 1372 )) bs\u003d1 count\u003d4 2\u003e /dev/null | hd\n00000000  97 26 24 0f                                       |.\u0026$.|\n#\n\nSigned-off-by: Thomas Stewart \u003cthomas@stewarts.org.uk\u003e\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ca5ca60cba37fc4d8e99583da147faed3039ad0",
      "tree": "c68aaea107be75e0c48ed330716bcfc3f61f87a7",
      "parents": [
        "b81d67a50c0f3021d170466388bec3e7fc3abe75"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Wed May 26 14:42:13 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 27 09:12:41 2010 -0700"
      },
      "message": "fs/autofs4: use memdup_user\n\nUse memdup_user when user data is immediately copied into the allocated\nregion.  Elimination of the variable ads, which is no longer useful.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression from,to,size,flag;\nposition p;\nidentifier l1,l2;\n@@\n\n-  to \u003d \\(kmalloc@p\\|kzalloc@p\\)(size,flag);\n+  to \u003d memdup_user(from,size);\n   if (\n-      to\u003d\u003dNULL\n+      IS_ERR(to)\n                 || ...) {\n   \u003c+... when !\u003d goto l1;\n-  -ENOMEM\n+  PTR_ERR(to)\n   ...+\u003e\n   }\n-  if (copy_from_user(to, from, size) !\u003d 0) {\n-    \u003c+... when !\u003d goto l2;\n-    -EFAULT\n-    ...+\u003e\n-  }\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1513b02c8b537af275ea74fdfb380c618b9e6778",
      "tree": "06ce2ca6599f14707bd873f5f2df4ab0455c0e10",
      "parents": [
        "4dea496974e41814cc715db0268226c6f71f7c8a"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Tue May 25 16:03:04 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 27 17:39:36 2010 +0200"
      },
      "message": "ext3 uses rb_node \u003d NULL; to zero rb_root.\n\nThe problem with this is that 17d9ddc72fb8bba0d4f678 (\"rbtree: Add support\nfor augmented rbtrees\") in the linux-next tree adds a new field to that\nstruct which needs to be NULLas well.  This patch uses RB_ROOT as the\nintializer so all of the relevant fields will be NULL\u0027d.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4dea496974e41814cc715db0268226c6f71f7c8a",
      "tree": "84ab5468169b41176a56ee65b6f05bfa881057ea",
      "parents": [
        "f4b113ae6f772b3c25fdcd73d15e9d8b17c89dcc"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon May 24 12:39:49 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 27 17:39:36 2010 +0200"
      },
      "message": "quota: Fixup dquot_transfer\n\nCommit bc8e5f07392f05c47c8bdeff4f7098db440d065c had a typo which caused\nquota miscomputation when changing owner group of a file. Linus will hate\nme.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "f4b113ae6f772b3c25fdcd73d15e9d8b17c89dcc",
      "tree": "af609ef4706152f839d6319dc81b9c90ce82991b",
      "parents": [
        "36a32ae0007c6c1e4e5d1a4363290792c2938f0a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri May 21 19:12:51 2010 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 27 17:39:36 2010 +0200"
      },
      "message": "reiserfs: Fix resuming of quotas on remount read-write\n\nWhen quota was suspended on remount-ro, finish_unfinished() will try to turn\nit on again (which fails) and also turns the quotas off on exit. Fix the\nfunction to check whether quotas are already on at function entry and do\nnot turn them off in that case.\n\nCC: reiserfs-devel@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9aeead73782c4b8e2a91def36dbf95db28605c95",
      "tree": "7dc2cc6f382ec72715c87ac17ff20e7c0649e4b8",
      "parents": [
        "5a5f79b57069c5691f5b6fd8381fdf487f548ae5"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu May 27 10:23:00 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu May 27 10:23:00 2010 -0400"
      },
      "message": "Btrfs: add more error checking to btrfs_dirty_inode\n\nThe ENOSPC code will now return ENOSPC to btrfs_start_transaction.\nbtrfs_dirty_inode needs to check for this and error out appropriately.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5a5f79b57069c5691f5b6fd8381fdf487f548ae5",
      "tree": "d101b4025a2b23c5e258b04714907f4266c3b2df",
      "parents": [
        "933b585f70d524f1b6f0f6867bedb11d3dd82d3b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 21:33:37 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 21:35:35 2010 -0400"
      },
      "message": "Btrfs: allow unaligned DIO\n\nIn order to support DIO that isn\u0027t aligned to the filesystem blocksize,\nwe fall back to buffered for any unaligned DIOs.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "933b585f70d524f1b6f0f6867bedb11d3dd82d3b",
      "tree": "f871988129967de5dabb20ae612ea7c22cc4c770",
      "parents": [
        "5bdd3536cbbe2ecd94ecc14410c6b1b31da16381"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 11:31:00 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 21:35:34 2010 -0400"
      },
      "message": "Btrfs: drop verbose enospc printk\n\nLess printk is good printk.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5bdd3536cbbe2ecd94ecc14410c6b1b31da16381",
      "tree": "7fd9cd2cb497f6150a5dfde4528ba6ba64144e40",
      "parents": [
        "46bfbb5c0740c200d2b66afcbd1f9d64ab320940"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Wed May 26 11:20:30 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 21:35:33 2010 -0400"
      },
      "message": "Btrfs: Fix block generation verification race\n\nAfter the path is released, the generation number got from block\npointer is no long valid. The race may cause disk corruption, because\nverify_parent_transid() calls clear_extent_buffer_uptodate() when\ngeneration numbers mismatch.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "46bfbb5c0740c200d2b66afcbd1f9d64ab320940",
      "tree": "3ec1523f7da103a79f71fc5f486596307a4eeb54",
      "parents": [
        "94b604429a6cd94ddc128fa2772c57209bb1318f"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 11:04:10 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 21:34:45 2010 -0400"
      },
      "message": "Btrfs: fix preallocation and nodatacow checks in O_DIRECT\n\nThe O_DIRECT code wasn\u0027t checking for multiple references\non preallocated or nodatacow extents.  This means it\nwasn\u0027t honoring snapshots properly.\n\nThe fix here is to add an explicit check for multiple references\nThis also fixes the math for selecting the correct disk block,\nmaking sure not to go past the end of the extent.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "63a6440326e4cd01d6a663069208a0e68e9b833f",
      "tree": "ad3fa7a941d3eb59c4f584486cabc60247df9bdf",
      "parents": [
        "f45471cbda9df24f990154a963741c9bd4c0b0aa",
        "899f4530334da9292556e1f8f5791468e0136ff1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 26 08:57:20 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 26 08:57:20 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  squashfs: update documentation to include description of xattr layout\n  squashfs: fix name reading in squashfs_xattr_get\n  squashfs: constify xattr handlers\n  squashfs: xattr fix sparse warnings\n  squashfs: xattr_lookup sparse fix\n  squashfs: add xattr support configure option\n  squashfs: add new extended inode types\n  squashfs: add support for xattr reading\n  squashfs: add xattr id support\n"
    },
    {
      "commit": "cc68e3be7412baaa1ea2a2df9e88770f1753da78",
      "tree": "a92e184579a6810d6178aa305a3b7ba0694487bd",
      "parents": [
        "3c7b204547bc3d342a4e31196fe14803581d279f"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue May 25 23:43:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 26 08:19:23 2010 -0700"
      },
      "message": "fs/fscache/object-list.c: fix warning on 32-bit\n\nfs/fscache/object-list.c: In function \u0027fscache_objlist_lookup\u0027:\nfs/fscache/object-list.c:105: warning: cast to pointer from integer of different size\n\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": "94b604429a6cd94ddc128fa2772c57209bb1318f",
      "tree": "700c5b9cb431bde48f07813224e6a5165a9d6540",
      "parents": [
        "3f7c579c41a3d20af76fd6ff1f6b949edf105fd1"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 11:02:00 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 11:02:00 2010 -0400"
      },
      "message": "Btrfs: avoid ENOSPC errors in btrfs_dirty_inode\n\nbtrfs_dirty_inode tries to sneak in without much waiting or\nspace reservation, mostly for performance reasons.  This\nusually works well but can cause problems when there are\nmany many writers.\n\nWhen btrfs_update_inode fails with ENOSPC, we fallback\nto a slower btrfs_start_transaction call that will reserve\nsome space.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3f7c579c41a3d20af76fd6ff1f6b949edf105fd1",
      "tree": "374d50346763fb37299f5de93f48901596f21e59",
      "parents": [
        "4845e44ffdb26be9b25610664228e8ecaf949a0d"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 10:59:53 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 26 10:59:53 2010 -0400"
      },
      "message": "Btrfs: move O_DIRECT space reservation to btrfs_direct_IO\n\nThis moves the delalloc space reservation done for O_DIRECT\ninto btrfs_direct_IO.  This way we don\u0027t leak reserved space\nif the generic O_DIRECT write code errors out before it\ncalls into btrfs_direct_IO.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0522f6adedd2736cbca3c0e16ca51df668993eee",
      "tree": "36ff5ee208fa97cf86b717ed0eb2e9ca4251315d",
      "parents": [
        "c5efa5fc91f1f6d1d47e65f39e7ec6d1157c777d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 26 08:42:24 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 26 08:43:53 2010 -0400"
      },
      "message": "NFS: Fix another nfs_wb_page() deadlock\n\nJ.R. Okajima reports that the call to sync_inode() in nfs_wb_page() can\ndeadlock with other writeback flush calls. It boils down to the fact\nthat we cannot ever call writeback_single_inode() while holding a page\nlock (even if we do set nr_to_write to zero) since another process may\nalready be waiting in the call to do_writepages(), and so will deny us\nthe I_SYNC lock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c5efa5fc91f1f6d1d47e65f39e7ec6d1157c777d",
      "tree": "614e6098c92ba9d240ec2b8ea4d9d79ff9334077",
      "parents": [
        "59844a9bd73e084b0ffefc0e13226098e28c71ad"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 26 08:42:11 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 26 08:43:52 2010 -0400"
      },
      "message": "NFS: Ensure that we mark the inode as dirty if we exit early from commit\n\nIf we exit from nfs_commit_inode() without ensuring that the COMMIT rpc\ncall has been completed, we must re-mark the inode as dirty. Otherwise,\nfuture calls to sync_inode() with the WB_SYNC_ALL flag set will fail to\nensure that the data is on the disk.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "59844a9bd73e084b0ffefc0e13226098e28c71ad",
      "tree": "7b897c2530fe7083d57755df684d1d808fb18f8b",
      "parents": [
        "0a68b0bed08eeb7ec62e0125f17856b1ccb1ea4b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 26 08:42:24 2010 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed May 26 08:43:51 2010 -0400"
      },
      "message": "NFS: Fix a lock imbalance typo in nfs_access_cache_shrinker\n\nCommit 9c7e7e23371e629dbb3b341610a418cdf1c19d91 (NFS: Don\u0027t call iput() in\nnfs_access_cache_shrinker) unintentionally removed the spin unlock for the\ninode-\u003ei_lock.\n\nReported-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "51921cb746f56983db5a373ca68deb2b0d3ddf01",
      "tree": "7ccd1100f18d9a17fd3feafc6346d5e5c58203b9",
      "parents": [
        "c3021629a0d820247ee12b6c5192a1d5380e21c6"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed May 26 08:44:22 2010 +0200"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed May 26 08:44:22 2010 +0200"
      },
      "message": "mm: export generic_pipe_buf_*() to modules\n\nThis is needed by fuse device code which wants to create pipe buffers.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "4845e44ffdb26be9b25610664228e8ecaf949a0d",
      "tree": "8852e175b6b02a36df6b47c54d574f3365ddb34f",
      "parents": [
        "eaf25d933e64c2bf3c79b83e8820404f36fdfc52"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 20:56:50 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 21:52:08 2010 -0400"
      },
      "message": "Btrfs: rework O_DIRECT enospc handling\n\nThis changes O_DIRECT write code to mark extents as delalloc\nwhile it is processing them.  Yan Zheng has reworked the\nenospc accounting based on tracking delalloc extents and\nthis makes it much easier to track enospc in the O_DIRECT code.\n\nThere are a few space cases with the O_DIRECT code though,\nit only sets the EXTENT_DELALLOC bits, instead of doing\nEXTENT_DELALLOC | EXTENT_DIRTY | EXTENT_UPTODATE, because\nwe don\u0027t want to mess with clearing the dirty and uptodate\nbits when things go wrong.  This is important because there\nare no pages in the page cache, so any extent state structs\nthat we put in the tree won\u0027t get freed by releasepage.  We have\nto clear them ourselves as the DIO ends.\n\nWith this commit, we reserve space at in btrfs_file_aio_write,\nand then as each btrfs_direct_IO call progresses it sets\nEXTENT_DELALLOC on the range.\n\nbtrfs_get_blocks_direct is responsible for clearing the delalloc\nat the same time it drops the extent lock.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "578454ff7eab61d13a26b568f99a89a2c9edc881",
      "tree": "6abdaf9acdd797767c92cb53e04574d3c755779e",
      "parents": [
        "ec96e2fe954c23a54bfdf2673437a39e193a1822"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu May 20 18:07:20 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 25 15:08:26 2010 -0700"
      },
      "message": "driver core: add devname module aliases to allow module on-demand auto-loading\n\nThis adds:\n  alias: devname:\u003cname\u003e\nto some common kernel modules, which will allow the on-demand loading\nof the kernel module when the device node is accessed.\n\nIdeally all these modules would be compiled-in, but distros seems too\nmuch in love with their modularization that we need to cover the common\ncases with this new facility. It will allow us to remove a bunch of pretty\nuseless init scripts and modprobes from init scripts.\n\nThe static device node aliases will be carried in the module itself. The\nprogram depmod will extract this information to a file in the module directory:\n  $ cat /lib/modules/2.6.34-00650-g537b60d-dirty/modules.devname\n  # Device nodes to trigger on-demand module loading.\n  microcode cpu/microcode c10:184\n  fuse fuse c10:229\n  ppp_generic ppp c108:0\n  tun net/tun c10:200\n  dm_mod mapper/control c10:235\n\nUdev will pick up the depmod created file on startup and create all the\nstatic device nodes which the kernel modules specify, so that these modules\nget automatically loaded when the device node is accessed:\n  $ /sbin/udevd --debug\n  ...\n  static_dev_create_from_modules: mknod \u0027/dev/cpu/microcode\u0027 c10:184\n  static_dev_create_from_modules: mknod \u0027/dev/fuse\u0027 c10:229\n  static_dev_create_from_modules: mknod \u0027/dev/ppp\u0027 c108:0\n  static_dev_create_from_modules: mknod \u0027/dev/net/tun\u0027 c10:200\n  static_dev_create_from_modules: mknod \u0027/dev/mapper/control\u0027 c10:235\n  udev_rules_apply_static_dev_perms: chmod \u0027/dev/net/tun\u0027 0666\n  udev_rules_apply_static_dev_perms: chmod \u0027/dev/fuse\u0027 0666\n\nA few device nodes are switched to statically allocated numbers, to allow\nthe static nodes to work. This might also useful for systems which still run\na plain static /dev, which is completely unsafe to use with any dynamic minor\nnumbers.\n\nNote:\nThe devname aliases must be limited to the *common* and *single*instance*\ndevice nodes, like the misc devices, and never be used for conceptually limited\nsystems like the loop devices, which should rather get fixed properly and get a\ncontrol node for losetup to talk to, instead of creating a random number of\ndevice nodes in advance, regardless if they are ever used.\n\nThis facility is to hide the mess distros are creating with too modualized\nkernels, and just to hide that these modules are not compiled-in, and not to\npaper-over broken concepts. Thanks! :)\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nSigned-Off-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f16a5e347835c6a0ba958535cf6e6c89d50463b8",
      "tree": "41d2e7784f57212a3f910690e00dcd1707a7e47f",
      "parents": [
        "110b93842e36b17598cf24874e90d0401431cda2",
        "7df0e0397b9a18358573274db9fdab991941062f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:17:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:17:51 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Fix permissions checking for setflags ioctl()\n  GFS2: Don\u0027t \"get\" xattrs for ACLs when ACLs are turned off\n  GFS2: Rework reclaiming unlinked dinodes\n"
    },
    {
      "commit": "110b93842e36b17598cf24874e90d0401431cda2",
      "tree": "d95591d129ea8ed8d5b8e489e2d5ae68e79586c4",
      "parents": [
        "4961ab934a1254b1ad9420cea0ded617b57f022b",
        "88e88374ee4958786397a57f684de6f1fc5e0242"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:17:01 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:17:01 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: Ensure inode allocation buffers are fully replayed\n  xfs: enable background pushing of the CIL\n  xfs: forced unmounts need to push the CIL\n  xfs: Introduce delayed logging core code\n  xfs: Delayed logging design documentation\n  xfs: Improve scalability of busy extent tracking\n  xfs: make the log ticket ID available outside the log infrastructure\n  xfs: clean up log ticket overrun debug output\n  xfs: Clean up XFS_BLI_* flag namespace\n  xfs: modify buffer item reference counting\n  xfs: allow log ticket allocation to take allocation flags\n  xfs: Don\u0027t reuse the same transaction ID for duplicated transactions.\n"
    },
    {
      "commit": "337bbfdbffa5c893e80f96a3bf117743ceb0fefc",
      "tree": "b0540b7ca177ba6821aed1c45108d5fd53ffc6ca",
      "parents": [
        "f3bc3189a001ec85c7b1119ad4aa5e39eea0f05e"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Mon May 24 14:33:43 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:07 2010 -0700"
      },
      "message": "smbfs: remove duplicated #include\n\nRemove duplicated #include(\u0027s) in fs/smbfs/symlink.c\n\nSigned-off-by: Huang Weiyi \u003cweiyi.huang@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "91f06e66805dd94825885b3ec392c693fe9ef4d9",
      "tree": "047e315e863085b74413af3534a8c682a3bcedc5",
      "parents": [
        "1356de06cea80ffc84cde6a4f8779414f20f211e"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Mon May 24 14:33:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:06 2010 -0700"
      },
      "message": "fs: ldm: don\u0027t use own implementation of hex_to_bin()\n\nRemove own implementation of hex_to_bin().\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nCc: \"Richard Russon (FlatCap)\" \u003cldm@flatcap.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aaa04b4875f30659a0eb429e0e5203ae7fb7b18e",
      "tree": "7a7e71455e8e318f08d03748b528fbffca853bfa",
      "parents": [
        "f40c396a9ab04eae526990e2b2cef875b424ed4e"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon May 24 14:33:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "fatfs: ratelimit corruption report\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4c99000ac47cbd097e62f1b5cafad745622cedc3",
      "tree": "9912597a68403c8f02dfbb414e60e0cb3f6577d3",
      "parents": [
        "2ec93b0bf35fe0fad05d2b7ef139d018768cca38"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon May 24 14:33:07 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "ntfs: use add_to_page_cache_lru()\n\nQuote from Nick piggin\u0027s about btrfs patch\n- http://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg04472.html.\n\n\"add_to_page_cache_lru is exported, so it should be used. Benefits over\nusing a private pagevec: neater code, 128 bytes fewer stack used, percpu\nlru ordering is preserved, and finally don\u0027t need to flush pagevec\nbefore returning so batching may be shared with other LRU insertions.\"\n\nLet\u0027s use it instead of private pagevec in ntfs, too.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2ec93b0bf35fe0fad05d2b7ef139d018768cca38",
      "tree": "60cdf3c7a0ef9ecd27a00d86b1b712ea45461213",
      "parents": [
        "ef7ffe8f06895312aeb08a5f8a1d4c90e34335ea"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Mon May 24 14:33:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:03 2010 -0700"
      },
      "message": "ntfs: clean up ntfs_attr_extend_initialized\n\ncached_page and lru_pvec have not been used.  Let\u0027s remove the arguments.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4be929be34f9bdeffa40d815d32d7d60d2c7f03b",
      "tree": "4d2c6e2b8ef766e565e2e050ee151de2e02081d3",
      "parents": [
        "940370fc86b920b51a34217a1facc3e9e97c2456"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 24 14:33:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN\n\n- C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not\n  USHORT_MAX/SHORT_MAX/SHORT_MIN.\n\n- Make SHRT_MIN of type s16, not int, for consistency.\n\n[akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]\n[akpm@linux-foundation.org: fix security/keys/keyring.c]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58a9d3d8db06ca2ec31f64ec49ab0aeb89971b85",
      "tree": "70c695b6473d4d25b32a2946e053742f6c49755e",
      "parents": [
        "ec95f53aa6ed62ba68660cb19c8474ebe9025cce"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Mon May 24 14:32:38 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:00 2010 -0700"
      },
      "message": "fs-writeback: check sync bit earlier in inode_wait_for_writeback\n\nWhen wb_writeback() hasn\u0027t written anything it will re-acquire the inode\nlock before calling inode_wait_for_writeback.\n\nThis change tests the sync bit first so that is doesn\u0027t need to drop \u0026\nre-acquire the lock if the inode became available while wb_writeback() was\nwaiting to get the lock.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@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": "a8bef8ff6ea15fa4c67433cab0f5f3484574ef7c",
      "tree": "3ea9c122e02f523379d4560ee2134124d097895c",
      "parents": [
        "e9e96b39f932a065e14f5d5bab0797ae261d03b5"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Mon May 24 14:32:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:59 2010 -0700"
      },
      "message": "mm: migration: avoid race between shift_arg_pages() and rmap_walk() during migration by not migrating temporary stacks\n\nPage migration requires rmap to be able to find all ptes mapping a page\nat all times, otherwise the migration entry can be instantiated, but it\nis possible to leave one behind if the second rmap_walk fails to find\nthe page.  If this page is later faulted, migration_entry_to_page() will\ncall BUG because the page is locked indicating the page was migrated by\nthe migration PTE not cleaned up. For example\n\n  kernel BUG at include/linux/swapops.h:105!\n  invalid opcode: 0000 [#1] PREEMPT SMP\n  ...\n  Call Trace:\n   [\u003cffffffff810e951a\u003e] handle_mm_fault+0x3f8/0x76a\n   [\u003cffffffff8130c7a2\u003e] do_page_fault+0x44a/0x46e\n   [\u003cffffffff813099b5\u003e] page_fault+0x25/0x30\n   [\u003cffffffff8114de33\u003e] load_elf_binary+0x152a/0x192b\n   [\u003cffffffff8111329b\u003e] search_binary_handler+0x173/0x313\n   [\u003cffffffff81114896\u003e] do_execve+0x219/0x30a\n   [\u003cffffffff8100a5c6\u003e] sys_execve+0x43/0x5e\n   [\u003cffffffff8100320a\u003e] stub_execve+0x6a/0xc0\n  RIP  [\u003cffffffff811094ff\u003e] migration_entry_wait+0xc1/0x129\n\nThere is a race between shift_arg_pages and migration that triggers this\nbug.  A temporary stack is setup during exec and later moved.  If\nmigration moves a page in the temporary stack and the VMA is then removed\nbefore migration completes, the migration PTE may not be found leading to\na BUG when the stack is faulted.\n\nThis patch causes pages within the temporary stack during exec to be\nskipped by migration.  It does this by marking the VMA covering the\ntemporary stack with an otherwise impossible combination of VMA flags.\nThese flags are cleared when the temporary stack is moved to its final\nlocation.\n\n[kamezawa.hiroyu@jp.fujitsu.com: idea for having migration skip temporary stacks]\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nReviewed-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Christoph Lameter \u003ccl@linux.com\u003e\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nCc: Rik van Riel \u003criel@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1a5cb81465b66b74bf3d6ad36e5382238de6a132",
      "tree": "28494edfea96752f57c88601d80819759085fade",
      "parents": [
        "e48293fd75b3aa67f43ad6e3d2ff397caa55d58b"
      ],
      "author": {
        "name": "Naoya Horiguchi",
        "email": "n-horiguchi@ah.jp.nec.com",
        "time": "Mon May 24 14:32:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:06:58 2010 -0700"
      },
      "message": "pagemap: add #ifdefs CONFIG_HUGETLB_PAGE on code walking hugetlb vma\n\nIf !CONFIG_HUGETLB_PAGE, pagemap_hugetlb_range() is never called.  So put\nit (and its calling function) into #ifdef block.\n\nSigned-off-by: Naoya Horiguchi \u003cn-horiguchi@ah.jp.nec.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eaf25d933e64c2bf3c79b83e8820404f36fdfc52",
      "tree": "649dc862fcc9a243bdc925db34da618b25a275fc",
      "parents": [
        "ed3b3d314cd2f16fac42676839854a68cab2e22b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 09:48:28 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:58 2010 -0400"
      },
      "message": "Btrfs: use async helpers for DIO write checksumming\n\nThe async helper threads offload crc work onto all the\nCPUs, and make streaming writes much faster.  This\nchanges the O_DIRECT write code to use them.  The only\nsmall complication was that we need to pass in the\nlogical offset in the file for each bio, because we can\u0027t\nfind it in the bio\u0027s pages.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ed3b3d314cd2f16fac42676839854a68cab2e22b",
      "tree": "a38462cdfbaa0dce3bbd26fe7167fe7368439a47",
      "parents": [
        "11c65dccf70be9ace5dbd3906778e1a099b1fee1"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:12:41 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:58 2010 -0400"
      },
      "message": "Btrfs: don\u0027t walk around with task-\u003estate !\u003d TASK_RUNNING\n\nYan Zheng noticed two places we were doing a lot of work\nwithout task-\u003estate set to TASK_RUNNING.  This sets the state\nproperly after we get ready to sleep but decide not to.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "11c65dccf70be9ace5dbd3906778e1a099b1fee1",
      "tree": "1289f139ddf652e39672374b6f9051994c21ce57",
      "parents": [
        "4b46fce23349bfca781a32e2707a18328ca5ae22"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sun May 23 11:07:21 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:57 2010 -0400"
      },
      "message": "Btrfs: do aio_write instead of write\n\nIn order for AIO to work, we need to implement aio_write.  This patch converts\nour btrfs_file_write to btrfs_aio_write.  I\u0027ve tested this with xfstests and\nnothing broke, and the AIO stuff magically started working.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4b46fce23349bfca781a32e2707a18328ca5ae22",
      "tree": "68f1200f2bc82d3f35218aef38e6d5d92bff4aca",
      "parents": [
        "c2c6ca417e2db7a519e6e92c82f4a933d940d076"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sun May 23 11:00:55 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:57 2010 -0400"
      },
      "message": "Btrfs: add basic DIO read/write support\n\nThis provides basic DIO support for reading and writing.  It does not do the\nwork to recover from mismatching checksums, that will come later.  A few design\nchanges have been made from Jim\u0027s code (sorry Jim!)\n\n1) Use the generic direct-io code.  Jim originally re-wrote all the generic DIO\ncode in order to account for all of BTRFS\u0027s oddities, but thanks to that work it\nseems like the best bet is to just ignore compression and such and just opt to\nfallback on buffered IO.\n\n2) Fallback on buffered IO for compressed or inline extents.  Jim\u0027s code did\nit\u0027s own buffering to make dio with compressed extents work.  Now we just\nfallback onto normal buffered IO.\n\n3) Use ordered extents for the writes so that all of the\n\nlock_extent()\nlookup_ordered()\n\ntype checks continue to work.\n\n4) Do the lock_extent() lookup_ordered() loop in readpage so we don\u0027t race with\nDIO writes.\n\nI\u0027ve tested this with fsx and everything works great.  This patch depends on my\ndio and filemap.c patches to work.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c2c6ca417e2db7a519e6e92c82f4a933d940d076",
      "tree": "4b5f71682270b151e38e9649a40da30564dacfdd",
      "parents": [
        "facd07b07d2a7988f5ce849558838cc953847637"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sun May 23 11:00:55 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:56 2010 -0400"
      },
      "message": "direct-io: do not merge logically non-contiguous requests\n\nBtrfs cannot handle having logically non-contiguous requests submitted.  For\nexample if you have\n\nLogical:  [0-4095][HOLE][8192-12287]\nPhysical: [0-4095]      [4096-8191]\n\nNormally the DIO code would put these into the same BIO\u0027s.  The problem is we\nneed to know exactly what offset is associated with what BIO so we can do our\nchecksumming and unlocking properly, so putting them in the same BIO doesn\u0027t\nwork.  So add another check where we submit the current BIO if the physical\nblocks are not contigous OR the logical blocks are not contiguous.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "facd07b07d2a7988f5ce849558838cc953847637",
      "tree": "269200329390f450d2bc7f0858a8ed114a418374",
      "parents": [
        "66f998f611897319b555364cefd5d6e88a205866"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sun May 23 11:00:55 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:55 2010 -0400"
      },
      "message": "direct-io: add a hook for the fs to provide its own submit_bio function\n\nBecause BTRFS can do RAID and such, we need our own submit hook so we can setup\nthe bio\u0027s in the correct fashion, and handle checksum errors properly.  So there\nare a few changes here\n\n1) The submit_io hook.  This is straightforward, just call this instead of\nsubmit_bio.\n\n2) Allow the fs to return -ENOTBLK for reads.  Usually this has only worked for\nwrites, since writes can fallback onto buffered IO.  But BTRFS needs the option\nof falling back on buffered IO if it encounters a compressed extent, since we\nneed to read the entire extent in and decompress it.  So if we get -ENOTBLK back\nfrom get_block we\u0027ll return back and fallback on buffered just like the write\ncase.\n\nI\u0027ve tested these changes with fsx and everything seems to work.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3fd0a5585eb98e074fb9934549c8d85c49756c0d",
      "tree": "3e7ff9bd9678a5eea62818a2f4a50e19dda91a81",
      "parents": [
        "efa56464562991b8c24f965199888806bd8c4b38"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:49:59 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:54 2010 -0400"
      },
      "message": "Btrfs: Metadata ENOSPC handling for balance\n\nThis patch adds metadata ENOSPC handling for the balance code.\nIt is consisted by following major changes:\n\n1. Avoid COW tree leave in the phrase of merging tree.\n\n2. Handle interaction with snapshot creation.\n\n3. make the backref cache can live across transactions.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "efa56464562991b8c24f965199888806bd8c4b38",
      "tree": "e7c7e69e2931674ddf4f14ac08dfdf43b45de0f4",
      "parents": [
        "4a500fd178c89b96fa166a2d9e7855df33429841"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:49:59 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:53 2010 -0400"
      },
      "message": "Btrfs: Pre-allocate space for data relocation\n\nPre-allocate space for data relocation. This can detect ENOPSC\ncondition caused by fragmentation of free space.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4a500fd178c89b96fa166a2d9e7855df33429841",
      "tree": "b97fe0b0c1cb19388fcf28f77cd74a645ec69a61",
      "parents": [
        "d68fc57b7e3245cfacf2e3b47acfed1946a11786"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:49:59 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:53 2010 -0400"
      },
      "message": "Btrfs: Metadata ENOSPC handling for tree log\n\nPrevious patches make the allocater return -ENOSPC if there is no\nunreserved free metadata space. This patch updates tree log code\nand various other places to propagate/handle the ENOSPC error.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d68fc57b7e3245cfacf2e3b47acfed1946a11786",
      "tree": "c2572fcd935017440c8370c8a12ceb49a7fc4f1f",
      "parents": [
        "8929ecfa50f266163832eeacfbc3642ed5eb83b6"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:49:58 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:52 2010 -0400"
      },
      "message": "Btrfs: Metadata reservation for orphan inodes\n\nreserve metadata space for handling orphan inodes\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "8929ecfa50f266163832eeacfbc3642ed5eb83b6",
      "tree": "e0177748af36d49d5f652cff0e421a8268cf7194",
      "parents": [
        "0ca1f7ceb1991099ed5273885ebcf4323948c72e"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:49:58 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:52 2010 -0400"
      },
      "message": "Btrfs: Introduce global metadata reservation\n\nReserve metadata space for extent tree, checksum tree and root tree\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0ca1f7ceb1991099ed5273885ebcf4323948c72e",
      "tree": "10758d6a55c529aced177da3f6bf45cf26361913",
      "parents": [
        "a22285a6a32390195235171b89d157ed1a1fe932"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:48:47 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:51 2010 -0400"
      },
      "message": "Btrfs: Update metadata reservation for delayed allocation\n\nIntroduce metadata reservation context for delayed allocation\nand update various related functions.\n\nThis patch also introduces EXTENT_FIRST_DELALLOC control bit for\nset/clear_extent_bit. It tells set/clear_bit_hook whether they\nare processing the first extent_state with EXTENT_DELALLOC bit\nset. This change is important if set/clear_extent_bit involves\nmultiple extent_state.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a22285a6a32390195235171b89d157ed1a1fe932",
      "tree": "3fabc88a029e1af4f2fdcc708e7b62ef3cf3703a",
      "parents": [
        "f0486c68e4bd9a06a5904d3eeb3a0d73a83befb8"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:48:46 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:50 2010 -0400"
      },
      "message": "Btrfs: Integrate metadata reservation with start_transaction\n\nBesides simplify the code, this change makes sure all metadata\nreservation for normal metadata operations are released after\ncommitting transaction.\n\nChanges since V1:\n\nAdd code that check if unlink and rmdir will free space.\n\nAdd ENOSPC handling for clone ioctl.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f0486c68e4bd9a06a5904d3eeb3a0d73a83befb8",
      "tree": "509428ef400ef45e875a3c448b63b86cbea36aea",
      "parents": [
        "2ead6ae770d9f9dec9f4286bf0fd9001b4388c4b"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sun May 16 10:46:25 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue May 25 10:34:50 2010 -0400"
      },
      "message": "Btrfs: Introduce contexts for metadata reservation\n\nIntroducing metadata reseravtion contexts has two major advantages.\nFirst, it makes metadata reseravtion more traceable. Second, it can\nreclaim freed space and re-add them to the itself after transaction\ncommitted.\n\nBesides add btrfs_block_rsv structure and related helper functions,\nThis patch contains following changes:\n\nMove code that decides if freed tree block should be pinned into\nbtrfs_free_tree_block().\n\nMake space accounting more accurate, mainly for handling read only\nblock groups.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    }
  ],
  "next": "2ead6ae770d9f9dec9f4286bf0fd9001b4388c4b"
}
