)]}'
{
  "log": [
    {
      "commit": "651910874633a75f4a726d44e449be0a56b4b2e0",
      "tree": "55adac70473da5618042f65dd652fcec0965732c",
      "parents": [
        "93ded9b8fd42abe2c3607097963d8de6ad9117eb"
      ],
      "author": {
        "name": "John Reiser",
        "email": "jreiser@BitWagon.com",
        "time": "Mon Jul 21 14:21:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 22 09:59:40 2008 -0700"
      },
      "message": "execve filename: document and export via auxiliary vector\n\nThe Linux kernel puts the filename argument of execve() into the new\naddress space.  Many developers are surprised to learn this.  Those who\nknow and could use it, object \"But it\u0027s not documented.\"\n\nThose who want to use it dislike the expression\n  (char *)(1+ strlen(env[-1+ n_env]) + env[-1+ n_env])\nbecause it requires locating the last original environment variable,\nand assumes that the filename follows the characters.\n\nThis patch documents the insertion of the filename, and makes it easier\nto find by adding a new tag AT_EXECFN in the ElfXX_auxv_t; see \u003celf.h\u003e.\n\nIn many cases readlink(\"/proc/self/exe\",) gives the same answer.  But if\nall the original pages get unmapped, then the kernel erases the symlink\nfor /proc/self/exe.  This can happen when a program decompressor does a\ngood job of cleaning up after uncompressing directly to memory, so that\nthe address space of the target program looks the same as if compression\nhad never happened.  One example is http://upx.sourceforge.net .\n\nOne notable use of the underlying concept (what path containED the\nexecutable) is glibc expanding $ORIGIN in DT_RUNPATH.  In practice for\nthe near term, it may be a good idea for user-mode code to use both\n/proc/self/exe and AT_EXECFN as fall-back methods for each other.\n/proc/self/exe can fail due to unmapping, AT_EXECFN can fail because it\nwon\u0027t be present on non-new systems.  The auxvec or {AT_EXECFN}.d_val\nalso can get overwritten, although in nearly all cases this would be the\nresult of a bug.\n\nThe runtime cost is one NEW_AUX_ENT using two words of stack space.  The\nunderlying value is maintained already as bprm-\u003eexec; setup_arg_pages()\nin fs/exec.c slides it for stack_shift, etc.\n\nSigned-off-by: John Reiser \u003cjreiser@BitWagon.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14b395e35d1afdd8019d11b92e28041fad591b71",
      "tree": "cff7ba9bed7a38300b19a5bacc632979d64fd9c8",
      "parents": [
        "734b397cd14f3340394a8dd3266bec97d01f034b",
        "5108b27651727b5aba0826e8fd7be71b42428701"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:21:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 21:21:46 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.27\u0027 of git://linux-nfs.org/~bfields/linux: (51 commits)\n  nfsd: nfs4xdr.c do-while is not a compound statement\n  nfsd: Use C99 initializers in fs/nfsd/nfs4xdr.c\n  lockd: Pass \"struct sockaddr *\" to new failover-by-IP function\n  lockd: get host reference in nlmsvc_create_block() instead of callers\n  lockd: minor svclock.c style fixes\n  lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_lock\n  lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_testlock\n  lockd: nlm_release_host() checks for NULL, caller needn\u0027t\n  file lock: reorder struct file_lock to save space on 64 bit builds\n  nfsd: take file and mnt write in nfs4_upgrade_open\n  nfsd: document open share bit tracking\n  nfsd: tabulate nfs4 xdr encoding functions\n  nfsd: dprint operation names\n  svcrdma: Change WR context get/put to use the kmem cache\n  svcrdma: Create a kmem cache for the WR contexts\n  svcrdma: Add flush_scheduled_work to module exit function\n  svcrdma: Limit ORD based on client\u0027s advertised IRD\n  svcrdma: Remove unused wait q from svcrdma_xprt structure\n  svcrdma: Remove unneeded spin locks from __svc_rdma_free\n  svcrdma: Add dma map count and WARN_ON\n  ...\n"
    },
    {
      "commit": "db6d8c7a4027b48d797b369a53f8470aaeed7063",
      "tree": "e140c104a89abc2154e1f41a7db8ebecbb6fa0b4",
      "parents": [
        "3a533374283aea50eab3976d8a6d30532175f009",
        "fb65a7c091529bfffb1262515252c0d0f6241c5c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:43:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:43:29 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (1232 commits)\n  iucv: Fix bad merging.\n  net_sched: Add size table for qdiscs\n  net_sched: Add accessor function for packet length for qdiscs\n  net_sched: Add qdisc_enqueue wrapper\n  highmem: Export totalhigh_pages.\n  ipv6 mcast: Omit redundant address family checks in ip6_mc_source().\n  net: Use standard structures for generic socket address structures.\n  ipv6 netns: Make several \"global\" sysctl variables namespace aware.\n  netns: Use net_eq() to compare net-namespaces for optimization.\n  ipv6: remove unused macros from net/ipv6.h\n  ipv6: remove unused parameter from ip6_ra_control\n  tcp: fix kernel panic with listening_get_next\n  tcp: Remove redundant checks when setting eff_sacks\n  tcp: options clean up\n  tcp: Fix MD5 signatures for non-linear skbs\n  sctp: Update sctp global memory limit allocations.\n  sctp: remove unnecessary byteshifting, calculate directly in big-endian\n  sctp: Allow only 1 listening socket with SO_REUSEADDR\n  sctp: Do not leak memory on multiple listen() calls\n  sctp: Support ipv6only AF_INET6 sockets.\n  ...\n"
    },
    {
      "commit": "f7df406dce01dfd30d7e0c570a928bcfeff03142",
      "tree": "6befad5177581f2f136b22117670f00019c7ea0f",
      "parents": [
        "5e248ac9a5c465b356b936030d5a2e80887eb266",
        "a6795e9ebb420d87af43789174689af0d66d1d35"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:17:52 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:17:52 2008 -0700"
      },
      "message": "Merge branch \u0027configfs-fixup-ptr-error\u0027 of git://oss.oracle.com/git/jlbec/linux-2.6\n\n* \u0027configfs-fixup-ptr-error\u0027 of git://oss.oracle.com/git/jlbec/linux-2.6:\n  configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\n  Revert \"configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\"\n"
    },
    {
      "commit": "a352def21a642133758b868c71bee12ab34ad5c5",
      "tree": "95d0f7229f9e4afccdc6fbbf11f7f5c6dd83b0fd",
      "parents": [
        "e1e5770bb63fb9d71619a68f52cb0ba4b2ae58a6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Jul 16 21:53:12 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 20 17:12:34 2008 -0700"
      },
      "message": "tty: Ldisc revamp\n\nMove the line disciplines towards a conventional -\u003eops arrangement.  For\nthe moment the actual \u0027tty_ldisc\u0027 struct in the tty is kept as part of\nthe tty struct but this can then be changed if it turns out that when it\nall settles down we want to refcount ldiscs separately to the tty.\n\nPull the ldisc code out of /proc and put it with our ldisc code.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "407d819cf0fd54c6fc1138a509225696aecafd15",
      "tree": "b653a5c8c09f7c316f5f98947be262e27a4ca33a",
      "parents": [
        "7abbcd6a4c8d6179121f2915a761b1133bf1cd99",
        "b1235d79611e78a07629b4cbe53291c9cffd1834"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:30:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 19 00:30:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6\n"
    },
    {
      "commit": "5108b27651727b5aba0826e8fd7be71b42428701",
      "tree": "993f3f060d659f3c96644aab049fb3c02d9dc37c",
      "parents": [
        "ad1060c89cfe451de849373d98e42fad58dd25ae"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Jul 17 21:33:04 2008 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 18 15:18:35 2008 -0400"
      },
      "message": "nfsd: nfs4xdr.c do-while is not a compound statement\n\nThe WRITEMEM macro produces sparse warnings of the form:\nfs/nfsd/nfs4xdr.c:2668:2: warning: do-while statement is not a compound statement\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ad1060c89cfe451de849373d98e42fad58dd25ae",
      "tree": "96c97c09b1378b0defdf23e9426b7969f2cda1c7",
      "parents": [
        "367c8c7bd9a2882daad6c9cb607e1db8ef781ad4"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 18 15:04:16 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Jul 18 15:04:58 2008 -0400"
      },
      "message": "nfsd: Use C99 initializers in fs/nfsd/nfs4xdr.c\n\nThanks to problem report and original patch from Harvey Harrison.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "b6fcbdb4f283f7ba67cec3cda6be23da8e959031",
      "tree": "45d72a4a5d0cce9ab2c98321f4d7d122bf982a55",
      "parents": [
        "de05c557b24c7dffc6d392e3db120cf11c9f6ae7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:07:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:07:44 2008 -0700"
      },
      "message": "proc: consolidate per-net single-release callers\n\nThey are symmetrical to single_open ones :)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de05c557b24c7dffc6d392e3db120cf11c9f6ae7",
      "tree": "d1d6fe1323657afd7d416c6af8a62d6a9e1e1e66",
      "parents": [
        "60bdde95807e982a824be9cfdd35055cc721a88a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Fri Jul 18 04:07:21 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 04:07:21 2008 -0700"
      },
      "message": "proc: consolidate per-net single_open callers\n\nThere are already 7 of them - time to kill some duplicate code.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49997d75152b3d23c53b0fa730599f2f74c92c65",
      "tree": "46e93126170d02cfec9505172e545732c1b69656",
      "parents": [
        "a0c80b80e0fb48129e4e9d6a9ede914f9ff1850d",
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 18 02:39:39 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tDocumentation/powerpc/booting-without-of.txt\n\tdrivers/atm/Makefile\n\tdrivers/net/fs_enet/fs_enet-main.c\n\tdrivers/pci/pci-acpi.c\n\tnet/8021q/vlan.c\n\tnet/iucv/iucv.c\n"
    },
    {
      "commit": "a6795e9ebb420d87af43789174689af0d66d1d35",
      "tree": "fb2a86ad010015fdd311f3b7f6ef30f60c14b8f7",
      "parents": [
        "f89ab8619e5320cc9c2576f5f8dcbaf6c0ba3950"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 15:21:29 2008 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 15:21:29 2008 -0700"
      },
      "message": "configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\n\nThe configfs operations -\u003emake_item() and -\u003emake_group() currently\nreturn a new item/group.  A return of NULL signifies an error.  Because\nof this, -ENOMEM is the only return code bubbled up the stack.\n\nMultiple folks have requested the ability to return specific error codes\nwhen these operations fail.  This patch adds that ability by changing the\n-\u003emake_item/group() ops to return ERR_PTR() values.  These errors are\nbubbled up appropriately.  NULL returns are changed to -ENOMEM for\ncompatibility.\n\nAlso updated are the in-kernel users of configfs.\n\nThis is a rework of reverted commit 11c3b79218390a139f2d474ee1e983a672d5839a.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "f89ab8619e5320cc9c2576f5f8dcbaf6c0ba3950",
      "tree": "e703050b232c76de7cb25afd63a2b4dd885c4bb9",
      "parents": [
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 14:53:48 2008 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jul 17 14:53:48 2008 -0700"
      },
      "message": "Revert \"configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\"\n\nThis reverts commit 11c3b79218390a139f2d474ee1e983a672d5839a.  The code\nwill move to PTR_ERR().\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "5b664cb235e97afbf34db9c4d77f08ebd725335e",
      "tree": "518540649c38342209790de8e0b575ac1a6fa722",
      "parents": [
        "f39548a6ad1dbdfaab552419386ec5bb1d76fa0d",
        "c0420ad2ca514551ca086510b0e7d17a05c70492"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 17 10:55:51 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 17 10:55:51 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:\n  [PATCH] ocfs2: fix oops in mmap_truncate testing\n  configfs: call drop_link() to cleanup after create_link() failure\n  configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\n  configfs: Fix failing mkdir() making racing rmdir() fail\n  configfs: Fix deadlock with racing rmdir() and rename()\n  configfs: Make configfs_new_dirent() return error code instead of NULL\n  configfs: Protect configfs_dirent s_links list mutations\n  configfs: Introduce configfs_dirent_lock\n  ocfs2: Don\u0027t snprintf() without a format.\n  ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs\n  ocfs2/net: Silence build warnings on sparc64\n  ocfs2: Handle error during journal load\n  ocfs2: Silence an error message in ocfs2_file_aio_read()\n  ocfs2: use simple_read_from_buffer()\n  ocfs2: fix printk format warnings with OCFS2_FS_STATS\u003dn\n  [PATCH 2/2] ocfs2: Instrument fs cluster locks\n  [PATCH 1/2] ocfs2: Add CONFIG_OCFS2_FS_STATS config option\n"
    },
    {
      "commit": "c0420ad2ca514551ca086510b0e7d17a05c70492",
      "tree": "d0c66f31d3ca100ad2bc0ac1dcd0e293865fd894",
      "parents": [
        "e75206517504461778c283b942440ef312e437d5"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coyli@suse.de",
        "time": "Mon Jun 30 18:45:45 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Wed Jul 16 16:13:04 2008 -0700"
      },
      "message": "[PATCH] ocfs2: fix oops in mmap_truncate testing\n\nThis patch fixes a mmap_truncate bug which was found by ocfs2 test suite.\n\nIn an ocfs2 cluster more than 1 node, run program mmap_truncate, which races\nmmap writes and truncates from multiple processes. While the test is\nrunning, a stat from another node forces writeout, causing an oops in\nocfs2_get_block() because it sees a buffer to write which isn\u0027t allocated.\n\nThis patch fixed the bug by clear dirty and uptodate bits in buffer, leave\nthe buffer unmapped and return.\n\nFix is suggested by Mark Fasheh, and I code up the patch.\n\nSigned-off-by: Coly Li \u003ccoyli@suse.de\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "9c1be0c4712fe760d8969427ef91107e9c062d91",
      "tree": "01210aba49c120116bb99ba031ff86a525ffb63d",
      "parents": [
        "42fdd144a40f3afaccaa7ea538268bad3596439e",
        "0d7eff873caaeac84de01a1acdca983d2c7ba3fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 15:02:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 15:02:57 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.infradead.org/~dedekind/ubifs-2.6\n\n* \u0027for_linus\u0027 of git://git.infradead.org/~dedekind/ubifs-2.6:\n  UBIFS: include to compilation\n  UBIFS: add new flash file system\n  UBIFS: add brief documentation\n  MAINTAINERS: add UBIFS section\n  do_mounts: allow UBI root device name\n  VFS: export sync_sb_inodes\n  VFS: move inode_lock into sync_sb_inodes\n"
    },
    {
      "commit": "8df1b049bc86495a40e421abc8b9cf1dda32f0d9",
      "tree": "ed0d7f582b401852a9ea98f572076131950a15c4",
      "parents": [
        "a3cf859321486f69506326146ab3e2fd15c05c3f",
        "cadc723cc19ce6b881d973d3c04e25ebb83058e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 14:49:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 14:49:49 2008 -0700"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (82 commits)\n  NFSv4: Remove BKL from the nfsv4 state recovery\n  SUNRPC: Remove the BKL from the callback functions\n  NFS: Remove BKL from the readdir code\n  NFS: Remove BKL from the symlink code\n  NFS: Remove BKL from the sillydelete operations\n  NFS: Remove the BKL from the rename, rmdir and unlink operations\n  NFS: Remove BKL from NFS lookup code\n  NFS: Remove the BKL from nfs_link()\n  NFS: Remove the BKL from the inode creation operations\n  NFS: Remove BKL usage from open()\n  NFS: Remove BKL usage from the write path\n  NFS: Remove the BKL from the permission checking code\n  NFS: Remove attribute update related BKL references\n  NFS: Remove BKL requirement from attribute updates\n  NFS: Protect inode-\u003ei_nlink updates using inode-\u003ei_lock\n  nfs: set correct fl_len in nlmclnt_test()\n  SUNRPC: Support registering IPv6 interfaces with local rpcbind daemon\n  SUNRPC: Refactor rpcb_register to make rpcbindv4 support easier\n  SUNRPC: None of rpcb_create\u0027s callers wants a privileged source port\n  SUNRPC: Introduce a specific rpcb_create for contacting localhost\n  ...\n"
    },
    {
      "commit": "3c3622dcb64c76c9abd2e468f802db9ba523421c",
      "tree": "0e1ad9be83fb88c9a3e11e4a215f5ec244241785",
      "parents": [
        "e3621ee633810be1079d0fa65ac2c904f53b73fa"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Jul 16 08:52:00 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 16 11:46:16 2008 -0700"
      },
      "message": "Fix compile issues in fs/compat_ioctl.c when CONFIG_BLOCK is disabled\n\nFix fs/compat_ioctl.c to handle CONFIG_BLOCK\u003dn, CONFIG_SCSI\u003dn to avoid\nbuild errors:\n\nIn file included from include/scsi/scsi.h:12,\n                 from fs/compat_ioctl.c:71:\ninclude/scsi/scsi_cmnd.h:27:25: warning: \"BLK_MAX_CDB\" is not defined\ninclude/scsi/scsi_cmnd.h:28:3: error: #error MAX_COMMAND_SIZE can not be bigger than BLK_MAX_CDB\nIn file included from include/scsi/scsi.h:12,\n                 from fs/compat_ioctl.c:71:\ninclude/scsi/scsi_cmnd.h: In function \u0027scsi_bidi_cmnd\u0027:\ninclude/scsi/scsi_cmnd.h:182: error: implicit declaration of function \u0027blk_bidi_rq\u0027\ninclude/scsi/scsi_cmnd.h:183: error: dereferencing pointer to incomplete type\ninclude/scsi/scsi_cmnd.h: In function \u0027scsi_in\u0027:\ninclude/scsi/scsi_cmnd.h:189: error: dereferencing pointer to incomplete type\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cadc723cc19ce6b881d973d3c04e25ebb83058e6",
      "tree": "9256b4bc0685bca22469eab87cd3ec3c2deba60d",
      "parents": [
        "e89e896d31b11a51a54ddcd3f72a76bd286dd86c",
        "f839c4c1991cc9b580ae38f98f54554938a7f49c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:34:58 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:34:58 2008 -0400"
      },
      "message": "Merge branch \u0027bkl-removal\u0027 into next\n"
    },
    {
      "commit": "e89e896d31b11a51a54ddcd3f72a76bd286dd86c",
      "tree": "105a9a93a4021caeeba76e479778ad2dd2b87b57",
      "parents": [
        "3a628b0fd42f7eaf9d052447784d48ceae9ffb8e",
        "d67d1c7bf948341fd8678c8e337ec27f4b46b206"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:34:16 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:34:16 2008 -0400"
      },
      "message": "Merge branch \u0027devel\u0027 into next\n\nConflicts:\n\n\tfs/nfs/file.c\n\nFix up the conflict with Jon Corbet\u0027s bkl-removal tree\n"
    },
    {
      "commit": "f839c4c1991cc9b580ae38f98f54554938a7f49c",
      "tree": "f31d02b9e63c2042d0750133dbaec368a63fb628",
      "parents": [
        "a86dc496b764ebb1431677b38eab45310e5a2ad4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:26 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:57 2008 -0400"
      },
      "message": "NFSv4: Remove BKL from the nfsv4 state recovery\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a86dc496b764ebb1431677b38eab45310e5a2ad4",
      "tree": "2ca9fa18c4f58de08acc7c8f9ea251a279eeba9b",
      "parents": [
        "c3cc8c019ca09767d7c9b5457d5cf8ac65085f44"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:37:09 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:57 2008 -0400"
      },
      "message": "SUNRPC: Remove the BKL from the callback functions\n\nPush it into those callback functions that actually need it.\n\nNote that all the NFS operations use their own locking, so don\u0027t need the\nBKL. Ditto for the rpcbind client.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c3cc8c019ca09767d7c9b5457d5cf8ac65085f44",
      "tree": "f06f3ec2e30994018b31da44ee81b8306b00af75",
      "parents": [
        "76566991f94c206d9c5881edcaf99ba72c9e9d61"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:23 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:56 2008 -0400"
      },
      "message": "NFS: Remove BKL from the readdir code\n\nPage accesses are serialised using the page locks, whereas all attribute\nupdates are serialised using the inode-\u003ei_lock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "76566991f94c206d9c5881edcaf99ba72c9e9d61",
      "tree": "ed7ec44c59ae916639c1b775ac67cefa229b7e65",
      "parents": [
        "52e2e8d37e01edf38ccdccc983fb13ec1456d63d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:22 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:56 2008 -0400"
      },
      "message": "NFS: Remove BKL from the symlink code\n\nPage cache accesses are serialised using page locks, whereas attribute\nupdates are serialised using inode-\u003ei_lock.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "52e2e8d37e01edf38ccdccc983fb13ec1456d63d",
      "tree": "06f43fde01ae679fb2d29a343eef4531e34de015",
      "parents": [
        "bd9bb454b76fb6ca2d00f17313f9f9df5f5c404a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:21 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:55 2008 -0400"
      },
      "message": "NFS: Remove BKL from the sillydelete operations\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bd9bb454b76fb6ca2d00f17313f9f9df5f5c404a",
      "tree": "e5e0a7440552eca9e02a60e03c394ac0e91b76ab",
      "parents": [
        "fc0f684c21b5d4b41dc2ec76f7c0897ac98f5b6e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 16:09:59 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:55 2008 -0400"
      },
      "message": "NFS: Remove the BKL from the rename, rmdir and unlink operations\n\nAttribute updates are safe, and dentry operations are protected using VFS\nlevel locks. Defer removing the BKL from sillyrename until a separate\npatch.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc0f684c21b5d4b41dc2ec76f7c0897ac98f5b6e",
      "tree": "686ee2a2d7b4f04d5812c76485c18c048c5366d2",
      "parents": [
        "fc81af535e462764e17f638d542973fbef13b026"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:20 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:54 2008 -0400"
      },
      "message": "NFS: Remove BKL from NFS lookup code\n\nAll dentry-related operations are already BKL-safe, since they are\nprotected by the VFS locking. No extra locks should be needed in the NFS\ncode.\n\nIn the case of nfs_revalidate_inode(), we\u0027re only doing an attribute\nupdate (protected by the inode-\u003ei_lock).\nIn the case of nfs_lookup(), we\u0027re instantiating a new dentry, so there\nshould be no contention possible until after we call d_materialise_unique.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fc81af535e462764e17f638d542973fbef13b026",
      "tree": "1e3c1c2e6a94698a9427ee21decd8a701bef947a",
      "parents": [
        "f1e2eda23513b68003202bddf1f84158baad8844"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:52:40 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:54 2008 -0400"
      },
      "message": "NFS: Remove the BKL from nfs_link()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "f1e2eda23513b68003202bddf1f84158baad8844",
      "tree": "88e56131a18a1310e0d4a8bcabfce629496ca7d3",
      "parents": [
        "bba67e0e3f4caba2b2b90b48ed798fb0461bcb86"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:50:50 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:53 2008 -0400"
      },
      "message": "NFS: Remove the BKL from the inode creation operations\n\nnfs_instantiate() does not require the BKL, neither do the attribute\nupdates or the RPC code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "bba67e0e3f4caba2b2b90b48ed798fb0461bcb86",
      "tree": "c13781f1265ccd73b4f71a33e9bb22931e954c1e",
      "parents": [
        "b6a2e569e2157509951c9f3f58dfa18b44ce91b3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:26:23 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:53 2008 -0400"
      },
      "message": "NFS: Remove BKL usage from open()\n\nAll the NFSv4 stateful operations are already protected by other locks (in\nparticular by the rpc_sequence locks.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b6a2e569e2157509951c9f3f58dfa18b44ce91b3",
      "tree": "1398d38574357e8f89948102f2df1e86634b91f1",
      "parents": [
        "4d80f2ecd506d9732ad94a6da104580bb47680d6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:26:16 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:52 2008 -0400"
      },
      "message": "NFS: Remove BKL usage from the write path\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4d80f2ecd506d9732ad94a6da104580bb47680d6",
      "tree": "26cb6bb08a53eae18dcf046b1041f20b5c9a9f8d",
      "parents": [
        "fa6dc9dc59c3a76fd209a97c8cf37395980fb903"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:18 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:52 2008 -0400"
      },
      "message": "NFS: Remove the BKL from the permission checking code\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fa6dc9dc59c3a76fd209a97c8cf37395980fb903",
      "tree": "3af530da9d0a21f385007afb34bc058e3f6cab21",
      "parents": [
        "a3d01454bc58b5a211ef64a7670572a40b71e682"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 13:26:14 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:51 2008 -0400"
      },
      "message": "NFS: Remove attribute update related BKL references\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a3d01454bc58b5a211ef64a7670572a40b71e682",
      "tree": "68c1ba383fb2c6702a8cc02bc81d51da6fb2920b",
      "parents": [
        "1b83d707032a1be40a60ed0a9bd841662cc04a5d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 12:21:19 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:51 2008 -0400"
      },
      "message": "NFS: Remove BKL requirement from attribute updates\n\nThe main problem is dealing with inode-\u003ei_size: we need to set the\ninode-\u003ei_lock on all attribute updates, and so vmtruncate won\u0027t cut it.\nMake an NFS-private version of vmtruncate that has the necessary locking\nsemantics.\n\nThe result should be that the following inode attribute updates are\nprotected by inode-\u003ei_lock\n\tnfsi-\u003ecache_validity\n\tnfsi-\u003eread_cache_jiffies\n\tnfsi-\u003eattrtimeo\n\tnfsi-\u003eattrtimeo_timestamp\n\tnfsi-\u003echange_attr\n\tnfsi-\u003elast_updated\n\tnfsi-\u003ecache_change_attribute\n\tnfsi-\u003eaccess_cache\n\tnfsi-\u003eaccess_cache_entry_lru\n\tnfsi-\u003eaccess_cache_inode_lru\n\tnfsi-\u003eacl_access\n\tnfsi-\u003eacl_default\n\tnfsi-\u003enfs_page_tree\n\tnfsi-\u003encommit\n\tnfsi-\u003enpages\n\tnfsi-\u003eopen_files\n\tnfsi-\u003esilly_list\n\tnfsi-\u003eacl\n\tnfsi-\u003eopen_states\n\tinode-\u003ei_size\n\tinode-\u003ei_atime\n\tinode-\u003ei_mtime\n\tinode-\u003ei_ctime\n\tinode-\u003ei_nlink\n\tinode-\u003ei_uid\n\tinode-\u003ei_gid\n\nThe following is protected by dir-\u003ei_mutex\n\tnfsi-\u003ecookieverf\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1b83d707032a1be40a60ed0a9bd841662cc04a5d",
      "tree": "4c39cb618026a4480e06e5ed0d30c7a553a6fabf",
      "parents": [
        "d67d1c7bf948341fd8678c8e337ec27f4b46b206"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Jun 11 15:44:04 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:10:50 2008 -0400"
      },
      "message": "NFS: Protect inode-\u003ei_nlink updates using inode-\u003ei_lock\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d67d1c7bf948341fd8678c8e337ec27f4b46b206",
      "tree": "69bec2c4fcabba993fea54f9d3be26963f9f13ce",
      "parents": [
        "c2e1b09ff237c0a3687b9a804cc8bf489743cffc"
      ],
      "author": {
        "name": "Felix Blyakher",
        "email": "felixb@sgi.com",
        "time": "Tue Jul 15 12:40:22 2008 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Jul 15 18:08:59 2008 -0400"
      },
      "message": "nfs: set correct fl_len in nlmclnt_test()\n\nfcntl(F_GETLK) on an nfs client incorrectly returns\nthe values for the conflicting lock. fl_len value is\nalways 1.\nIf the conflicting lock is (0, 4095) the F_GETLK\nrequest for (1024, 10) returns (0, 1), which doesn\u0027t\neven cover the requested range, and is quite confusing.\nThe fix is trivial, set fl_end from the fl_end value\nrecieved from the nfs server.\n\nSigned-off-by: Felix Blyakher \u003cfelixb@sgi.com\u003e\nSigned-off-by: \"J. Bruce Fields\" \u003cbfields@citi.umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "367c8c7bd9a2882daad6c9cb607e1db8ef781ad4",
      "tree": "67fc93454ea9b3db1f6456cb6d6c255fe0c08178",
      "parents": [
        "560de0e65904db392e1c443c4bf5ee750573336b"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Mon Jun 30 18:58:14 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 15 16:11:29 2008 -0400"
      },
      "message": "lockd: Pass \"struct sockaddr *\" to new failover-by-IP function\n\nPass a more generic socket address type to nlmsvc_unlock_all_by_ip() to\nallow for future support of IPv6.  Also provide additional sanity\nchecking in failover_unlock_ip() when constructing the server\u0027s IP\naddress.\n\nAs an added bonus, provide clean kerneldoc comments on related NLM\ninterfaces which were recently added.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1a781a777b2f6ac46523fe92396215762ced624d",
      "tree": "4f34bb4aade85c0eb364b53d664ec7f6ab959006",
      "parents": [
        "b9d2252c1e44fa83a4e65fdc9eb93db6297c55af",
        "42a2f217a5e324ed5f2373ab1b7a0a15187c4d6c"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jul 15 21:55:59 2008 +0200"
      },
      "message": "Merge branch \u0027generic-ipi\u0027 into generic-ipi-for-linus\n\nConflicts:\n\n\tarch/powerpc/Kconfig\n\tarch/s390/kernel/time.c\n\tarch/x86/kernel/apic_32.c\n\tarch/x86/kernel/cpu/perfctr-watchdog.c\n\tarch/x86/kernel/i8259_64.c\n\tarch/x86/kernel/ldt.c\n\tarch/x86/kernel/nmi_64.c\n\tarch/x86/kernel/smpboot.c\n\tarch/x86/xen/smp.c\n\tinclude/asm-x86/hw_irq_32.h\n\tinclude/asm-x86/hw_irq_64.h\n\tinclude/asm-x86/mach-default/irq_vectors.h\n\tinclude/asm-x86/mach-voyager/irq_vectors.h\n\tinclude/asm-x86/smp.h\n\tkernel/Makefile\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "560de0e65904db392e1c443c4bf5ee750573336b",
      "tree": "1d6fcfe7fadd5b20ac2f70db6d45d4f8391023f9",
      "parents": [
        "6d7bbbbacc5202eaabbc232681cc325b22a73eeb"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 15 15:05:45 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 15 15:40:25 2008 -0400"
      },
      "message": "lockd: get host reference in nlmsvc_create_block() instead of callers\n\nIt may not be obvious (till you look at the definition of\nnlm_alloc_call()) that a function like nlmsvc_create_block() should\nconsume a reference on success or failure, so I find it clearer if it\ntakes the reference it needs itself.\n\nAnd both callers already do this immediately before the call anyway.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6d7bbbbacc5202eaabbc232681cc325b22a73eeb",
      "tree": "a040220a4cba226f2dcf2345e931c57c6cc96d16",
      "parents": [
        "6cde4de80773497d8333985b135f472eda870904"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 15 14:38:32 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 15 15:28:43 2008 -0400"
      },
      "message": "lockd: minor svclock.c style fixes\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "6cde4de80773497d8333985b135f472eda870904",
      "tree": "f6b97fe59c31dbe750b146d785276d44223b7e4c",
      "parents": [
        "8f920d5e29f86d3425a68e1c3bc264d1f6f55112"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 15 14:26:17 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 15 14:53:33 2008 -0400"
      },
      "message": "lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_lock\n\nnlmsvc_lock calls nlmsvc_lookup_host to find a nlm_host struct. The\ncallers of this function, however, call nlmsvc_retrieve_args or\nnlm4svc_retrieve_args, which also return a nlm_host struct.\n\nChange nlmsvc_lock to take a host arg instead of calling\nnlmsvc_lookup_host itself and change the callers to pass a pointer to\nthe nlm_host they\u0027ve already found.\n\nSince nlmsvc_testlock() now just uses the caller\u0027s reference, we no\nlonger need to get or release it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8f920d5e29f86d3425a68e1c3bc264d1f6f55112",
      "tree": "db3054c6d5f0a2a6b239b204171e119c69ab0217",
      "parents": [
        "b0e92aae157cbf78ede7b7dd03967b49fcb2102e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 15 14:06:48 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 15 14:26:52 2008 -0400"
      },
      "message": "lockd: eliminate duplicate nlmsvc_lookup_host call from nlmsvc_testlock\n\nnlmsvc_testlock calls nlmsvc_lookup_host to find a nlm_host struct. The\ncallers of this functions, however, call nlmsvc_retrieve_args or\nnlm4svc_retrieve_args, which also return a nlm_host struct.\n\nChange nlmsvc_testlock to take a host arg instead of calling\nnlmsvc_lookup_host itself and change the callers to pass a pointer to\nthe nlm_host they\u0027ve already found.\n\nWe take a reference to host in the place where nlmsvc_testlock()\nprevious did a new lookup, so the reference counting is unchanged from\nbefore.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e4e0fadcd929138aa82130a1c5f22206d86d7bb2",
      "tree": "bda4637fba45a2dd1dd02f01076d4705a4a208a3",
      "parents": [
        "14351760e314b8a9720804b11c6bd11d0c0b1258",
        "ec1aef33668448718fcba79e4e981592bfd7e0a3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 11:03:19 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 11:03:19 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:\n  jfs: remove DIRENTSIZ\n  JFS: diAlloc() should return -EIO rather than EIO\n  JFS: skip bad iput() call in error path\n  JFS: switch to seq_files\n  JFS: 0 is not valid errno value so return NULL from jfs_lookup\n"
    },
    {
      "commit": "38c46578ffd8ffbfec514c2a9876d527303322d6",
      "tree": "d55ad8a52048f70bc6ef51d388c0f21ff467155e",
      "parents": [
        "e7849f16c13476288fe4fbd420975e8456c75aa0",
        "4abaca17e758e3326c96ced88b2cd9b7b84922f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:38:46 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 10:38:46 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw:\n  [GFS2] Fix GFS2\u0027s use of do_div() in its quota calculations\n  [GFS2] Remove unused declaration\n  [GFS2] Remove support for unused and pointless flag\n  [GFS2] Replace rgrp \"recent list\" with mru list\n  [GFS2] Allow local DF locks when holding a cached EX glock\n  [GFS2] Fix delayed demote race\n  [GFS2] don\u0027t call permission()\n  [GFS2] Fix module building\n  [GFS2] Glock documentation\n  [GFS2] Remove all_list from lock_dlm\n  [GFS2] Remove obsolete conversion deadlock avoidance code\n  [GFS2] Remove remote lock dropping code\n  [GFS2] kernel panic mounting volume\n  [GFS2] Revise readpage locking\n  [GFS2] Fix ordering of args for list_add\n  [GFS2] trivial sparse lock annotations\n  [GFS2] No lock_nolock\n  [GFS2] Fix ordering bug in lock_dlm\n  [GFS2] Clean up the glock core\n"
    },
    {
      "commit": "b0e92aae157cbf78ede7b7dd03967b49fcb2102e",
      "tree": "8540a64fdf71092789d994f258cb2d07054a42f1",
      "parents": [
        "afc1246f917c664b0df98b3c22fa62db74d2ca33"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 15 12:35:20 2008 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jul 15 12:35:20 2008 -0400"
      },
      "message": "lockd: nlm_release_host() checks for NULL, caller needn\u0027t\n\nNo need to check for a NULL argument twice.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8d2567a620ae8c24968a2bdc1c906c724fac1f6a",
      "tree": "8e228abbadbe760e3f015d30c2e1180a67eeb8f9",
      "parents": [
        "bcf559e385ba099996c90469c817d2eb38aba418",
        "49f1487b2e41bd8439ea39a4f15b4064e823cc54"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 08:36:38 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 08:36:38 2008 -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: (61 commits)\n  ext4: Documention update for new ordered mode and delayed allocation\n  ext4: do not set extents feature from the kernel\n  ext4: Don\u0027t allow nonextenst mount option for large filesystem\n  ext4: Enable delalloc by default.\n  ext4: delayed allocation i_blocks fix for stat\n  ext4: fix delalloc i_disksize early update issue\n  ext4: Handle page without buffers in ext4_*_writepage()\n  ext4: Add ordered mode support for delalloc\n  ext4: Invert lock ordering of page_lock and transaction start in delalloc\n  mm: Add range_cont mode for writeback\n  ext4: delayed allocation ENOSPC handling\n  percpu_counter: new function percpu_counter_sum_and_set\n  ext4: Add delayed allocation support in data\u003dwriteback mode\n  vfs: add hooks for ext4\u0027s delayed allocation support\n  jbd2: Remove data\u003dordered mode support using jbd buffer heads\n  ext4: Use new framework for data\u003dordered mode in JBD2\n  jbd2: Implement data\u003dordered mode handling via inodes\n  vfs: export filemap_fdatawrite_range()\n  ext4: Fix lock inversion in ext4_ext_truncate()\n  ext4: Invert the locking order of page_lock and transaction start\n  ...\n"
    },
    {
      "commit": "0d7eff873caaeac84de01a1acdca983d2c7ba3fe",
      "tree": "67294bf69f187e35fb8ee69946cb70877861f830",
      "parents": [
        "1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jul 14 19:08:38 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jul 15 17:35:24 2008 +0300"
      },
      "message": "UBIFS: include to compilation\n\nAdd UBIFS to Makefile and Kbuild.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "1e51764a3c2ac05a23a22b2a95ddee4d9bffb16d",
      "tree": "919debdd48aef9eee9ff0e8f465ef2649325b993",
      "parents": [
        "e56a99d5a42dcb91e622ae7a0289d8fb2ddabffb"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jul 14 19:08:37 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Jul 15 17:35:15 2008 +0300"
      },
      "message": "UBIFS: add new flash file system\n\nThis is a new flash file system. See\nhttp://www.linux-mtd.infradead.org/doc/ubifs.html\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\n"
    },
    {
      "commit": "d1794f2c5b5817eb79ccc5e00701ca748d1b073a",
      "tree": "5a4c98e694e88a8c82f342d0cc9edb2a4cbbef36",
      "parents": [
        "a41eebab7537890409ea9dfe0fcda9b5fbdb090d",
        "2fceef397f9880b212a74c418290ce69e7ac00eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 14:48:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 14:48:31 2008 -0700"
      },
      "message": "Merge branch \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6: (146 commits)\n  IB/umad: BKL is not needed for ib_umad_open()\n  IB/uverbs: BKL is not needed for ib_uverbs_open()\n  bf561-coreb: BKL unneeded for open()\n  Call fasync() functions without the BKL\n  snd/PCM: fasync BKL pushdown\n  ipmi: fasync BKL pushdown\n  ecryptfs: fasync BKL pushdown\n  Bluetooth VHCI: fasync BKL pushdown\n  tty_io: fasync BKL pushdown\n  tun: fasync BKL pushdown\n  i2o: fasync BKL pushdown\n  mpt: fasync BKL pushdown\n  Remove BKL from remote_llseek v2\n  Make FAT users happier by not deadlocking\n  x86-mce: BKL pushdown\n  vmwatchdog: BKL pushdown\n  vmcp: BKL pushdown\n  via-pmu: BKL pushdown\n  uml-random: BKL pushdown\n  uml-mmapper: BKL pushdown\n  ...\n"
    },
    {
      "commit": "2fceef397f9880b212a74c418290ce69e7ac00eb",
      "tree": "d9cc09ab992825ef7fede4a688103503e3caf655",
      "parents": [
        "feae1ef116ed381625d3731c5ae4f4ebcb3fa302",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into bkl-removal\n"
    },
    {
      "commit": "e75206517504461778c283b942440ef312e437d5",
      "tree": "a0acb0d8cc4527fc00560d7b78a971100fba7f57",
      "parents": [
        "11c3b79218390a139f2d474ee1e983a672d5839a"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "Louis.Rilling@kerlabs.com",
        "time": "Thu Jun 12 17:26:47 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:16 2008 -0700"
      },
      "message": "configfs: call drop_link() to cleanup after create_link() failure\n\nWhen allow_link() succeeds but create_link() fails, the subsystem is not\ninformed of the failure.\n\nThis patch fixes this by calling drop_link() on create_link() failures.\n\nSigned-off-by: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "11c3b79218390a139f2d474ee1e983a672d5839a",
      "tree": "03fa1a4927f2d9856ee45a64d522424478058b6f",
      "parents": [
        "6d8344baee99402de58b5fa5dfea197242955c15"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jun 12 14:00:18 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:16 2008 -0700"
      },
      "message": "configfs: Allow -\u003emake_item() and -\u003emake_group() to return detailed errors.\n\nThe configfs operations -\u003emake_item() and -\u003emake_group() currently\nreturn a new item/group.  A return of NULL signifies an error.  Because\nof this, -ENOMEM is the only return code bubbled up the stack.\n\nMultiple folks have requested the ability to return specific error codes\nwhen these operations fail.  This patch adds that ability by changing the\n-\u003emake_item/group() ops to return an int.\n\nAlso updated are the in-kernel users of configfs.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "6d8344baee99402de58b5fa5dfea197242955c15",
      "tree": "6be890feb8063bdaac6efaff1044980cb76ee961",
      "parents": [
        "b3e76af87441fc36eef3516d73ab2314e7b2d911"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "Louis.Rilling@kerlabs.com",
        "time": "Mon Jun 16 19:01:02 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:16 2008 -0700"
      },
      "message": "configfs: Fix failing mkdir() making racing rmdir() fail\n\nWhen fixing the rename() vs rmdir() deadlock, we stopped locking default groups\u0027\ninodes in configfs_detach_prep(), letting racing mkdir() in default groups\nproceed concurrently. This enables races like below happen, which leads to a\nfailing mkdir() making rmdir() fail, despite the group to remove having no\nuser-created directory under it in the end.\n\n\tprocess A: \t\t\tprocess B:\n\t/* PWD\u003dA/B */\n\tmkdir(\"C\")\n\t  make_item(\"C\")\n\t  attach_group(\"C\")\n\t\t\t\t\trmdir(\"A\")\n\t\t\t\t\t  detach_prep(\"A\")\n\t\t\t\t\t    detach_prep(\"B\")\n\t\t\t\t\t      error because of \"C\"\n\t\t\t\t\t  return -ENOTEMPTY\n\t    attach_group(\"C/D\")\n\t      error (eg -ENOMEM)\n\t  return -ENOMEM\n\nThis patch prevents such scenarii by making rmdir() wait as long as\ndetach_prep() fails because a racing mkdir() is in the middle of attach_group().\nTo achieve this, mkdir() sets a flag CONFIGFS_USET_IN_MKDIR in parent\u0027s\nconfigfs_dirent before calling attach_group(), and clears the flag once\nattach_group() is done. detach_prep() fails with -EAGAIN whenever the flag is\nhit and returns the guilty inode\u0027s mutex so that rmdir() can wait on it.\n\nSigned-off-by: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "b3e76af87441fc36eef3516d73ab2314e7b2d911",
      "tree": "36c6c6a21ac16b609302845a7dcb91749a972e4c",
      "parents": [
        "107ed40bd070df5e4a0a012042c45c40963dc574"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "Louis.Rilling@kerlabs.com",
        "time": "Mon Jun 16 19:01:01 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:16 2008 -0700"
      },
      "message": "configfs: Fix deadlock with racing rmdir() and rename()\n\nThis patch fixes the deadlock between racing sys_rename() and configfs_rmdir().\n\nThe idea is to avoid locking i_mutexes of default groups in\nconfigfs_detach_prep(), and rely instead on the new configfs_dirent_lock to\nprotect against configfs_dirent\u0027s linkage mutations. To ensure that an mkdir()\nracing with rmdir() will not create new items in a to-be-removed default group,\nwe make configfs_new_dirent() check for the CONFIGFS_USET_DROPPING flag right\nbefore linking the new dirent, and return error if the flag is set. This makes\nracing mkdir()/symlink()/dir_open() fail in places where errors could already\nhappen, resp. in (attach_item()|attach_group())/create_link()/new_dirent().\n\nconfigfs_depend() remains safe since it locks all the path from configfs root,\nand is thus mutually exclusive with rmdir().\n\nAn advantage of this is that now detach_groups() unconditionnaly takes the\ndefault groups i_mutex, which makes it more consistent with populate_groups().\n\nSigned-off-by: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "107ed40bd070df5e4a0a012042c45c40963dc574",
      "tree": "d3b8c1799083c0e7d4f1af3e1b84f0a86372eaee",
      "parents": [
        "5301a77da2da1e4c22573e0e8d394a653b8ad9f9"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "Louis.Rilling@kerlabs.com",
        "time": "Mon Jun 16 19:01:00 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:16 2008 -0700"
      },
      "message": "configfs: Make configfs_new_dirent() return error code instead of NULL\n\nThis patch makes configfs_new_dirent return negative error code instead of NULL,\nwhich will be useful in the next patch to differentiate ENOMEM from ENOENT.\n\nSigned-off-by: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "5301a77da2da1e4c22573e0e8d394a653b8ad9f9",
      "tree": "c2a6186510c3a4502d923cf3f5d445fa821cb277",
      "parents": [
        "6f61076406251626be39651d114fac412b1e0c39"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "Louis.Rilling@kerlabs.com",
        "time": "Mon Jun 16 19:00:59 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:16 2008 -0700"
      },
      "message": "configfs: Protect configfs_dirent s_links list mutations\n\nSymlinks to a config_item are listed under its configfs_dirent s_links, but the\nlist mutations are not protected by any common lock.\n\nThis patch uses the configfs_dirent_lock spinlock to add the necessary\nprotection.\n\nNote: we should also protect the list_empty() test in configfs_detach_prep() but\n1/ the lock should not be released immediately because nothing would prevent the\nlist from being filled after a successful list_empty() test, making the problem\ntricky,\n2/ this will be solved by the rmdir() vs rename() deadlock bugfix.\n\nSigned-off-by: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "6f61076406251626be39651d114fac412b1e0c39",
      "tree": "d7adb1de212cfb7ead490b448bf75ce3b3b91c9c",
      "parents": [
        "fe9f387740ac7cb3b7c2fffa76807e997e6c6292"
      ],
      "author": {
        "name": "Louis Rilling",
        "email": "Louis.Rilling@kerlabs.com",
        "time": "Mon Jun 16 19:00:58 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "configfs: Introduce configfs_dirent_lock\n\nThis patch introduces configfs_dirent_lock spinlock to protect configfs_dirent\ntraversals against linkage mutations (add/del/move). This will allow\nconfigfs_detach_prep() to avoid locking i_mutexes.\n\nLocking rules for configfs_dirent linkage mutations are the same plus the\nrequirement of taking configfs_dirent_lock. For configfs_dirent walking, one can\neither take appropriate i_mutex as before, or take configfs_dirent_lock.\n\nThe spinlock could actually be a mutex, but the critical sections are either\nO(1) or should not be too long (default groups walking in last patch).\n\nChangeLog:\n  - Clarify the comment on configfs_dirent_lock usage\n  - Move sd-\u003es_element init before linking the new dirent\n  - In lseek(), do not release configfs_dirent_lock before the dirent is\n    relinked.\n\nSigned-off-by: Louis Rilling \u003cLouis.Rilling@kerlabs.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "fe9f387740ac7cb3b7c2fffa76807e997e6c6292",
      "tree": "40c052c3ace5e07980c01aa5c4ea5d2d0df9638b",
      "parents": [
        "e407e39783a7206d20b3e9961aedf272de966e31"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jun 12 22:39:18 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "ocfs2: Don\u0027t snprintf() without a format.\n\nSome system files are per-slot.  Their names include the slot number.\nocfs2_sprintf_system_inode_name() uses the system inode definitions to\nfill in the slot number with snprintf().\n\nFor global system files, there is no node number, and the name was\nprinted as a format with no arguments.  -Wformat-nonliteral and\n-Wformat-security don\u0027t like this.  Instead, use a static \"%s\" format\nand the name as the argument.\n\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "e407e39783a7206d20b3e9961aedf272de966e31",
      "tree": "f38fb034a20b36ad016e4f5d80fbdd31c609fb67",
      "parents": [
        "461c6a30eca6f25add1dadb9fd8a1d8e89a6e627"
      ],
      "author": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Jun 12 22:35:39 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs\n\nA couple places use OCFS2_DEBUG_FS where they really mean\nCONFIG_OCFS2_DEBUG_FS.\n\nReported-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "461c6a30eca6f25add1dadb9fd8a1d8e89a6e627",
      "tree": "6754c44a95964287e0e8daeaa5f202467d441c8d",
      "parents": [
        "01af482037d32c215aab208a0b110ffe6fd782c0"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon May 19 16:23:37 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "ocfs2/net: Silence build warnings on sparc64\n\nsuseconds_t is type long on most arches except sparc64 where it is type int.\nThis patch silences the following warnings that are generated when building\non it.\n\nnetdebug.c: In function \u0027nst_seq_show\u0027:\nnetdebug.c:152: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 13 has type \u0027suseconds_t\u0027\nnetdebug.c:152: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 15 has type \u0027suseconds_t\u0027\nnetdebug.c:152: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 17 has type \u0027suseconds_t\u0027\nnetdebug.c: In function \u0027sc_seq_show\u0027:\nnetdebug.c:332: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 19 has type \u0027suseconds_t\u0027\nnetdebug.c:332: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 21 has type \u0027suseconds_t\u0027\nnetdebug.c:332: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 23 has type \u0027suseconds_t\u0027\nnetdebug.c:332: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 25 has type \u0027suseconds_t\u0027\nnetdebug.c:332: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 27 has type \u0027suseconds_t\u0027\nnetdebug.c:332: warning: format \u0027%lu\u0027 expects type \u0027long unsigned int\u0027, but argument 29 has type \u0027suseconds_t\u0027\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "01af482037d32c215aab208a0b110ffe6fd782c0",
      "tree": "c15e6ca3753aded21dc6e0821ffc66519c5c1abb",
      "parents": [
        "56753bd3b9220f6f2477eb1cf97f40c24e0a4c91"
      ],
      "author": {
        "name": "Wengang Wang",
        "email": "wen.gang.wang@oracle.com",
        "time": "Tue Jun 10 14:24:48 2008 +0800"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "ocfs2: Handle error during journal load\n\nThis patch ensures the mount fails if the fs is unable to load the journal.\n\nSigned-off-by: Wengang Wang \u003cwen.gang.wang@oracle.com\u003e\nAcked-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "56753bd3b9220f6f2477eb1cf97f40c24e0a4c91",
      "tree": "1b80c6d64a5089d96195f6a718ca76a5bb002684",
      "parents": [
        "7600c72b75bab374ad39b2a4799a0728579a8e2f"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Mon Jun 09 11:24:41 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "ocfs2: Silence an error message in ocfs2_file_aio_read()\n\nThis patch silences an EINVAL error message in ocfs2_file_aio_read()\nthat is always due to a user error.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "7600c72b75bab374ad39b2a4799a0728579a8e2f",
      "tree": "751862ffd0b70c6ce6dbfcde3002b1a4a1225493",
      "parents": [
        "dd25e55ea133b14678cfaa9e205b082b24b26dbc"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Jun 09 16:34:23 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:15 2008 -0700"
      },
      "message": "ocfs2: use simple_read_from_buffer()\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "dd25e55ea133b14678cfaa9e205b082b24b26dbc",
      "tree": "ddbf448a41cf491de70395bbb788dc06bb6a6deb",
      "parents": [
        "8ddb7b004dfa1832a750e199df8bff4b75b73565"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed May 28 14:41:00 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:14 2008 -0700"
      },
      "message": "ocfs2: fix printk format warnings with OCFS2_FS_STATS\u003dn\n\nFix printk format warnings when OCFS2_FS_STATS\u003dn:\n\nlinux-next-20080528/fs/ocfs2/dlmglue.c: In function \u0027ocfs2_dlm_seq_show\u0027:\nlinux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 3 has type \u0027int\u0027\nlinux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 4 has type \u0027int\u0027\nlinux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 7 has type \u0027int\u0027\nlinux-next-20080528/fs/ocfs2/dlmglue.c:2623: warning: format \u0027%llu\u0027 expects type \u0027long long unsigned int\u0027, but argument 8 has type \u0027int\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "8ddb7b004dfa1832a750e199df8bff4b75b73565",
      "tree": "92adac97690c27e44a65825864d4d5f9a6a2ca22",
      "parents": [
        "ce7231e92dac381f6e4f9cfdfdf9e0ea055223ad"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue May 13 13:45:15 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:14 2008 -0700"
      },
      "message": "[PATCH 2/2] ocfs2: Instrument fs cluster locks\n\nThis patch adds code to track the number of times the fs takes\nvarious cluster locks as well as the times associated with it.\nThe information is made available to users via debugfs.\n\nThis patch was originally written by Jan Kara \u003cjack@suse.cz\u003e.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ce7231e92dac381f6e4f9cfdfdf9e0ea055223ad",
      "tree": "5bb7bd812dd26458b8d0e7fa68b2347c7cea9fac",
      "parents": [
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Tue May 13 13:45:14 2008 -0700"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jul 14 13:57:14 2008 -0700"
      },
      "message": "[PATCH 1/2] ocfs2: Add CONFIG_OCFS2_FS_STATS config option\n\nThis patch adds config option CONFIG_OCFS2_FS_STATS to allow building\nthe fs with instrumentation enabled. An upcoming patch will provide\nsupport to instrument cluster locking, which is a crucial overhead in\na cluster file system. This config option allows users to avoid the cpu\nand memory overhead that is involved in gathering such statistics.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "a3da5bf84a97d48cfaf66c6842470fc403da5121",
      "tree": "cdf66c0cff8c61eedd60601fc9dffdd1ed39b880",
      "parents": [
        "3b23e665b68387f5ee7b21f7b75ceea4d9acae4a",
        "d59fdcf2ac501de99c3dfb452af5e254d4342886"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:43:24 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:43:24 2008 -0700"
      },
      "message": "Merge branch \u0027x86/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86/for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (821 commits)\n  x86: make 64bit hpet_set_mapping to use ioremap too, v2\n  x86: get x86_phys_bits early\n  x86: max_low_pfn_mapped fix #4\n  x86: change _node_to_cpumask_ptr to return const ptr\n  x86: I/O APIC: remove an IRQ2-mask hack\n  x86: fix numaq_tsc_disable calling\n  x86, e820: remove end_user_pfn\n  x86: max_low_pfn_mapped fix, #3\n  x86: max_low_pfn_mapped fix, #2\n  x86: max_low_pfn_mapped fix, #1\n  x86_64: fix delayed signals\n  x86: remove conflicting nx6325 and nx6125 quirks\n  x86: Recover timer_ack lost in the merge of the NMI watchdog\n  x86: I/O APIC: Never configure IRQ2\n  x86: L-APIC: Always fully configure IRQ0\n  x86: L-APIC: Set IRQ0 as edge-triggered\n  x86: merge dwarf2 headers\n  x86: use AS_CFI instead of UNWIND_INFO\n  x86: use ignore macro instead of hash comment\n  x86: use matching CFI_ENDPROC\n  ...\n"
    },
    {
      "commit": "847106ff628805e1a0aa91e7f53381f3fdfcd839",
      "tree": "457c8d6a5ff20f4d0f28634a196f92273298e49e",
      "parents": [
        "c142bda458a9c81097238800e1bd8eeeea09913d",
        "6f0f0fd496333777d53daff21a4e3b28c4d03a6d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:36:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:36:55 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (25 commits)\n  security: remove register_security hook\n  security: remove dummy module fix\n  security: remove dummy module\n  security: remove unused sb_get_mnt_opts hook\n  LSM/SELinux: show LSM mount options in /proc/mounts\n  SELinux: allow fstype unknown to policy to use xattrs if present\n  security: fix return of void-valued expressions\n  SELinux: use do_each_thread as a proper do/while block\n  SELinux: remove unused and shadowed addrlen variable\n  SELinux: more user friendly unknown handling printk\n  selinux: change handling of invalid classes (Was: Re: 2.6.26-rc5-mm1 selinux whine)\n  SELinux: drop load_mutex in security_load_policy\n  SELinux: fix off by 1 reference of class_to_string in context_struct_compute_av\n  SELinux: open code sidtab lock\n  SELinux: open code load_mutex\n  SELinux: open code policy_rwlock\n  selinux: fix endianness bug in network node address handling\n  selinux: simplify ioctl checking\n  SELinux: enable processes with mac_admin to get the raw inode contexts\n  Security: split proc ptrace checking into read vs. attach\n  ...\n"
    },
    {
      "commit": "dddec01eb8e2b56267b37a6f9f0997a64b4e0b2a",
      "tree": "b6d8bfbce9abd105384b9d116499afbe306b9c22",
      "parents": [
        "7daf705f362e349983e92037a198b8821db198af",
        "32502b8413a77b54b9e19809404109590c32dfb7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:15:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:15:14 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (37 commits)\n  splice: fix generic_file_splice_read() race with page invalidation\n  ramfs: enable splice write\n  drivers/block/pktcdvd.c: avoid useless memset\n  cdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on stack)\n  scsi: sr avoids useless buffer allocation\n  block: blk_rq_map_kern uses the bounce buffers for stack buffers\n  block: add blk_queue_update_dma_pad\n  DAC960: push down BKL\n  pktcdvd: push BKL down into driver\n  paride: push ioctl down into driver\n  block: use get_unaligned_* helpers\n  block: extend queue_flag bitops\n  block: request_module(): use format string\n  Add bvec_merge_data to handle stacked devices and -\u003emerge_bvec()\n  block: integrity flags can\u0027t use bit ops on unsigned short\n  cmdfilter: extend default read filter\n  sg: fix odd style (extra parenthesis) introduced by cmd filter patch\n  block: add bounce support to blk_rq_map_user_iov\n  cfq-iosched: get rid of enable_idle being unused warning\n  allow userspace to modify scsi command filter on per device basis\n  ...\n"
    },
    {
      "commit": "40be492fe4fab829951681860c2bb26fa1d5fe4a",
      "tree": "41b576692c2206c9a51e689f54170076ec95bc3a",
      "parents": [
        "f8558555f31e177e2644f3c8116801c3e5c29974"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jul 14 20:13:50 2008 +0200"
      },
      "message": "[Bluetooth] Export details about authentication requirements\n\nWith the Simple Pairing support, the authentication requirements are\nan explicit setting during the bonding process. Track and enforce the\nrequirements and allow higher layers like L2CAP and RFCOMM to increase\nthem if needed.\n\nThis patch introduces a new IOCTL that allows to query the current\nauthentication requirements. It is also possible to detect Simple\nPairing support in the kernel this way.\n\nSigned-off-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\n"
    },
    {
      "commit": "4ee6afd34409d296782a5b667d7991b1050e910a",
      "tree": "2a9aa6e7361d923afc60a2a5ee8cb76542152ca8",
      "parents": [
        "ae8547b0a9e5d718ce272ddc48f91703a0f52a0b"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Wed May 07 21:01:30 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jul 14 19:10:52 2008 +0300"
      },
      "message": "VFS: export sync_sb_inodes\n\nThis patch exports the \u0027sync_sb_inodes()\u0027 which is needed for\nUBIFS because it has to force write-back from time to time.\nNamely, the UBIFS budgeting subsystem forces write-back when\nits pessimistic callculations show that there is no free\nspace on the media.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "ae8547b0a9e5d718ce272ddc48f91703a0f52a0b",
      "tree": "e7caceb5171ae64c71b575d7fc38bdc319379791",
      "parents": [
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Hans Reiser",
        "email": "reiser@namesys.com",
        "time": "Wed May 07 15:48:57 2008 +0300"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Mon Jul 14 19:10:52 2008 +0300"
      },
      "message": "VFS: move inode_lock into sync_sb_inodes\n\nThis patch makes \u0027sync_sb_inodes()\u0027 lock \u0027inode_lock\u0027, rather\nthan expect that the caller will do this.\n\nThis change was previously done by Hans Reiser \u003creiser@namesys.com\u003e\nand sat in the -mm tree.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n"
    },
    {
      "commit": "d59fdcf2ac501de99c3dfb452af5e254d4342886",
      "tree": "ad5e2efd6f8aacf2a08b1ed8a54ddf96642e83f3",
      "parents": [
        "2387ce57a8167490d3b34a7e1ffa9a64a1a76244",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 11:37:46 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 14 11:37:46 2008 +0200"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into x86/core\n"
    },
    {
      "commit": "2069f457848f846cb31149c9aa29b330a6b66d1b",
      "tree": "199e7bb15e7d7b5cf008cd6fdb6cefc0d6af7f13",
      "parents": [
        "811f3799279e567aa354c649ce22688d949ac7a9"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Jul 04 09:47:13 2008 +1000"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jul 14 15:02:05 2008 +1000"
      },
      "message": "LSM/SELinux: show LSM mount options in /proc/mounts\n\nThis patch causes SELinux mount options to show up in /proc/mounts.  As\nwith other code in the area seq_put errors are ignored.  Other LSM\u0027s\nwill not have their mount options displayed until they fill in their own\nsecurity_sb_show_options() function.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "006ebb40d3d65338bd74abb03b945f8d60e362bd",
      "tree": "c548c678b54b307e1fb9acf94676fb7bfd849501",
      "parents": [
        "feb2a5b82d87fbdc01c00b7e9413e4b5f4c1f0c1"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Mon May 19 08:32:49 2008 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Jul 14 15:01:47 2008 +1000"
      },
      "message": "Security: split proc ptrace checking into read vs. attach\n\nEnable security modules to distinguish reading of process state via\nproc from full ptrace access by renaming ptrace_may_attach to\nptrace_may_access and adding a mode argument indicating whether only\nread access or full attach access is requested.  This allows security\nmodules to permit access to reading process state without granting\nfull ptrace access.  The base DAC/capability checking remains unchanged.\n\nRead access to /proc/pid/mem continues to apply a full ptrace attach\ncheck since check_mem_permission() already requires the current task\nto already be ptracing the target.  The other ptrace checks within\nproc for elements like environ, maps, and fds are changed to pass the\nread mode instead of attach.\n\nIn the SELinux case, we model such reading of process state as a\nreading of a proc file labeled with the target process\u0027 label.  This\nenables SELinux policy to permit such reading of process state without\npermitting control or manipulation of the target process, as there are\na number of cases where programs probe for such information via proc\nbut do not need to be able to control the target (e.g. procps,\nlsof, PolicyKit, ConsoleKit).  At present we have to choose between\nallowing full ptrace in policy (more permissive than required/desired)\nor breaking functionality (or in some cases just silencing the denials\nvia dontaudit rules but this can hide genuine attacks).\n\nThis version of the patch incorporates comments from Casey Schaufler\n(change/replace existing ptrace_may_attach interface, pass access\nmode), and Chris Wright (provide greater consistency in the checking).\n\nNote that like their predecessors __ptrace_may_attach and\nptrace_may_attach, the __ptrace_may_access and ptrace_may_access\ninterfaces use different return value conventions from each other (0\nor -errno vs. 1 or 0).  I retained this difference to avoid any\nchanges to the caller logic but made the difference clearer by\nchanging the latter interface to return a bool rather than an int and\nby adding a comment about it to ptrace.h for any future callers.\n\nSigned-off-by:  Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "536abdb0802f3fac1b217530741853843d63c281",
      "tree": "17697bc4a3f4a05ebb5e134bc8d89985cf27c92d",
      "parents": [
        "e911d0cc877ff027d5bd09fc33148ab76f0fdf0e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Jul 12 13:48:00 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 12 14:33:42 2008 -0700"
      },
      "message": "cifs: fix wksidarr declaration to be big-endian friendly\n\nThe current definition of wksidarr works fine on little endian arches\n(since cpu_to_le32 is a no-op there), but on big-endian arches, it fails\nto compile with this error:\n\nerror: braced-group within expression allowed only inside a function\n\nThe problem is that this static declaration has cpu_to_le32 embedded\nwithin it, and that expands into a function macro.  We need to use\n__constant_cpu_to_le32() instead.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Steven French \u003csfrench@us.ibm.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": "e911d0cc877ff027d5bd09fc33148ab76f0fdf0e",
      "tree": "c2549fb1caa266f17d25c20e0c499db823578372",
      "parents": [
        "d3297a644a0ab784e0c810ceca6bf35a67868ad9"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Jul 12 13:47:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jul 12 14:33:42 2008 -0700"
      },
      "message": "cifs: fix inode leak in cifs_get_inode_info_unix\n\nTry this:\n\n    mount a share with unix extensions\n    create a file on it\n    umount the share\n\nYou\u0027ll get the following message in the ring buffer:\n\nVFS: Busy inodes after unmount of cifs. Self-destruct in 5 seconds.  Have a\nnice day...\n\n...the problem is that cifs_get_inode_info_unix is creating and hashing\na new inode even when it\u0027s going to return error anyway. The first\nlookup when creating a file returns an error so we end up leaking this\ninode before we do the actual create. This appears to be a regression\ncaused by commit 0e4bbde94fdc33f5b3d793166b21bf768ca3e098.\n\nThe following patch seems to fix it for me, and fixes a minor\nformatting nit as well.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ae94b8075a2ed58d2318ef03827b25bc844f844e",
      "tree": "7211f558d841cb40e1015d0b7527643ad55cb8e7",
      "parents": [
        "eca91e7838ec92e8c12122849ec7539c4765b689",
        "a26929fb489188ff959b1715ee67f0c9f84405b5"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 07:29:02 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 12 07:29:02 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into x86/core\n\nConflicts:\n\n\tarch/x86/mm/ioremap.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e4079a11f5ed966b7d972cc69e8d337a0f095e32",
      "tree": "1e70276654b4808cfcde549c7f2612947e5ab1c3",
      "parents": [
        "c07651b556323e0e763c452587fe29d2b034b314"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: do not set extents feature from the kernel\n\nWe\u0027ve talked for a while about getting rid of any feature-\nsetting from the kernel; this gets rid of the code which would\nset the INCOMPAT_EXTENTS flag on the first file write when mounted\nas ext4[dev].\n\nWith this patch, if the extents feature is not already set on disk,\nthen mounting as ext4 will fall back to noextents with a warning,\nand if -o extents is explicitly requested, the mount will fail,\nalso with warning.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c07651b556323e0e763c452587fe29d2b034b314",
      "tree": "6cae1d3c9a63e1a5ba83639003af792591845347",
      "parents": [
        "dd919b9822c5fd9fd72f95a602440130297c3857"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Don\u0027t allow nonextenst mount option for large filesystem\n\nThe block mapped inode format can address only blocks within 2**32. This\ncauses a number of issues, the biggest of which is that the block\nallocator needs to be taught that certain inodes can not utilize block\nnumbers \u003e 2**32.  So until this is fixed, it is simplest to fail\nmounting of file systems with more than 2**32 blocks if the -o noextents\noption is given.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "dd919b9822c5fd9fd72f95a602440130297c3857",
      "tree": "da1958f89e5671cc7b16e0c45630c310c9b3b5bd",
      "parents": [
        "3e3398a08d6e516675d5af853d625dc7dd90eab1"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Enable delalloc by default.\n\nEnable delalloc by default to ensure it gets sufficient testing and\nbecause it makes the filesystem much more efficient.  Add a nodealalloc\noption to disable delayed allocation, and update ext4_show_options to\nshow delayed allocation off if it is disabled.\n\nIf the data\u003djournal mount option is used, disable delayed allocation\nsince the delalloc code doesn\u0027t support data\u003djournal yet.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "3e3398a08d6e516675d5af853d625dc7dd90eab1",
      "tree": "d8a37dbaea105cd36e02827b057a0f9fcad62adc",
      "parents": [
        "632eaeab1feb5d78c1e2bfb1d2dfc0ebb8ac187f"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: delayed allocation i_blocks fix for stat\n\nRight now i_blocks is not getting updated until the blocks are actually\nallocaed on disk.  This means with delayed allocation, right after files\nare copied, \"ls -sF\" shoes the file as taking 0 blocks on disk.  \"du\"\nalso shows the files taking zero space, which is highly confusing to the\nuser.\n\nSince delayed allocation already keeps track of per-inode total\nnumber of blocks that are subject to delayed allocation, this patch fix\nthis by using that to adjust the value returned by stat(2). When real\nblock allocation is done, the i_blocks will get updated. Since the\nreserved blocks for delayed allocation will be decreased, this will be\nkeep value returned by stat(2) consistent.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "632eaeab1feb5d78c1e2bfb1d2dfc0ebb8ac187f",
      "tree": "f20c438da1e05dccc4c70083c635a20da139e116",
      "parents": [
        "f0e6c98593eb8a77edb7dd0edb22bb9f9368c567"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: fix delalloc i_disksize early update issue\n\nExt4_da_write_end() used walk_page_buffers() with a callback function of\next4_bh_unmapped_or_delay() to check if it extended the file size\nwithout allocating any blocks (since in this case i_disksize needs to be\nupdated).  However, this is didn\u0027t work proprely because the buffer head\nhas not been marked dirty yet --- this is done later in\nblock_commit_write() --- which caused ext4_bh_unmapped_or_delay() to\nalways return false.\n\nIn addition, walk_page_buffers() checks all of the buffer heads covering\nthe page, and the only buffer_head that should be checked is the one\ncovering the end of the write.  Otherwise, given a 1k blocksize\nfilesystem and a 4k page size, the buffer head covering the first 1k\nstripe of the file could be unmapped (because it was a sparse file), and\nthe second or third buffer_head covering that page could be mapped, and\nusing walk_page_buffers() would fail in this case since it would stop at\nthe first unmapped buffer_head and return true.\n\nThe core problem is that walk_page_buffers() was intended to do work in\na callback function, and a non-zero return value indicated a failure,\nwhich termined the walk of the buffer heads covering the page.  It was\nnot intended to be used with a boolean function, such as\next4_bh_unmapped_or_delay().\n\nAdd addtional fix from Aneesh to protect i_disksize update rave with truncate.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f0e6c98593eb8a77edb7dd0edb22bb9f9368c567",
      "tree": "07c588e757d533988d230f43d9c794dbc4a58977",
      "parents": [
        "cd1aac32923a9c8adcc0ae85e33c1ca0c5855838"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Handle page without buffers in ext4_*_writepage()\n\nIt can happen that buffers are removed from the page before it gets\nmarked dirty and then is passed to writepage().  In writepage() we just\ninitialize the buffers and check whether they are mapped and non\ndelay. If they are mapped and non delay we write the page. Otherwise we\nmark them dirty.  With this change we don\u0027t do block allocation at all\nin ext4_*_write_page.\n\nwritepage() can get called under many condition and with a locking order\nof journal_start -\u003e lock_page, we should not try to allocate blocks in\nwritepage() which get called after taking page lock.  writepage() can\nget called via shrink_page_list even with a journal handle which was\ncreated for doing inode update.  For example when doing\next4_da_write_begin we create a journal handle with credit 1 expecting a\ni_disksize update for the inode. But ext4_da_write_begin can cause\nshrink_page_list via _grab_page_cache. So having a valid handle via\next4_journal_current_handle is not a guarantee that we can use the\nhandle for block allocation in writepage, since we shouldn\u0027t be using\ncredits that had been reserved for other updates.  That it could result\nin we running out of credits when we update inodes.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "cd1aac32923a9c8adcc0ae85e33c1ca0c5855838",
      "tree": "3d55d9249ef960a7e345969404d537e36dbd9609",
      "parents": [
        "61628a3f3a37af2bf25daf8e26fd6b76a78c4f76"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Add ordered mode support for delalloc\n\nThis provides a new ordered mode implementation which gets rid of using\nbuffer heads to enforce the ordering between metadata change with the\nrelated data chage.  Instead, in the new ordering mode, it keeps track\nof all of the inodes touched by each transaction on a list, and when\nthat transaction is committed, it flushes all of the dirty pages for\nthose inodes.  In addition, the new ordered mode reverses the lock\nordering of the page lock and transaction lock, which provides easier\nsupport for delayed allocation.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "61628a3f3a37af2bf25daf8e26fd6b76a78c4f76",
      "tree": "25375b739b2e3f65c8dff3d3dd2a78e0724d0f96",
      "parents": [
        "06d6cf6959d22037fcec598f4f954db5db3d7356"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Invert lock ordering of page_lock and transaction start in delalloc\n\nWith the reverse locking, we need to start a transation before taking\nthe page lock, so in ext4_da_writepages() we need to break the write-out\ninto chunks, and restart the journal for each chunck to ensure the\nwrite-out fits in a single transaction.\n\nUpdated patch from Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nwhich fixes delalloc sync hang with journal lock inversion, and address\nthe performance regression issue.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d2a1763791a634e315ec926b62829c1e88842c86",
      "tree": "75a701a89829ba7d728fdc19c30aa2794b9706b9",
      "parents": [
        "e8ced39d5e8911c662d4d69a342b9d053eaaac4e"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Mon Jul 14 17:52:37 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 14 17:52:37 2008 -0400"
      },
      "message": "ext4: delayed allocation ENOSPC handling\n\nThis patch does block reservation for delayed\nallocation, to avoid ENOSPC later at page flush time.\n\nBlocks(data and metadata) are reserved at da_write_begin()\ntime, the freeblocks counter is updated by then, and the number of\nreserved blocks is store in per inode counter.\n        \nAt the writepage time, the unused reserved meta blocks are returned\nback. At unlink/truncate time, reserved blocks are properly released.\n\nUpdated fix from  Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nto fix the oldallocator block reservation accounting with delalloc, added\nlock to guard the counters and also fix the reservation for meta blocks.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e8ced39d5e8911c662d4d69a342b9d053eaaac4e",
      "tree": "cd4d643bfbd37c67ff9bd2feff2c0b477a56f117",
      "parents": [
        "64769240bd07f446f83660bb143bb609d8ab4910"
      ],
      "author": {
        "name": "Mingming Cao",
        "email": "cmm@us.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "percpu_counter: new function percpu_counter_sum_and_set\n\nDelayed allocation need to check free blocks at every write time.\npercpu_counter_read_positive() is not quit accurate. delayed\nallocation need a more accurate accounting, but using\npercpu_counter_sum_positive() is frequently is quite expensive.\n\nThis patch added a new function to update center counter when sum\nper-cpu counter, to increase the accurate rate for next\npercpu_counter_read() and require less calling expensive\npercpu_counter_sum().\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "64769240bd07f446f83660bb143bb609d8ab4910",
      "tree": "db8bd8dda988adab6b4f6087a9b59ce504612009",
      "parents": [
        "29a814d2ee0e43c2980f33f91c1311ec06c0aa35"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Add delayed allocation support in data\u003dwriteback mode\n\nUpdated with fixes from Mingming Cao \u003ccmm@us.ibm.com\u003e to unlock and\nrelease the page from page cache if the delalloc write_begin failed, and\nproperly handle preallocated blocks.  Also added a fix to clear\nbuffer_delay in block_write_full_page() after allocating a delayed\nbuffer.\n\nUpdated with fixes from Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nto update i_disksize properly and to add bmap support for delayed\nallocation.\n\nUpdated with a fix from Valerie Clement \u003cvalerie.clement@bull.net\u003e to\navoid filesystem corruption when the filesystem is mounted with the\ndelalloc option and blocksize \u003c pagesize.\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by:  Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "29a814d2ee0e43c2980f33f91c1311ec06c0aa35",
      "tree": "dfc9d45fc3194237192b6cde1069faa70fe4c260",
      "parents": [
        "87c89c232c8f7b3820c33c3b9bc803e9358027da"
      ],
      "author": {
        "name": "Alex Tomas",
        "email": "alex@clusterfs.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "vfs: add hooks for ext4\u0027s delayed allocation support\n\nExport mpage_bio_submit() and __mpage_writepage() for the benefit of\next4\u0027s delayed allocation support.   Also change __block_write_full_page\nso that if buffers that have the BH_Delay flag set it will call\nget_block() to get the physical block allocated, just as in the\n!BH_Mapped case.\n\nSigned-off-by: Alex Tomas \u003calex@clusterfs.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "87c89c232c8f7b3820c33c3b9bc803e9358027da",
      "tree": "9a714242513ec3e5e1c28fad1bfff852efd033d5",
      "parents": [
        "678aaf481496b01473b778685eca231d6784098b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "jbd2: Remove data\u003dordered mode support using jbd buffer heads\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "678aaf481496b01473b778685eca231d6784098b",
      "tree": "298fa039e4910a0ead3cdfb814af167f378391bc",
      "parents": [
        "c851ed540173736e60d48b53b91a16ea5c903896"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Use new framework for data\u003dordered mode in JBD2\n\nThis patch makes ext4 use inode-based implementation of data\u003dordered mode\nin JBD2. It allows us to unify some data\u003dordered and data\u003dwriteback paths\n(especially writepage since we don\u0027t have to start a transaction anymore)\nand remove some buffer walking.\n\nUpdated fix from Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nto fix file system hang due to corrupt jinode values.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c851ed540173736e60d48b53b91a16ea5c903896",
      "tree": "828fe0d71b7f18dc170090dbb2fb5ac9deae4ee0",
      "parents": [
        "f4c0a0fdfae708f7aa438c27a380ed4071294e11"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "jbd2: Implement data\u003dordered mode handling via inodes\n\nThis patch adds necessary framework into JBD2 to be able to track inodes\nwith each transaction and write-out their dirty data during transaction\ncommit time.\n\nThis new ordered mode brings all sorts of advantages such as possibility \nto get rid of journal heads and buffer heads for data buffers in ordered \nmode, better ordering of writes on transaction commit, simplification of\n some JBD code, no more anonymous pages when truncate of data being \ncommitted happens.  Also with this new ordered mode, delayed allocation \non ordered mode is much simpler.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9ddfc3dc75b5cc55ff3cfa586e962d252f1db9d3",
      "tree": "4932f75d2f303561b0038fb5ea8985345b3ccd6b",
      "parents": [
        "cf108bca465dde0c015f32dd453b99457d31c7c7"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Fix lock inversion in ext4_ext_truncate()\n\nWe cannot call ext4_orphan_add() from under i_data_sem because that\ncauses a lock ordering violation between i_data_sem and and the\nsuperblock lock.\n\nUpdated with Aneesh\u0027s locking order fix\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e \nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e \nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "cf108bca465dde0c015f32dd453b99457d31c7c7",
      "tree": "b1c9dfc1936579e4fd2a48f77f702effc39029e2",
      "parents": [
        "c7d206b3379f7d6462e778b74f475c470ee3dcaf"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Invert the locking order of page_lock and transaction start\n\nThis changes are needed to support data\u003dordered mode handling via\ninodes.  This enables us to get rid of the journal heads and buffer\nheads for data buffers in the ordered mode.  With the changes, during\ntranasaction commit we writeout the inode pages using the\nwritepages()/writepage(). That implies we take page lock during\ntransaction commit. This can cause a deadlock with the locking order\npage_lock -\u003e jbd2_journal_start, since the jbd2_journal_start can wait\nfor the journal_commit to happen and the journal_commit now needs to\ntake the page lock. To avoid this dead lock reverse the locking order.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c7d206b3379f7d6462e778b74f475c470ee3dcaf",
      "tree": "71d11797c72e2e4ee04e6690c048fd26f25ae90d",
      "parents": [
        "2e9ee850355593e311d9a26542290fe51e152f74"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "vfs: Move mark_inode_dirty() from under page lock in generic_write_end()\n\nThere\u0027s no need to call mark_inode_dirty() under page lock in\ngeneric_write_end(). It unnecessarily makes hold time of page lock longer\nand more importantly it forces locking order of page lock and transaction\nstart for journaling filesystems.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "2e9ee850355593e311d9a26542290fe51e152f74",
      "tree": "e860a33119edf36e367ad354428dfc0d6201273c",
      "parents": [
        "93e3270c87549dc531a0b0e5d06362d998d810cb"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Use page_mkwrite vma_operations to get mmap write notification.\n\nWe would like to get notified when we are doing a write on mmap section.\nThis is needed with respect to preallocated area. We split the preallocated\narea into initialzed extent and uninitialzed extent in the call back. This\nlet us handle ENOSPC better. Otherwise we get ENOSPC in the writepage and\nthat would result in data loss. The changes are also needed to handle ENOSPC\nwhen writing to an mmap section of files with holes.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5f21b0e642d7bf6fe4434c9ba12bc9cb96b17cf7",
      "tree": "0f391fac5cc7fa93129bf8dd853598c6d2d65bb5",
      "parents": [
        "953e622b601f58b7cc0f29fe644457fa40a18456"
      ],
      "author": {
        "name": "Frederic Bohe",
        "email": "frederic.bohe@bull.net",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: fix online resize with mballoc\n\nUpdate group infos when updating a group\u0027s descriptor.\nAdd group infos when adding a group\u0027s descriptor.\nRefresh cache pages used by mb_alloc when changes occur.\nThis will probably need modifications when META_BG resizing will be allowed.\n\nSigned-off-by: Frederic Bohe \u003cfrederic.bohe@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "953e622b601f58b7cc0f29fe644457fa40a18456",
      "tree": "15fcef3e6489b90aaf92100b096021773ef856df",
      "parents": [
        "47b4a50bebfd34b5e1fa2a9c673c8f31fa231cc1"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: use atomic functions to set bh_state\n\nUse the BUFFER_FNS functions (set_buffer_foo) to set buffer\nhead state atomically instead of nonatomic __set_bit().\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "47b4a50bebfd34b5e1fa2a9c673c8f31fa231cc1",
      "tree": "df382e97cdc28fc231104b8d19cdcfc3099b9d68",
      "parents": [
        "07031431072ece801d53d2c03d5e5bb21f4f64a4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 11 19:27:31 2008 -0400"
      },
      "message": "ext4: Set journal pointer to NULL when journal is released\n\nSet sbi-\u003es_journal to NULL after we call journal_destroy(). This\nwill be later needed because after journal_destroy() is called,\next4_clear_inode() can still be called for some inodes (e.g. root\ninode) and we\u0027ll need to detect there that journal doesn\u0027t exists\nanymore.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    }
  ],
  "next": "07031431072ece801d53d2c03d5e5bb21f4f64a4"
}
