)]}'
{
  "log": [
    {
      "commit": "dfdebc24837ed0a1d6ad73b108a10d3c88d1b6e8",
      "tree": "80a0af3d940ca160dff0fc338ce6777a5b7058e1",
      "parents": [
        "309b51e87905e8a52060dbbab1e427552d5dda9a",
        "37f13561de6039b3a916d1510086030d097dea0f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 16:19:54 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 16:19:54 2013 -0800"
      },
      "message": "Merge tag \u0027for-linus-v3.8-rc4\u0027 of git://oss.sgi.com/xfs/xfs\n\nPull xfs bugfixes from Ben Myers:\n\n - fix(es) for compound buffers\n\n - fix for dquot soft timer asserts due to overflow of d_blk_softlimit\n\n - fix for regression in dir v2 code introduced in commit 20f7e9f3726a\n   (\"xfs: factor dir2 block read operations\")\n\n* tag \u0027for-linus-v3.8-rc4\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: recalculate leaf entry pointer after compacting a dir2 block\n  xfs: remove int casts from debug dquot soft limit timer asserts\n  xfs: fix the multi-segment log buffer format\n  xfs: fix segment in xfs_buf_item_format_segment\n  xfs: rename bli_format to avoid confusion with bli_formats\n  xfs: use b_maps[] for discontiguous buffers\n"
    },
    {
      "commit": "37f13561de6039b3a916d1510086030d097dea0f",
      "tree": "74695b6db519750ef3cf3d583e13da6432a05806",
      "parents": [
        "ab7eac22008f044631c0a3f4be344ebc2cb0e266"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jan 10 10:41:48 2013 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Jan 16 16:08:55 2013 -0600"
      },
      "message": "xfs: recalculate leaf entry pointer after compacting a dir2 block\n\nDave Jones hit this assert when doing a compile on recent git, with\nCONFIG_XFS_DEBUG enabled:\n\nXFS: Assertion failed: (char *)dup - (char *)hdr \u003d\u003d be16_to_cpu(*xfs_dir2_data_unused_tag_p(dup)), file: fs/xfs/xfs_dir2_data.c, line: 828\n\nUpon further digging, the tag found by xfs_dir2_data_unused_tag_p(dup)\ncontained \"2\" and not the proper offset, and I found that this value was\nchanged after the memmoves under \"Use a stale leaf for our new entry.\"\nin xfs_dir2_block_addname(), i.e.\n\n                        memmove(\u0026blp[mid + 1], \u0026blp[mid],\n                                (highstale - mid) * sizeof(*blp));\n\noverwrote it.\n\nWhat has happened is that the previous call to xfs_dir2_block_compact()\nhas rearranged things; it changes btp-\u003ecount as well as the\nblp array.  So after we make that call, we must recalculate the\nproper pointer to the leaf entries by making another call to\nxfs_dir2_block_leaf_p().\n\nDave provided a metadump image which led to a simple reproducer\n(create a particular filename in the affected directory) and this\nresolves the testcase as well as the bug on his live system.\n\nThanks also to dchinner for looking at this one with me.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nTested-by: Dave Jones \u003cdavej@redhat.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "ab7eac22008f044631c0a3f4be344ebc2cb0e266",
      "tree": "01a714d7293f62232ce4319b6d29efa1a7e0a2b9",
      "parents": [
        "91e4bac0b72736410c88632906953f14259144b1"
      ],
      "author": {
        "name": "Brian Foster",
        "email": "bfoster@redhat.com",
        "time": "Fri Dec 21 10:45:17 2012 -0500"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Jan 16 16:08:40 2013 -0600"
      },
      "message": "xfs: remove int casts from debug dquot soft limit timer asserts\n\nThe int casts here make it easy to trigger an assert with a large\nsoft limit. For example, set a \u003e4TB soft limit on an empty volume\nto reproduce a (0 \u003e -x) comparison due to an overflow of\nd_blk_softlimit.\n\nSigned-off-by: Brian Foster \u003cbfoster@redhat.com\u003e\nReviewed-by: Ben Myers \u003cbpm@sgi.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "91e4bac0b72736410c88632906953f14259144b1",
      "tree": "958acd4fc78d39c334a2561b946d225b84d7e2e6",
      "parents": [
        "2d0e9df579029b62adc72b50977182757cc04cd5"
      ],
      "author": {
        "name": "Mark Tinguely",
        "email": "tinguely@sgi.com",
        "time": "Tue Dec 04 17:18:05 2012 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Jan 16 16:08:08 2013 -0600"
      },
      "message": "xfs: fix the multi-segment log buffer format\n\nPer Dave Chinner suggestion, this patch:\n 1) Corrects the detection of whether a multi-segment buffer is\n    still tracking data.\n 2) Clears all the buffer log formats for a multi-segment buffer.\n\nSigned-off-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "2d0e9df579029b62adc72b50977182757cc04cd5",
      "tree": "a57ac641433ac4f96a8a3476ba02bfbecf2ffbf1",
      "parents": [
        "0f22f9d0cd8a630b40a9ccc07a8844345b185aae"
      ],
      "author": {
        "name": "Mark Tinguely",
        "email": "tinguely@sgi.com",
        "time": "Tue Dec 04 17:18:04 2012 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Jan 16 16:07:56 2013 -0600"
      },
      "message": "xfs: fix segment in xfs_buf_item_format_segment\n\nNot every segment in a multi-segment buffer is dirty in a\ntransaction and they will not be outputted. The assert in\nxfs_buf_item_format_segment() that checks for the at least\none chunk of data in the segment to be used is not necessary\ntrue for multi-segmented buffers.\n\nSigned-off-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "0f22f9d0cd8a630b40a9ccc07a8844345b185aae",
      "tree": "b64f892c6ced3c55c85640a0d88921b9e7686cc4",
      "parents": [
        "d44d9bc68e32ad5881b105f82bd259d261d1ef74"
      ],
      "author": {
        "name": "Mark Tinguely",
        "email": "tinguely@sgi.com",
        "time": "Tue Dec 04 17:18:03 2012 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Jan 16 16:07:37 2013 -0600"
      },
      "message": "xfs: rename bli_format to avoid confusion with bli_formats\n\nRename the bli_format structure to __bli_format to avoid\naccidently confusing them with the bli_formats pointer.\n\nSigned-off-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "d44d9bc68e32ad5881b105f82bd259d261d1ef74",
      "tree": "263045fc7f9efcaaa70e01cb4800193bc4aa1ce9",
      "parents": [
        "a49f0d1ea3ec94fc7cf33a7c36a16343b74bd565"
      ],
      "author": {
        "name": "Mark Tinguely",
        "email": "tinguely@sgi.com",
        "time": "Tue Dec 04 17:18:02 2012 -0600"
      },
      "committer": {
        "name": "Ben Myers",
        "email": "bpm@sgi.com",
        "time": "Wed Jan 16 16:07:11 2013 -0600"
      },
      "message": "xfs: use b_maps[] for discontiguous buffers\n\nCommits starting at 77c1a08 introduced a multiple segment support\nto xfs_buf. xfs_trans_buf_item_match() could not find a multi-segment\nbuffer in the transaction because it was looking at the single segment\nblock number rather than the multi-segment b_maps[0].bm.bn. This\nresults on a recursive buffer lock that can never be satisfied.\n\nThis patch:\n 1) Changed the remaining b_map accesses to be b_maps[0] accesses.\n 2) Renames the single segment b_map structure to __b_map to avoid\n    future confusion.\n\nSigned-off-by: Mark Tinguely \u003ctinguely@sgi.com\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Ben Myers \u003cbpm@sgi.com\u003e\n"
    },
    {
      "commit": "31db720643073571f15eede808486371556f6380",
      "tree": "ff3d46c6741e5de87424fe4f4d1dc914b6ad0a41",
      "parents": [
        "56400b55c0ba02a8abecbc541193ea6a309635ce",
        "1b1baff6e50df855238ce5e6c0e7dbb8a261fb32"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 10:55:10 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 16 10:55:10 2013 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs\n\nPull ext3 and udf fixes from Jan Kara:\n \"One ext3 performance regression fix and one udf regression fix (oops\n  on interrupted mount).\"\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:\n  UDF: Fix a null pointer dereference in udf_sb_free_partitions\n  jbd: don\u0027t wake kjournald unnecessarily\n"
    },
    {
      "commit": "1b1baff6e50df855238ce5e6c0e7dbb8a261fb32",
      "tree": "7e7454076c196c01fd262d8c8e3f735a2ca6ddd4",
      "parents": [
        "7e2fb2d7e6a3094473f101ae33dd6431ae6d2ed1"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "namjae.jeon@samsung.com",
        "time": "Mon Jan 14 22:53:47 2013 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 14 22:53:47 2013 +0100"
      },
      "message": "UDF: Fix a null pointer dereference in udf_sb_free_partitions\n\nThis patch fixes a regression caused by commit bff943af6fe \"udf: Fix memory\nleak when mounting\" due to which it was triggering a kernel null point\ndereference in case of interrupted mount OR when allocating memory to\nsbi-\u003es_partmaps failed in function udf_sb_alloc_partition_maps.\n\nReported-and-tested-by: James Hogan \u003cjames@albanarts.com\u003e\nSigned-off-by: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nSigned-off-by: Ashish Sangwan \u003ca.sangwan@samsung.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7e2fb2d7e6a3094473f101ae33dd6431ae6d2ed1",
      "tree": "1550cc5840d8a4323fe5f6357da227436cd542ec",
      "parents": [
        "b719f43059903820c31edb30f4663a2818836e7f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Dec 18 11:03:57 2012 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 14 22:50:45 2013 +0100"
      },
      "message": "jbd: don\u0027t wake kjournald unnecessarily\n\nDon\u0027t send an extra wakeup to kjournald in the case where we\nalready have the proper target in j_commit_request, i.e. that\ncommit has already been requested for commit.\n\ncommit d9b0193 \"jbd: fix fsync() tid wraparound bug\" changed\nthe logic leading to a wakeup, but it caused some extra wakeups\nwhich were found to lead to a measurable performance regression.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "6d283dba3721cc43be014b50a1acc2f35860a65a",
      "tree": "3cedf3afca0bf3e63ad6b156e5b54b41c625de51",
      "parents": [
        "9bbcbad438dbdeb5103466f2b1619f7b11a4a154"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 13:17:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 13:17:50 2013 -0800"
      },
      "message": "vfs: add missing virtual cache flush after editing partial pages\n\nAndrew Morton pointed this out a month ago, and then I completely forgot\nabout it.\n\nIf we read a partial last page of a block device, we will zero out the\nend of the page, but since that page can then be mapped into user space,\nwe should also make sure to flush the cache on architectures that have\nvirtual caches.  We have the flush_dcache_page() function for this, so\nuse it.\n\nNow, in practice this really never matters, because nobody sane uses\nvirtual caches to begin with, and they largely exist on old broken RISC\narhitectures.\n\nAnd even if you did run on one of those obsolete CPU\u0027s, the whole \"mmap\nand access the last partial page of a block device\" behavior probably\ndoesn\u0027t actually exist.  The normal IO functions (read/write) will never\nsee the zeroed-out part of the page that migth not be coherent in the\ncache, because they honor the size of the device.\n\nSo I\u0027m marking this for stable (3.7 only), but I\u0027m not sure anybody will\never care.\n\nPointed-out-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable@vger.kernel.org  # 3.7\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3441f0d26d02ec8073ea9ac7d1a4da8a9818ad59",
      "tree": "fb82a5ae8ec99df63ed13ea72d9eaf1d8ed0c0b7",
      "parents": [
        "f6a0e2ca7b1fe89da4e4b0afa6ba08dc34f1a0f7",
        "f1688e0431d3a395388e70fe21da89ed0de0c323"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 09:07:11 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 14 09:07:11 2013 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.8-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core fixes from Greg Kroah-Hartman:\n \"Here are two patches for 3.8-rc3.\n\n  One removes the __dev* defines from init.h now that all usages of it\n  are gone from your tree.  The other fix is for debugfs\u0027s paramater\n  that was using the wrong base for the option.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027driver-core-3.8-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:\n  debugfs: convert gid\u003d argument from decimal, not octal\n  Remove __dev* markings from init.h\n"
    },
    {
      "commit": "6d92d4f6a74766cc885b18218268e0c47fbca399",
      "tree": "9feb7c205f8062ffc1982948d2ffc446cbf94a6b",
      "parents": [
        "7964c06d66c76507d8b6b662bffea770c29ef0ce"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Fri Jan 11 14:31:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 11 14:54:55 2013 -0800"
      },
      "message": "fs/exec.c: work around icc miscompilation\n\nThe tricky problem is this check:\n\n\tif (i++ \u003e\u003d max)\n\nicc (mis)optimizes this check as:\n\n\tif (++i \u003e max)\n\nThe check now becomes a no-op since max is MAX_ARG_STRINGS (0x7FFFFFFF).\n\nThis is \"allowed\" by the C standard, assuming i++ never overflows,\nbecause signed integer overflow is undefined behavior.  This\noptimization effectively reverts the previous commit 362e6663ef23\n(\"exec.c, compat.c: fix count(), compat_count() bounds checking\") that\ntries to fix the check.\n\nThis patch simply moves ++ after the check.\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nCc: Jason Baron \u003cjbaron@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1688e0431d3a395388e70fe21da89ed0de0c323",
      "tree": "9b81860b8cfe25045dc31d22e50ac8d976e39980",
      "parents": [
        "54b956b903607f8f8878754dd4352da6a54a1da2"
      ],
      "author": {
        "name": "Dave Reisner",
        "email": "dreisner@archlinux.org",
        "time": "Wed Jan 02 08:54:37 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 11 05:56:01 2013 -0800"
      },
      "message": "debugfs: convert gid\u003d argument from decimal, not octal\n\nThis patch technically breaks userspace, but I suspect that anyone who\nactually used this flag would have encountered this brokenness, declared\nit lunacy, and already sent a patch.\n\nSigned-off-by: Dave Reisner \u003cdreisner@archlinux.org\u003e\nReviewed-by: Vasiliy Kulikov \u003csegoon@openwall.com\u003e\nAcked-by: Kees Cook \u003ckeescook@chromium.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "254adaa465c40151df11fc1f88f93e6e86eb61d4",
      "tree": "1cd84883e26e21273aa719e7914b0f925ced03f1",
      "parents": [
        "2094f167f676f748d205294084828540824f0e3f"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@infradead.org",
        "time": "Wed Jan 09 17:13:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 10 14:35:24 2013 -0800"
      },
      "message": "seq_file: fix new kernel-doc warnings\n\nFix kernel-doc warnings in fs/seq_file.c:\n\n  Warning(fs/seq_file.c:304): No description found for parameter \u0027whence\u0027\n  Warning(fs/seq_file.c:304): Excess function parameter \u0027origin\u0027 description in \u0027seq_lseek\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@infradead.org\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5c33d9b248603ef33049da71180f443e8d242599",
      "tree": "4435a23a9cc0bced7c00237d036312b1dfe05f62",
      "parents": [
        "2a893f91f57314c593f36cee689ad6e353af9daf",
        "d9a58a782e396a0f04e8445b7ba3763c8a48c7fe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 08 07:31:49 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 08 07:31:49 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n\n 1) New sysctl ndisc_notify needs some documentation, from Hanns\n    Frederic Sowa.\n\n 2) Netfilter REJECT target doesn\u0027t set transport header of SKB\n    correctly, from Mukund Jampala.\n\n 3) Forcedeth driver needs to check for DMA mapping failures, from Larry\n    Finger.\n\n 4) brcmsmac driver can\u0027t use usleep_range while holding locks, use\n    udelay instead.  From Niels Ole Salscheider.\n\n 5) Fix unregister of netlink bridge multicast database handlers, from\n    Vlad Yasevich and Rami Rosen.\n\n 6) Fix checksum calculations in netfilter\u0027s ipv6 network prefix\n    translation module.\n\n 7) Fix high order page allocation failures in netfilter xt_recent, from\n    Eric Dumazet.\n\n 8) mac802154 needs to use netif_rx_ni() instead of netif_rx() because\n    mac802154_process_data() can execute in process rather than\n    interrupt context.  From Alexander Aring.\n\n 9) Fix splice handling of MSG_SENDPAGE_NOTLAST, otherwise we elide one\n    tcp_push() too many.  From Eric Dumazet and Willy Tarreau.\n\n10) Fix skb-\u003etruesize tracking in XEN netfront driver, from Ian\n    Campbell.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (46 commits)\n  xen/netfront: improve truesize tracking\n  ipv4: fix NULL checking in devinet_ioctl()\n  tcp: fix MSG_SENDPAGE_NOTLAST logic\n  net/ipv4/ipconfig: really display the BOOTP/DHCP server\u0027s address.\n  ip-sysctl: fix spelling errors\n  mac802154: fix NOHZ local_softirq_pending 08 warning\n  ipv6: document ndisc_notify in networking/ip-sysctl.txt\n  ath9k: Fix Kconfig for ATH9K_HTC\n  netfilter: xt_recent: avoid high order page allocations\n  netfilter: fix missing dependencies for the NOTRACK target\n  netfilter: ip6t_NPT: fix IPv6 NTP checksum calculation\n  bridge: add empty br_mdb_init() and br_mdb_uninit() definitions.\n  vxlan: allow live mac address change\n  bridge: Correctly unregister MDB rtnetlink handlers\n  brcmfmac: fix parsing rsn ie for ap mode.\n  brcmsmac: add copyright information for Canonical\n  rtlwifi: rtl8723ae: Fix warning for unchecked pci_map_single() call\n  rtlwifi: rtl8192se: Fix warning for unchecked pci_map_single() call\n  rtlwifi: rtl8192de: Fix warning for unchecked pci_map_single() call\n  rtlwifi: rtl8192ce: Fix warning for unchecked pci_map_single() call\n  ...\n"
    },
    {
      "commit": "127aa93066261c2b8f03cb38e7165de8cd71736e",
      "tree": "4f97fcd50878a973fcd7a7d7d2af1f3e4ac05408",
      "parents": [
        "d287b8750e47c1702dab0e37ac11012bb751ece0",
        "63b7d3a41ccadef971a4ffbe6662119d4275ebf9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 13:21:55 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 13:21:55 2013 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.samba.org/sfrench/cifs-2.6\n\nPull CIFS fixes from Steve French:\n \"Misc small cifs fixes\"\n\n* \u0027for-next\u0027 of git://git.samba.org/sfrench/cifs-2.6:\n  CIFS: Don\u0027t let read only caching for mandatory byte-range locked files\n  CIFS: Fix write after setting a read lock for read oplock files\n  Revert \"CIFS: Fix write after setting a read lock for read oplock files\"\n  cifs: adjust sequence number downward after signing NT_CANCEL request\n  cifs: move check for NULL socket into smb_send_rqst\n"
    },
    {
      "commit": "f77637206d7b24d5701715433e8d28da64d8d998",
      "tree": "d0a3efaf90a4ae97b052cbc86f1fa48686e82155",
      "parents": [
        "4c9014f2ca7e5ecf8806e838be0f07aa1810c985",
        "fef0ebdb229bedce888b63923e2a1ba4e6c6a84c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 09:22:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 09:22:50 2013 -0800"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 regression fixes from Ted Ts\u0027o:\n \"Bug fixes, including two regressions introduced in v3.8.  The most\n  serious of these regressions is a buffer cache leak.\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: remove duplicate call to ext4_bread() in ext4_init_new_dir()\n  ext4: release buffer in failed path in dx_probe()\n  ext4: fix configuration dependencies for ext4 ACLs and security labels\n"
    },
    {
      "commit": "4c9014f2ca7e5ecf8806e838be0f07aa1810c985",
      "tree": "dd33fdebedf1ce6497737113e183f2a5d8bbca63",
      "parents": [
        "5ce2955e04a80da7287dc12f32da7f870039bf8f",
        "ecf0eb9edbb607d74f74b73c14af8b43f3729528"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 08:36:45 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 07 08:36:45 2013 -0800"
      },
      "message": "Merge tag \u0027nfs-for-3.8-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\nPull NFS client bugfixes from Trond Myklebust:\n\n - Fix a permissions problem when opening NFSv4 files that only have the\n   exec bit set.\n\n - Fix a couple of typos in pNFS (inverted logic), and the mount parsing\n   (missing pointer dereference).\n\n - Work around a series of deadlock issues due to workqueues using\n   struct work_struct pointer address comparisons in the re-entrancy\n   tests.  Ensure that we don\u0027t free struct work_struct prematurely if\n   our work function involves waiting for completion of other work items\n   (e.g. by calling rpc_shutdown_client).\n\n - Revert the part of commit 168e4b3 that is causing unnecessary\n   warnings to be issued in the nfsd callback code.\n\n* tag \u0027nfs-for-3.8-2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs:\n  nfs: avoid dereferencing null pointer in initiate_bulk_draining\n  SUNRPC: Partial revert of commit 168e4b39d1afb79a7e3ea6c3bb246b4c82c6bdb9\n  NFS: Ensure that we free the rpc_task after read and write cleanups are done\n  SUNRPC: Ensure that we free the rpc_task after cleanups are done\n  nfs: fix null checking in nfs_get_option_str()\n  pnfs: Increase the refcount when LAYOUTGET fails the first time\n  NFS: Fix access to suid/sgid executables\n"
    },
    {
      "commit": "ae62ca7b03217be5e74759dc6d7698c95df498b3",
      "tree": "417481b4ddfbd7f05589ae331b41f20939391b50",
      "parents": [
        "9dd4a13a89d7c27e51cb87b9e95e82d8999826da"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Sun Jan 06 18:21:49 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 06 20:58:13 2013 -0800"
      },
      "message": "tcp: fix MSG_SENDPAGE_NOTLAST logic\n\ncommit 35f9c09fe9c72e (tcp: tcp_sendpages() should call tcp_push() once)\nadded an internal flag : MSG_SENDPAGE_NOTLAST meant to be set on all\nfrags but the last one for a splice() call.\n\nThe condition used to set the flag in pipe_to_sendpage() relied on\nsplice() user passing the exact number of bytes present in the pipe,\nor a smaller one.\n\nBut some programs pass an arbitrary high value, and the test fails.\n\nThe effect of this bug is a lack of tcp_push() at the end of a\nsplice(pipe -\u003e socket) call, and possibly very slow or erratic TCP\nsessions.\n\nWe should both test sd-\u003etotal_len and fact that another fragment\nis in the pipe (pipe-\u003enrbufs \u003e 1)\n\nMany thanks to Willy for providing very clear bug report, bisection\nand test programs.\n\nReported-by: Willy Tarreau \u003cw@1wt.eu\u003e\nBisected-by: Willy Tarreau \u003cw@1wt.eu\u003e\nTested-by: Willy Tarreau \u003cw@1wt.eu\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fef0ebdb229bedce888b63923e2a1ba4e6c6a84c",
      "tree": "bff420c9a7e6b614a1ed83f22157475b885b421c",
      "parents": [
        "0ecaef0644973e9006fdbc6974301047aaff9bc6"
      ],
      "author": {
        "name": "Guo Chao",
        "email": "yan@linux.vnet.ibm.com",
        "time": "Sun Jan 06 23:40:25 2013 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jan 06 23:40:25 2013 -0500"
      },
      "message": "ext4: remove duplicate call to ext4_bread() in ext4_init_new_dir()\n\nThis fixes a buffer cache leak when creating a directory, introduced\nin commit a774f9c20.\n\nSigned-off-by: Guo Chao \u003cyan@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "0ecaef0644973e9006fdbc6974301047aaff9bc6",
      "tree": "8c0b65a4401435ee094c00e7a09bce81f4b90685",
      "parents": [
        "96465efee14ecca0cdffcb09f9903635db8fc504"
      ],
      "author": {
        "name": "Guo Chao",
        "email": "yan@linux.vnet.ibm.com",
        "time": "Sun Jan 06 23:38:47 2013 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jan 06 23:38:47 2013 -0500"
      },
      "message": "ext4: release buffer in failed path in dx_probe()\n\nIf checksum fails, we should also release the buffer\nread from previous iteration.\n\nSigned-off-by: Guo Chao \u003cyan@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Darrick J. Wong \u003cdarrick.wong@oracle.com\u003e-\nCc: stable@vger.kernel.org\n--\n fs/ext4/namei.c |    2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\n"
    },
    {
      "commit": "96465efee14ecca0cdffcb09f9903635db8fc504",
      "tree": "82b6ad8084cc97422fa7ebab015059a3a135209f",
      "parents": [
        "d1c3ed669a2d452cacfb48c2d171a1f364dae2ed"
      ],
      "author": {
        "name": "Valerie Aurora",
        "email": "val@vaaconsulting.com",
        "time": "Sun Jan 06 23:38:44 2013 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jan 06 23:38:44 2013 -0500"
      },
      "message": "ext4: fix configuration dependencies for ext4 ACLs and security labels\n\nCommit \"ext4: Remove CONFIG_EXT4_FS_XATTR\" removed the configuration\ndependencies for ext4 xattrs from the ext4 ACLs and security labels\nconfiguration options, but did not replace them with a dependency on\next4 itself.  Add back the dependency on ext4 so the options only show\nup if ext4 is enabled.\n\nSigned-off-by: Valerie Aurora \u003cval@vaaconsulting.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\n"
    },
    {
      "commit": "ecf0eb9edbb607d74f74b73c14af8b43f3729528",
      "tree": "37f71bb68c6a1756f9d8fad5b9798ec81fed49d8",
      "parents": [
        "360e1a534901592b289ba8768fc71b6e6ad49070"
      ],
      "author": {
        "name": "Nickolai Zeldovich",
        "email": "nickolai@csail.mit.edu",
        "time": "Sat Jan 05 14:19:51 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jan 05 14:26:51 2013 -0500"
      },
      "message": "nfs: avoid dereferencing null pointer in initiate_bulk_draining\n\nFix an inverted null pointer check in initiate_bulk_draining().\n\nSigned-off-by: Nickolai Zeldovich \u003cnickolai@csail.mit.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@vger.kernel.org [\u003e\u003d 3.7]\n"
    },
    {
      "commit": "6db6dd7d3fd8f7c765dabc376493d6791ab28bd6",
      "tree": "3328dca5352ad54f3d12d484ee5742a9a5b67542",
      "parents": [
        "c6567ed1402c55e19b012e66a8398baec2a726f3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 04 12:47:04 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 04 12:59:10 2013 -0500"
      },
      "message": "NFS: Ensure that we free the rpc_task after read and write cleanups are done\n\nThis patch ensures that we free the rpc_task after the cleanup callbacks\nare done in order to avoid a deadlock problem that can be triggered if\nthe callback needs to wait for another workqueue item to complete.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Weston Andros Adamson \u003cdros@netapp.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: stable@vger.kernel.org [\u003e\u003d 3.5]\n"
    },
    {
      "commit": "e25fbe380c4e3c09afa98bcdcd9d3921443adab8",
      "tree": "91aeee4cfe6cfa4a07e2373d7d1f4d3d65b0b549",
      "parents": [
        "39e88fcfb1d5c6c4b1ff76ca2ab76cf449b850e8"
      ],
      "author": {
        "name": "Xi Wang",
        "email": "xi.wang@gmail.com",
        "time": "Fri Jan 04 03:22:57 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 04 10:54:43 2013 -0500"
      },
      "message": "nfs: fix null checking in nfs_get_option_str()\n\nThe following null pointer check is broken.\n\n\t*option \u003d match_strdup(args);\n\treturn !option;\n\nThe pointer `option\u0027 must be non-null, and thus `!option\u0027 is always false.\nUse `!*option\u0027 instead.\n\nThe bug was introduced in commit c5cb09b6f8 (\"Cleanup: Factor out some\ncut-and-paste code.\").\n\nSigned-off-by: Xi Wang \u003cxi.wang@gmail.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "39e88fcfb1d5c6c4b1ff76ca2ab76cf449b850e8",
      "tree": "4cd9e5897b1ee6b22941b4640de5f28f261ed022",
      "parents": [
        "f8d9a897d4384b77f13781ea813156568f68b83e"
      ],
      "author": {
        "name": "Yanchuan Nian",
        "email": "ycnian@gmail.com",
        "time": "Fri Jan 04 20:19:49 2013 +0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Jan 04 10:50:42 2013 -0500"
      },
      "message": "pnfs: Increase the refcount when LAYOUTGET fails the first time\n\nThe layout will be set unusable if LAYOUTGET fails. Is it reasonable to\nincrease the refcount iff LAYOUTGET fails the first time?\n\nSigned-off-by: Yanchuan Nian \u003cycnian@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@vger.kernel.org [\u003e\u003d 3.7]\n"
    },
    {
      "commit": "49569646b2413ee1a4fb7c4537fca058ac22292e",
      "tree": "41b8bc72975610295c2e4cf9318478272c667c75",
      "parents": [
        "5f738967e89584f99c6a11c6bf09b16c50b6a03e",
        "6ae141718e3f9c7e2c620e999c86612a7f415bb1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 03 16:17:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 03 16:17:50 2013 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.8-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core __dev* removal patches - take 3 - from Greg Kroah-Hartman:\n \"Here are the remaining __dev* removal patches against the 3.8-rc2\n  tree.  All of these patches were previously sent to the subsystem\n  maintainers, most of them were picked up and pushed to you, but there\n  were a number that fell through the cracks, and new drivers were added\n  during the merge window, so this series cleans up the rest of the\n  instances of these markings.\n\n  Third time\u0027s the charm...\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\nFixed up trivial conflict with the pinctrl pull in pinctrl-sirf.c.\n\n* tag \u0027driver-core-3.8-rc2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (54 commits)\n  misc: remove __dev* attributes.\n  include: remove __dev* attributes.\n  Documentation: remove __dev* attributes.\n  Drivers: misc: remove __dev* attributes.\n  Drivers: block: remove __dev* attributes.\n  Drivers: bcma: remove __dev* attributes.\n  Drivers: char: remove __dev* attributes.\n  Drivers: clocksource: remove __dev* attributes.\n  Drivers: ssb: remove __dev* attributes.\n  Drivers: dma: remove __dev* attributes.\n  Drivers: gpu: remove __dev* attributes.\n  Drivers: infinband: remove __dev* attributes.\n  Drivers: memory: remove __dev* attributes.\n  Drivers: mmc: remove __dev* attributes.\n  Drivers: iommu: remove __dev* attributes.\n  Drivers: power: remove __dev* attributes.\n  Drivers: message: remove __dev* attributes.\n  Drivers: macintosh: remove __dev* attributes.\n  Drivers: mfd: remove __dev* attributes.\n  pstore: remove __dev* attributes.\n  ...\n"
    },
    {
      "commit": "6ae141718e3f9c7e2c620e999c86612a7f415bb1",
      "tree": "808737193b879da8b287f54647c4782fb450299d",
      "parents": [
        "e389623a68622e3c9be440ab522fac1aa1ca3454"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:16:45 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:16 2013 -0800"
      },
      "message": "misc: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the last of the __dev* markings from the kernel from\na variety of different, tiny, places.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f568f6ca811fe681ecfd11c4ce78b6aa488020c0",
      "tree": "032951483c8d9d70867c0d8d5f7f9bc2ad5d14f1",
      "parents": [
        "fcb35a9bac6710851bbca1b7908ca85e83aecb4a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Dec 21 15:02:05 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Jan 03 15:57:14 2013 -0800"
      },
      "message": "pstore: remove __dev* attributes.\n\nCONFIG_HOTPLUG is going away as an option.  As a result, the __dev*\nmarkings need to be removed.\n\nThis change removes the use of __devinit from the pstore filesystem.\n\nBased on patches originally written by Bill Pemberton, but redone by me\nin order to handle some of the coding style issues better, by hand.\n\nCc: Bill Pemberton \u003cwfp5p@virginia.edu\u003e\nCc: Anton Vorontsov \u003ccbouatmailru@gmail.com\u003e\nCc: Colin Cross \u003cccross@android.com\u003e\nCc: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f8d9a897d4384b77f13781ea813156568f68b83e",
      "tree": "c34e5e5b5da7a6c46d1d12b7408ef5312a55e8ca",
      "parents": [
        "d1c3ed669a2d452cacfb48c2d171a1f364dae2ed"
      ],
      "author": {
        "name": "Weston Andros Adamson",
        "email": "dros@netapp.com",
        "time": "Thu Jan 03 16:42:29 2013 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jan 03 17:06:27 2013 -0500"
      },
      "message": "NFS: Fix access to suid/sgid executables\n\nnfs_open_permission_mask() should only check MAY_EXEC for files that\nare opened with __FMODE_EXEC.\n\nAlso fix NFSv4 access-in-open path in a similar way -- openflags must be\nused because fmode will not always have FMODE_EXEC set.\n\nThis patch fixes https://bugzilla.kernel.org/show_bug.cgi?id\u003d49101\n\nSigned-off-by: Weston Andros Adamson \u003cdros@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "2318aa272072f6906de8e00a332da1485506b3c5",
      "tree": "a305711c90dab041e1c53a00403c90f06989b56b",
      "parents": [
        "ed4e6a94d3053b9900b4a1338b8056d532a564c4",
        "9836b8b9499cb25ea32cad9fff640eef874c5431"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 03 11:41:43 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 03 11:41:43 2013 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs\n\nPull f2fs bug fixes from Jaegeuk Kim:\n \"This patch-set includes two major bug fixes:\n   - incorrect IUsed provided by *df -i*, and\n   - lookup failure of parent inodes in corner cases.\n\n  [Other Bug Fixes]\n   - Fix error handling routines\n   - Trigger recovery process correctly\n   - Resolve build failures due to missing header files\n\n  [Etc]\n   - Add a MAINTAINERS entry for f2fs\n   - Fix and clean up variables, functions, and equations\n   - Avoid warnings during compilation\"\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs:\n  f2fs: unify string length declarations and usage\n  f2fs: clean up unused variables and return values\n  f2fs: clean up the start_bidx_of_node function\n  f2fs: remove unneeded variable from f2fs_sync_fs\n  f2fs: fix fsync_inode list addition logic and avoid invalid access to memory\n  f2fs: remove unneeded initialization of nr_dirty in dirty_seglist_info\n  f2fs: handle error from f2fs_iget_nowait\n  f2fs: fix equation of has_not_enough_free_secs()\n  f2fs: add MAINTAINERS entry\n  f2fs: return a default value for non-void function\n  f2fs: invalidate the node page if allocation is failed\n  f2fs: add missing #include \u003clinux/prefetch.h\u003e\n  f2fs: do f2fs_balance_fs in front of dir operations\n  f2fs: should recover orphan and fsync data\n  f2fs: fix handling errors got by f2fs_write_inode\n  f2fs: fix up f2fs_get_parent issue to retrieve correct parent inode number\n  f2fs: fix wrong calculation on f_files in statfs\n  f2fs: remove set_page_dirty for atomic f2fs_end_io_write\n"
    },
    {
      "commit": "ed4e6a94d3053b9900b4a1338b8056d532a564c4",
      "tree": "89b4183298e7ae08ec531652529bbd73076ceda7",
      "parents": [
        "22f4f7b59afd02c3f5372e19a536fde339bfd1dc",
        "13d2eb012927b03ac1b80202af5aa9abc4003bd5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 03 11:38:14 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 03 11:38:14 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes\n\nPull GFS2 fixes from Steven Whitehouse:\n \"Here are four small bug fixes for GFS2.  There is no common theme here\n  really, just a few items that were fixed recently.\n\n  The first fixes lock name generation when the glock number is 0.  The\n  second fixes a race allocating reservation structures and the final\n  two fix a performance issue by making small changes in the allocation\n  code.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes:\n  GFS2: Reset rd_last_alloc when it reaches the end of the rgrp\n  GFS2: Stop looking for free blocks at end of rgrp\n  GFS2: Fix race in gfs2_rs_alloc\n  GFS2: Initialize hex string to \u00270\u0027\n"
    },
    {
      "commit": "007f6c3a63e0831ff5a34bde072db08e917134c8",
      "tree": "f9c7b1cbd91f719165ce97463652c66ee81d3704",
      "parents": [
        "58890c06691462ca29900d1116b28c7a3e131252",
        "37028758f92d0a3eb74bcfbecf6bc477072e9e28"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:33:50 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 17:33:50 2013 -0800"
      },
      "message": "Merge tag \u0027ecryptfs-3.8-rc2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs\n\nPull ecryptfs fixes from Tyler Hicks:\n \"Two self-explanatory fixes and a third patch which improves\n  performance: when overwriting a full page in the eCryptfs page cache,\n  skip reading in and decrypting the corresponding lower page.\"\n\n* tag \u0027ecryptfs-3.8-rc2-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:\n  fs/ecryptfs/crypto.c: make ecryptfs_encode_for_filename() static\n  eCryptfs: fix to use list_for_each_entry_safe() when delete items\n  eCryptfs: Avoid unnecessary disk read and data decryption during writing\n"
    },
    {
      "commit": "5439ca6b8ff8cf8d758c19eb28b617a5912904ee",
      "tree": "676f9e0b25074d2d8c5ab29df30c962b3cb7311e",
      "parents": [
        "a7a88b23737095e6c18a20c5d4eef9e25ec5b829",
        "0e9a9a1ad619e7e987815d20262d36a2f95717ca"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:57:34 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:57:34 2013 -0800"
      },
      "message": "Merge tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\nPull ext4 bug fixes from Ted Ts\u0027o:\n \"Various bug fixes for ext4.  Perhaps the most serious bug fixed is one\n  which could cause file system corruptions when performing file punch\n  operations.\"\n\n* tag \u0027ext4_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: avoid hang when mounting non-journal filesystems with orphan list\n  ext4: lock i_mutex when truncating orphan inodes\n  ext4: do not try to write superblock on ro remount w/o journal\n  ext4: include journal blocks in df overhead calcs\n  ext4: remove unaligned AIO warning printk\n  ext4: fix an incorrect comment about i_mutex\n  ext4: fix deadlock in journal_unmap_buffer()\n  ext4: split off ext4_journalled_invalidatepage()\n  jbd2: fix assertion failure in jbd2_journal_flush()\n  ext4: check dioread_nolock on remount\n  ext4: fix extent tree corruption caused by hole punch\n"
    },
    {
      "commit": "a7a88b23737095e6c18a20c5d4eef9e25ec5b829",
      "tree": "da6000487d0a1e4694fd760ac55467bce091e854",
      "parents": [
        "f2a07f40dbc603c15f8b06e6ec7f768af67b424f"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Jan 02 02:04:23 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:27:10 2013 -0800"
      },
      "message": "mempolicy: remove arg from mpol_parse_str, mpol_to_str\n\nRemove the unused argument (formerly no_context) from mpol_parse_str()\nand from mpol_to_str().\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "128dd1759d96ad36c379240f8b9463e8acfd37a1",
      "tree": "ff5a716b9dcd319d203485e9aa86f3512d555fce",
      "parents": [
        "4a490b78cb7e0e5efa44425df72a9fedc1c36366"
      ],
      "author": {
        "name": "Eric Wong",
        "email": "normalperson@yhbt.net",
        "time": "Tue Jan 01 21:20:27 2013 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 02 09:16:43 2013 -0800"
      },
      "message": "epoll: prevent missed events on EPOLL_CTL_MOD\n\nEPOLL_CTL_MOD sets the interest mask before calling f_op-\u003epoll() to\nensure events are not missed.  Since the modifications to the interest\nmask are not protected by the same lock as ep_poll_callback, we need to\nensure the change is visible to other CPUs calling ep_poll_callback.\n\nWe also need to ensure f_op-\u003epoll() has an up-to-date view of past\nevents which occured before we modified the interest mask.  So this\nbarrier also pairs with the barrier in wq_has_sleeper().\n\nThis should guarantee either ep_poll_callback or f_op-\u003epoll() (or both)\nwill notice the readiness of a recently-ready/modified item.\n\nThis issue was encountered by Andreas Voellmy and Junchang(Jason) Wang in:\nhttp://thread.gmane.org/gmane.linux.kernel/1408782/\n\nSigned-off-by: Eric Wong \u003cnormalperson@yhbt.net\u003e\nCc: Hans Verkuil \u003chans.verkuil@cisco.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Jonathan Corbet \u003ccorbet@lwn.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Hans de Goede \u003chdegoede@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andreas Voellmy \u003candreas.voellmy@yale.edu\u003e\nTested-by: \"Junchang(Jason) Wang\" \u003cjunchang.wang@yale.edu\u003e\nCc: netdev@vger.kernel.org\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13d2eb012927b03ac1b80202af5aa9abc4003bd5",
      "tree": "e2145f0cdd69a53edeb915efd9712e2ebba19f45",
      "parents": [
        "15bd50ad82a6d3421af1abe82e2554898abc4141"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Dec 20 13:23:04 2012 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 02 10:05:27 2013 +0000"
      },
      "message": "GFS2: Reset rd_last_alloc when it reaches the end of the rgrp\n\nIn function rg_mblk_search, it\u0027s searching for multiple blocks in\na given state (e.g. \"free\"). If there\u0027s an active block reservation\nits goal is the next free block of that. If the resource group\ncontains the dinode\u0027s goal block, that\u0027s used for the search. But\nif neither is the case, it uses the rgrp\u0027s last allocated block.\nThat way, consecutive allocations appear after one another on media.\nThe problem comes in when you hit the end of the rgrp; it would never\nstart over and search from the beginning. This became a problem,\nsince if you deleted all the files and data from the rgrp, it would\nnever start over and find free blocks. So it had to keep searching\nfurther out on the media to allocate blocks. This patch resets the\nrd_last_alloc after it does an unsuccessful search at the end of\nthe rgrp.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "15bd50ad82a6d3421af1abe82e2554898abc4141",
      "tree": "f23d595b1306ad4cddf64c181ac831af8cb3042d",
      "parents": [
        "f1213cacc7ffc7d4cdef3692f22b28a2df3216f5"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Thu Dec 20 13:21:07 2012 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 02 10:05:10 2013 +0000"
      },
      "message": "GFS2: Stop looking for free blocks at end of rgrp\n\nThis patch adds a return code check after calling function\ngfs2_rbm_from_block while determining the free extent size.\nThat way, when the end of an rgrp is reached, it won\u0027t try\nto process unaligned blocks after the end.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f1213cacc7ffc7d4cdef3692f22b28a2df3216f5",
      "tree": "323a502b74dc45a726b05c5b0bddccb77ba516df",
      "parents": [
        "ec1487528bed94c4aaff3687834fe94203880fd6"
      ],
      "author": {
        "name": "Abhijith Das",
        "email": "adas@redhat.com",
        "time": "Wed Dec 19 10:48:01 2012 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 02 10:04:53 2013 +0000"
      },
      "message": "GFS2: Fix race in gfs2_rs_alloc\n\nQE aio tests uncovered a race condition in gfs2_rs_alloc where it\u0027s possible\nto come out of the function with a valid ip-\u003ei_res allocation but it gets\nfreed before use resulting in a NULL ptr dereference.\n\nThis patch envelopes the initial short-circuit check for non-NULL ip-\u003ei_res\ninto the mutex lock. With this patch, I was able to successfully run the\nreproducer test multiple times.\n\nResolves: rhbz#878476\nSigned-off-by: Abhi Das \u003cadas@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ec1487528bed94c4aaff3687834fe94203880fd6",
      "tree": "596a9a256e1465b3baf3ee882a6a06c1d2311f34",
      "parents": [
        "4a490b78cb7e0e5efa44425df72a9fedc1c36366"
      ],
      "author": {
        "name": "Nathan Straz",
        "email": "nstraz@redhat.com",
        "time": "Tue Dec 11 17:01:24 2012 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Jan 02 10:04:00 2013 +0000"
      },
      "message": "GFS2: Initialize hex string to \u00270\u0027\n\nWhen generating the DLM lock name, a value of 0 would skip\nthe loop and leave the string unchanged.  This left locks with\na value of 0 unlabeled.  Initializing the string to \u00270\u0027 fixes this.\n\nSigned-off-by: Nathan Straz \u003cnstraz@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "63b7d3a41ccadef971a4ffbe6662119d4275ebf9",
      "tree": "02ccbd85b5628cc1cb4cb982c74514fe8d851fdb",
      "parents": [
        "88cf75aaaf27a652b3e85960ac3060172dd3edac"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Mon Dec 24 14:41:19 2012 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 01 23:04:30 2013 -0600"
      },
      "message": "CIFS: Don\u0027t let read only caching for mandatory byte-range locked files\n\nIf we have mandatory byte-range locks on a file we can\u0027t cache reads\nbecause pagereading may have conflicts with these locks on the server.\nThat\u0027s why we should allow level2 oplocks for files without mandatory\nlocks only.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "88cf75aaaf27a652b3e85960ac3060172dd3edac",
      "tree": "4d9b9f8050a5dce17bcfd0726daec0edceca08b9",
      "parents": [
        "ca8aa29c60238720af2ca2a5caab25fa0c70067e"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Fri Dec 21 15:07:52 2012 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 01 23:04:14 2013 -0600"
      },
      "message": "CIFS: Fix write after setting a read lock for read oplock files\n\nIf we have a read oplock and set a read lock in it, we can\u0027t write to the\nlocked area - so, filemap_fdatawrite may fail with a no information for a\nuserspace application even if we request a write to non-locked area. Fix\nthis by writing directly to the server and then breaking oplock level from\nlevel2 to None.\n\nAlso remove CONFIG_CIFS_SMB2 ifdefs because it\u0027s suitable for both CIFS\nand SMB2 protocols.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "ca8aa29c60238720af2ca2a5caab25fa0c70067e",
      "tree": "cc5940d0c0acaa31b19793b456423764ac97afe0",
      "parents": [
        "31efee60f489c759c341454d755a9fd13de8c03d"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Fri Dec 21 15:05:47 2012 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Jan 01 22:59:55 2013 -0600"
      },
      "message": "Revert \"CIFS: Fix write after setting a read lock for read oplock files\"\n\nthat solution has data races and can end up two identical writes to the\nserver: when clientCanCacheAll value can be changed during the execution\nof __generic_file_aio_write.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "31efee60f489c759c341454d755a9fd13de8c03d",
      "tree": "5cfe2dcce401fc01717d84cddc956ab138585f94",
      "parents": [
        "ea702b80e0bbb2448e201472127288beb82ca2fe"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 27 08:05:03 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Sun Dec 30 11:43:51 2012 -0600"
      },
      "message": "cifs: adjust sequence number downward after signing NT_CANCEL request\n\nWhen a call goes out, the signing code adjusts the sequence number\nupward by two to account for the request and the response. An NT_CANCEL\nhowever doesn\u0027t get a response of its own, it just hurries the server\nalong to get it to respond to the original request more quickly.\nTherefore, we must adjust the sequence number back down by one after\nsigning a NT_CANCEL request.\n\nCc: \u003cstable@vger.kernel.org\u003e\nReported-by: Tim Perry \u003ctdparmor-sambabugs@yahoo.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "ea702b80e0bbb2448e201472127288beb82ca2fe",
      "tree": "0e8e9c1d688a71de0fcf4b05ecd0d06ce60eaa0e",
      "parents": [
        "ecccd1248d6e6986130ffcc3b0d003cb46a485c0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Dec 27 07:28:55 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Sun Dec 30 11:38:58 2012 -0600"
      },
      "message": "cifs: move check for NULL socket into smb_send_rqst\n\nCai reported this oops:\n\n[90701.616664] BUG: unable to handle kernel NULL pointer dereference at 0000000000000028\n[90701.625438] IP: [\u003cffffffff814a343e\u003e] kernel_setsockopt+0x2e/0x60\n[90701.632167] PGD fea319067 PUD 103fda4067 PMD 0\n[90701.637255] Oops: 0000 [#1] SMP\n[90701.640878] Modules linked in: des_generic md4 nls_utf8 cifs dns_resolver binfmt_misc tun sg igb iTCO_wdt iTCO_vendor_support lpc_ich pcspkr i2c_i801 i2c_core i7core_edac edac_core ioatdma dca mfd_core coretemp kvm_intel kvm crc32c_intel microcode sr_mod cdrom ata_generic sd_mod pata_acpi crc_t10dif ata_piix libata megaraid_sas dm_mirror dm_region_hash dm_log dm_mod\n[90701.677655] CPU 10\n[90701.679808] Pid: 9627, comm: ls Tainted: G        W    3.7.1+ #10 QCI QSSC-S4R/QSSC-S4R\n[90701.688950] RIP: 0010:[\u003cffffffff814a343e\u003e]  [\u003cffffffff814a343e\u003e] kernel_setsockopt+0x2e/0x60\n[90701.698383] RSP: 0018:ffff88177b431bb8  EFLAGS: 00010206\n[90701.704309] RAX: ffff88177b431fd8 RBX: 00007ffffffff000 RCX: ffff88177b431bec\n[90701.712271] RDX: 0000000000000003 RSI: 0000000000000006 RDI: 0000000000000000\n[90701.720223] RBP: ffff88177b431bc8 R08: 0000000000000004 R09: 0000000000000000\n[90701.728185] R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000001\n[90701.736147] R13: ffff88184ef92000 R14: 0000000000000023 R15: ffff88177b431c88\n[90701.744109] FS:  00007fd56a1a47c0(0000) GS:ffff88105fc40000(0000) knlGS:0000000000000000\n[90701.753137] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\n[90701.759550] CR2: 0000000000000028 CR3: 000000104f15f000 CR4: 00000000000007e0\n[90701.767512] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[90701.775465] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[90701.783428] Process ls (pid: 9627, threadinfo ffff88177b430000, task ffff88185ca4cb60)\n[90701.792261] Stack:\n[90701.794505]  0000000000000023 ffff88177b431c50 ffff88177b431c38 ffffffffa014fcb1\n[90701.802809]  ffff88184ef921bc 0000000000000000 00000001ffffffff ffff88184ef921c0\n[90701.811123]  ffff88177b431c08 ffffffff815ca3d9 ffff88177b431c18 ffff880857758000\n[90701.819433] Call Trace:\n[90701.822183]  [\u003cffffffffa014fcb1\u003e] smb_send_rqst+0x71/0x1f0 [cifs]\n[90701.828991]  [\u003cffffffff815ca3d9\u003e] ? schedule+0x29/0x70\n[90701.834736]  [\u003cffffffffa014fe6d\u003e] smb_sendv+0x3d/0x40 [cifs]\n[90701.841062]  [\u003cffffffffa014fe96\u003e] smb_send+0x26/0x30 [cifs]\n[90701.847291]  [\u003cffffffffa015801f\u003e] send_nt_cancel+0x6f/0xd0 [cifs]\n[90701.854102]  [\u003cffffffffa015075e\u003e] SendReceive+0x18e/0x360 [cifs]\n[90701.860814]  [\u003cffffffffa0134a78\u003e] CIFSFindFirst+0x1a8/0x3f0 [cifs]\n[90701.867724]  [\u003cffffffffa013f731\u003e] ? build_path_from_dentry+0xf1/0x260 [cifs]\n[90701.875601]  [\u003cffffffffa013f731\u003e] ? build_path_from_dentry+0xf1/0x260 [cifs]\n[90701.883477]  [\u003cffffffffa01578e6\u003e] cifs_query_dir_first+0x26/0x30 [cifs]\n[90701.890869]  [\u003cffffffffa015480d\u003e] initiate_cifs_search+0xed/0x250 [cifs]\n[90701.898354]  [\u003cffffffff81195970\u003e] ? fillonedir+0x100/0x100\n[90701.904486]  [\u003cffffffffa01554cb\u003e] cifs_readdir+0x45b/0x8f0 [cifs]\n[90701.911288]  [\u003cffffffff81195970\u003e] ? fillonedir+0x100/0x100\n[90701.917410]  [\u003cffffffff81195970\u003e] ? fillonedir+0x100/0x100\n[90701.923533]  [\u003cffffffff81195970\u003e] ? fillonedir+0x100/0x100\n[90701.929657]  [\u003cffffffff81195848\u003e] vfs_readdir+0xb8/0xe0\n[90701.935490]  [\u003cffffffff81195b9f\u003e] sys_getdents+0x8f/0x110\n[90701.941521]  [\u003cffffffff815d3b99\u003e] system_call_fastpath+0x16/0x1b\n[90701.948222] Code: 66 90 55 65 48 8b 04 25 f0 c6 00 00 48 89 e5 53 48 83 ec 08 83 fe 01 48 8b 98 48 e0 ff ff 48 c7 80 48 e0 ff ff ff ff ff ff 74 22 \u003c48\u003e 8b 47 28 ff 50 68 65 48 8b 14 25 f0 c6 00 00 48 89 9a 48 e0\n[90701.970313] RIP  [\u003cffffffff814a343e\u003e] kernel_setsockopt+0x2e/0x60\n[90701.977125]  RSP \u003cffff88177b431bb8\u003e\n[90701.981018] CR2: 0000000000000028\n[90701.984809] ---[ end trace 24bd602971110a43 ]---\n\nThis is likely due to a race vs. a reconnection event.\n\nThe current code checks for a NULL socket in smb_send_kvec, but that\u0027s\ntoo late. By the time that check is done, the socket will already have\nbeen passed to kernel_setsockopt. Move the check into smb_send_rqst, so\nthat it\u0027s checked earlier.\n\nIn truth, this is a bit of a half-assed fix. The -ENOTSOCK error\nreturn here looks like it could bubble back up to userspace. The locking\nrules around the ssocket pointer are really unclear as well. There are\ncases where the ssocket pointer is changed without holding the srv_mutex,\nbut I\u0027m not clear whether there\u0027s a potential race here yet or not.\n\nThis code seems like it could benefit from some fundamental re-think of\nhow the socket handling should behave. Until then though, this patch\nshould at least fix the above oops in most cases.\n\nCc: \u003cstable@vger.kernel.org\u003e # 3.7+\nReported-and-Tested-by: CAI Qian \u003ccaiqian@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "9836b8b9499cb25ea32cad9fff640eef874c5431",
      "tree": "b7d05ce46e6b1f86aea3794ba7b0eddf9db8c9bd",
      "parents": [
        "2b50638decdb9a8585654a5acf1c8ce5962f1951"
      ],
      "author": {
        "name": "Leon Romanovsky",
        "email": "leon@leon.nu",
        "time": "Thu Dec 27 19:55:46 2012 +0200"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:27:53 2012 +0900"
      },
      "message": "f2fs: unify string length declarations and usage\n\nThis patch is intended to unify string length declarations and usage.\nThere are number of calls to strlen which return size_t object.\nThe size of this object depends on compiler if it will be bigger,\nequal or even smaller than an unsigned int\n\nSigned-off-by: Leon Romanovsky \u003cleon@leon.nu\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "2b50638decdb9a8585654a5acf1c8ce5962f1951",
      "tree": "71887dfa0124dc314003af82cc23ad510ff880c3",
      "parents": [
        "ce19a5d4321911f98d42e4d724630ae48f413719"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 26 14:39:50 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:27:52 2012 +0900"
      },
      "message": "f2fs: clean up unused variables and return values\n\nThis patch cleans up a couple of unnecessary codes related to unused variables\nand return values.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "ce19a5d4321911f98d42e4d724630ae48f413719",
      "tree": "4b97b609a1d544da234ac53cd369bd5b80fc60c8",
      "parents": [
        "64c576fe51bc6b19e99340d2d0e1bda89f66db25"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 26 12:03:22 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:27:52 2012 +0900"
      },
      "message": "f2fs: clean up the start_bidx_of_node function\n\nThis patch also resolves the following warning reported by kbuild test robot.\n\nfs/f2fs/gc.c: In function \u0027start_bidx_of_node\u0027:\nfs/f2fs/gc.c:453:21: warning: \u0027bidx\u0027 may be used uninitialized in this function\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "64c576fe51bc6b19e99340d2d0e1bda89f66db25",
      "tree": "dc8e96c3df9c31d7a6d890fb0b8fff853007ca9c",
      "parents": [
        "fd8bb65f796f041ee6ba400255ca9021bc45a992"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "namjae.jeon@samsung.com",
        "time": "Sat Dec 22 12:10:27 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:27:45 2012 +0900"
      },
      "message": "f2fs: remove unneeded variable from f2fs_sync_fs\n\nWe can directly return \u00270\u0027 from the function, instead of introducing a\n\u0027ret\u0027 variable.\n\nSigned-off-by: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nSigned-off-by: Amit Sahrawat \u003ca.sahrawat@samsung.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "fd8bb65f796f041ee6ba400255ca9021bc45a992",
      "tree": "db675ff9033743c4d98f62422e04c9103fea777f",
      "parents": [
        "344324f10fad05e40b1047c5e09ebbc77e43c24f"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "namjae.jeon@samsung.com",
        "time": "Sat Dec 22 12:10:12 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:27:36 2012 +0900"
      },
      "message": "f2fs: fix fsync_inode list addition logic and avoid invalid access to memory\n\nIn function find_fsync_dnodes() - the fsync inodes gets added to the list, but\nin one path suppose f2fs_iget results in error, in such case - error gets added\nto the fsync inode list.\nIn next call to recover_data()-\u003eget_fsync_inode()\nentry \u003d list_entry(this, struct fsync_inode_entry, list);\n                if (entry-\u003einode-\u003ei_ino \u003d\u003d ino)\nThis can result in \"invalid access to memory\" when it encounters \u0027error\u0027 as\nentry in the fsync inode list.\nSo, add the fsync inode entry to the list only in case of no errors.\nAnd, free the object at that point itself in case of issue.\n\nSigned-off-by: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nSigned-off-by: Amit Sahrawat \u003ca.sahrawat@samsung.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "344324f10fad05e40b1047c5e09ebbc77e43c24f",
      "tree": "e5ea654ddb10af7aa22c734c317ac844ec0ffdb2",
      "parents": [
        "06025f4df88e9e41f4ebcf6b4c3df30661332bc9"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "namjae.jeon@samsung.com",
        "time": "Sat Dec 22 12:09:58 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:27:05 2012 +0900"
      },
      "message": "f2fs: remove unneeded initialization of nr_dirty in dirty_seglist_info\n\nSince, the memory for the object of dirty_seglist_info is allocated\nusing kzalloc - which returns zeroed out memory. So, there is no need\nto initialize the nr_dirty values with zeroes.\n\nSigned-off-by: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nSigned-off-by: Amit Sahrawat \u003ca.sahrawat@samsung.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "06025f4df88e9e41f4ebcf6b4c3df30661332bc9",
      "tree": "9d5fab4bb021444db75538a70095675af227dded",
      "parents": [
        "029cd28c1f739bbfc5105035696d5f1f4e45d161"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "namjae.jeon@samsung.com",
        "time": "Sat Dec 22 12:09:43 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:26:13 2012 +0900"
      },
      "message": "f2fs: handle error from f2fs_iget_nowait\n\nIn case f2fs_iget_nowait returns error, it results in truncate_hole being\ncalled with \u0027error\u0027 value as inode pointer. There is no check in truncate_hole\nfor valid inode, so it could result in crash due \"invalid access to memory\".\nAvoid this by handling error condition properly.\n\nSigned-off-by: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nSigned-off-by: Amit Sahrawat \u003ca.sahrawat@samsung.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "029cd28c1f739bbfc5105035696d5f1f4e45d161",
      "tree": "738b26494ab4b9c959398e729caefe16956bee79",
      "parents": [
        "f58ad8f51a5a0f34c8d41ffc065e0f1c896c991c"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 21 17:20:21 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:24:10 2012 +0900"
      },
      "message": "f2fs: fix equation of has_not_enough_free_secs()\n\nPractically, has_not_enough_free_secs() should calculate with the numbers of\ncurrent node and directory data blocks together.\nActually the equation was implemented in need_to_flush().\n\nSo, this patch removes need_flush() and moves the equation into\nhas_not_enough_free_secs().\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "12a67146e35ba1d04ac4a5430eaaa8790158d60e",
      "tree": "9a3a2c0768d04fba20e0be8cc07f9cb6ae4a71c5",
      "parents": [
        "71e9fec548a95b2a4cf378646addd5d3098684a2"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 21 11:47:05 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:24:09 2012 +0900"
      },
      "message": "f2fs: return a default value for non-void function\n\nThis patch resolves a build warning reported by kbuild test robot.\n\n\"\nfs/f2fs/segment.c: In function \u0027__get_segment_type\u0027:\nfs/f2fs/segment.c:806:1: warning: control reaches end of non-void\nfunction [-Wreturn-type]\n\"\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "71e9fec548a95b2a4cf378646addd5d3098684a2",
      "tree": "129aef9aacfb87ec29d67a8ca95422a82ab9db12",
      "parents": [
        "690e4a3ead5f88fc95f7650816d1376aa2e79db5"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Thu Dec 20 15:10:06 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:24:09 2012 +0900"
      },
      "message": "f2fs: invalidate the node page if allocation is failed\n\nThe new_node_page() is processed as the following procedure.\n\n1. A new node page is allocated.\n2. Set PageUptodate with proper footer information.\n3. Check if there is a free space for allocation\n 4.a. If there is no space, f2fs returns with -ENOSPC.\n 4.b. Otherwise, go next.\n\nIn the case of step #4.a, f2fs remains a wrong node page in the page cache\nwith the uptodate flag.\n\nAlso, even though a new node page is allocated successfully, an error can be\noccurred afterwards due to allocation failure of the other data structures.\nIn such a case, remove_inode_page() would be triggered, so that we have to\nclear uptodate flag in truncate_node() too.\n\nSo, we should remove the uptodate flag, if allocation is failed.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "690e4a3ead5f88fc95f7650816d1376aa2e79db5",
      "tree": "2d52d94ff4e52191391e313e0f88af49013a3a53",
      "parents": [
        "1efef832020ef392deb2cd3d74e0c316711245be"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Wed Dec 19 22:19:30 2012 +0100"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Fri Dec 28 11:22:43 2012 +0900"
      },
      "message": "f2fs: add missing #include \u003clinux/prefetch.h\u003e\n\nm68k allmodconfig:\n\nfs/f2fs/data.c: In function ‘read_end_io’:\nfs/f2fs/data.c:311: error: implicit declaration of function ‘prefetchw’\n\nfs/f2fs/segment.c: In function ‘f2fs_end_io_write’:\nfs/f2fs/segment.c:628: error: implicit declaration of function ‘prefetchw’\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "0e9a9a1ad619e7e987815d20262d36a2f95717ca",
      "tree": "f8bfb87bf543ccd931bc18bbdb050d1725a81573",
      "parents": [
        "721e3eba21e43532e438652dd8f1fcdfce3187e7"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Dec 27 01:42:50 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Dec 27 01:42:50 2012 -0500"
      },
      "message": "ext4: avoid hang when mounting non-journal filesystems with orphan list\n\nWhen trying to mount a file system which does not contain a journal,\nbut which does have a orphan list containing an inode which needs to\nbe truncated, the mount call with hang forever in\next4_orphan_cleanup() because ext4_orphan_del() will return\nimmediately without removing the inode from the orphan list, leading\nto an uninterruptible loop in kernel code which will busy out one of\nthe CPU\u0027s on the system.\n\nThis can be trivially reproduced by trying to mount the file system\nfound in tests/f_orphan_extents_inode/image.gz from the e2fsprogs\nsource tree.  If a malicious user were to put this on a USB stick, and\nmount it on a Linux desktop which has automatic mounts enabled, this\ncould be considered a potential denial of service attack.  (Not a big\ndeal in practice, but professional paranoids worry about such things,\nand have even been known to allocate CVE numbers for such problems.)\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Zheng Liu \u003cwenqing.lz@taobao.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "721e3eba21e43532e438652dd8f1fcdfce3187e7",
      "tree": "5d1d118d6b671b98edbeabee15e15869305d129f",
      "parents": [
        "d096ad0f79a782935d2e06ae8fb235e8c5397775"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Dec 27 01:42:48 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Dec 27 01:42:48 2012 -0500"
      },
      "message": "ext4: lock i_mutex when truncating orphan inodes\n\nCommit c278531d39 added a warning when ext4_flush_unwritten_io() is\ncalled without i_mutex being taken.  It had previously not been taken\nduring orphan cleanup since races weren\u0027t possible at that point in\nthe mount process, but as a result of this c278531d39, we will now see\na kernel WARN_ON in this case.  Take the i_mutex in\next4_orphan_cleanup() to suppress this warning.\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Zheng Liu \u003cwenqing.lz@taobao.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "48c6d1217e3dc743e7d3ad9b9def8d4810d13a85",
      "tree": "b8c5539ab8c13674dce2ff5a860982ae28c9c21d",
      "parents": [
        "dfb2ea45becb198beeb75350d0b7b7ad9076a38f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Dec 22 01:52:39 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Dec 25 20:05:15 2012 -0800"
      },
      "message": "f2fs: Don\u0027t assign e_id in f2fs_acl_from_disk\n\nWith user namespaces enabled building f2fs fails with:\n\n CC      fs/f2fs/acl.o\nfs/f2fs/acl.c: In function ‘f2fs_acl_from_disk’:\nfs/f2fs/acl.c:85:21: error: ‘struct posix_acl_entry’ has no member named ‘e_id’\nmake[2]: *** [fs/f2fs/acl.o] Error 1\nmake[2]: Target `__build\u0027 not remade because of errors.\n\ne_id is a backwards compatibility field only used for file systems\nthat haven\u0027t been converted to use kuids and kgids.  When the posix\nacl tag field is neither ACL_USER nor ACL_GROUP assigning e_id is\nunnecessary.  Remove the assignment so f2fs will build with user\nnamespaces enabled.\n\nCc: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nCc: Amit Sahrawat \u003ca.sahrawat@samsung.com\u003e\nAcked-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "1efef832020ef392deb2cd3d74e0c316711245be",
      "tree": "f9b777202cb0cca945c42aa4aec0ffe0743776ab",
      "parents": [
        "30f0c75858c46a0273ccb838de401b1f5fdebe6f"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 19 16:25:21 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 26 10:39:52 2012 +0900"
      },
      "message": "f2fs: do f2fs_balance_fs in front of dir operations\n\nIn order to conserve free sections to deal with the worst-case scenarios, f2fs\nshould be able to freeze all the directory operations especially when there are\nnot enough free sections. The f2fs_balance_fs() is for this use.\n\nWhen FS utilization becomes almost 100%, directory operations can be failed due\nto -ENOSPC frequently, which produces some dirty node pages occasionally.\n\nPreviously, in such a case, f2fs_balance_fs() is not able to be triggered since\nit is triggered only if the directory operation ends up with success.\n\nSo, this patch triggers f2fs_balance_fs() at first before handling directory\noperations.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "30f0c75858c46a0273ccb838de401b1f5fdebe6f",
      "tree": "11a1a02a34d8cb4604cffdb30d1b365d0243aae7",
      "parents": [
        "398b1ac5a57219823f942a8d3665b27ab99354de"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 19 16:09:19 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 26 10:39:52 2012 +0900"
      },
      "message": "f2fs: should recover orphan and fsync data\n\nThe recovery routine should do all the time regardless of normal umount action.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "398b1ac5a57219823f942a8d3665b27ab99354de",
      "tree": "7e4806bf658cdffdd977f83a1365f673b9f8e487",
      "parents": [
        "38e0abdcfb5e69aa61a1e9b474d434afc1c177a9"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 19 15:28:39 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 26 10:39:52 2012 +0900"
      },
      "message": "f2fs: fix handling errors got by f2fs_write_inode\n\nRuslan reported that f2fs hangs with an infinite loop in f2fs_sync_file():\n\n\twhile (sync_node_pages(sbi, inode-\u003ei_ino, \u0026wbc) \u003d\u003d 0)\n\t\tf2fs_write_inode(inode, NULL);\n\nThe reason was revealed that the cold flag is not set even thought this inode is\na normal file. Therefore, sync_node_pages() skips to write node blocks since it\nonly writes cold node blocks.\n\nThe cold flag is stored to the node_footer in node block, and whenever a new\nnode page is allocated, it is set according to its file type, file or directory.\n\nBut, after sudden-power-off, when recovering the inode page, f2fs doesn\u0027t recover\nits cold flag.\n\nSo, let\u0027s assign the cold flag in more right places.\n\nOne more thing:\nIf f2fs_write_inode() returns an error due to whatever situations, there would\nbe no dirty node pages so that sync_node_pages() returns zero.\n(i.e., zero means nothing was written.)\n\nReported-by: Ruslan N. Marchenko \u003cme@ruff.mobi\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "38e0abdcfb5e69aa61a1e9b474d434afc1c177a9",
      "tree": "3e221e1dda048aa5c087a7d88e9ba93e987be748",
      "parents": [
        "1362b5e347e27102ea0fa99c9932bca1ecde330f"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "namjae.jeon@samsung.com",
        "time": "Thu Dec 13 23:44:11 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 26 10:39:52 2012 +0900"
      },
      "message": "f2fs: fix up f2fs_get_parent issue to retrieve correct parent inode number\n\nTest Case:\n[NFS Client]\nls -lR .\n\n[NFS Server]\nwhile [ 1 ]\ndo\necho 3 \u003e /proc/sys/vm/drop_caches\ndone\n\nError on NFS Client: \"No such file or directory\"\n\nWhen cache is dropped at the server, it results in lookup failure at the\nNFS client due to non-connection with the parent. The default path is it\ninitiates a lookup by calculating the hash value for the name, even though\nthe hash values stored on the disk for \".\" and \"..\" is maintained as zero,\nwhich results in failure from find_in_block due to not matching HASH values.\nFix up, by using the correct hashing values for these entries.\n\nSigned-off-by: Namjae Jeon \u003cnamjae.jeon@samsung.com\u003e\nSigned-off-by: Amit Sahrawat \u003ca.sahrawat@samsung.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "1362b5e347e27102ea0fa99c9932bca1ecde330f",
      "tree": "c7166c18990972677de0049a83c532c3802d3f60",
      "parents": [
        "dfb7c0ceab57fee7618f4c9c31c5a89254e8530a"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 12 19:45:49 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 26 10:39:51 2012 +0900"
      },
      "message": "f2fs: fix wrong calculation on f_files in statfs\n\nIn f2fs_statfs(), f_files should be the total number of available inodes\ninstead of the currently allocated inodes.\nSo, this patch should resolve the reported bug below.\n\nNote that, showing 10% usage is not a bug, since f2fs reveals whole volume size\nas much as possible and shows the space overhead as *used*.\nThis policy is fair enough with respect to other file systems.\n\n\u003cReported Bug\u003e\n(loop0 is backed by 1GiB file)\n\n$ mkfs.f2fs /dev/loop0\n\nF2FS-tools: Ver: 1.1.0 (2012-12-11)\nInfo: sector size \u003d 512\nInfo: total sectors \u003d 2097152 (in 512bytes)\nInfo: zone aligned segment0 blkaddr: 512\nInfo: format successful\n\n$ mount /dev/loop0 mnt/\n\n$ df mnt/\nFilesystem     1K-blocks  Used Available Use% Mounted on\n/dev/loop0       1046528 98312    929784  10%\n/home/zeta/linux-devel/mtd-bench/mnt\n\n$ df mnt/ -i\nFilesystem     Inodes   IUsed  IFree IUse% Mounted on\n/dev/loop0       1 -465918 465919     - /home/zeta/linux-devel/mtd-bench/mnt\n\nNotice IUsed is negative. Also, 10% usage on a fresh f2fs seems too\nmuch to be correct.\n\nReported-and-Tested-by: Ezequiel Garcia \u003celezegarcia@gmail.com\u003e\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "dfb7c0ceab57fee7618f4c9c31c5a89254e8530a",
      "tree": "562e1bd2ee29b43b1b1c2bd0f5ce30f3c09064d9",
      "parents": [
        "637704cbc95c02d18741b4a6e7a5d2397f8b28ce"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 12 09:47:39 2012 +0900"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk.kim@samsung.com",
        "time": "Wed Dec 26 10:39:51 2012 +0900"
      },
      "message": "f2fs: remove set_page_dirty for atomic f2fs_end_io_write\n\nWe should guarantee not to do *scheduling while atomic*.\nI found, in atomic f2fs_end_io_write(), there is a set_page_dirty() call\nto deal with IO errors.\n\nBut, set_page_dirty() calls:\n -\u003e f2fs_set_data_page_dirty()\n   -\u003e set_dirty_dir_page()\n      -\u003e cond_resched() which results in scheduling.\n\nIn order to avoid this, I\u0027d like to remove simply set_page_dirty(),\nsince the page is already marked as ERROR and f2fs will be operated\nas the read-only mode as well.\nSo, there is no recovery issue with this.\n\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk.kim@samsung.com\u003e\n"
    },
    {
      "commit": "dfb2ea45becb198beeb75350d0b7b7ad9076a38f",
      "tree": "7efa7f2073cf0e0ce085dd78adea855df3033d50",
      "parents": [
        "c876ad7682155958d0c9c27afe9017925c230d64"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Dec 21 20:38:00 2012 -0800"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Dec 25 16:23:12 2012 -0800"
      },
      "message": "proc: Allow proc_free_inum to be called from any context\n\nWhile testing the pid namespace code I hit this nasty warning.\n\n[  176.262617] ------------[ cut here ]------------\n[  176.263388] WARNING: at /home/eric/projects/linux/linux-userns-devel/kernel/softirq.c:160 local_bh_enable_ip+0x7a/0xa0()\n[  176.265145] Hardware name: Bochs\n[  176.265677] Modules linked in:\n[  176.266341] Pid: 742, comm: bash Not tainted 3.7.0userns+ #18\n[  176.266564] Call Trace:\n[  176.266564]  [\u003cffffffff810a539f\u003e] warn_slowpath_common+0x7f/0xc0\n[  176.266564]  [\u003cffffffff810a53fa\u003e] warn_slowpath_null+0x1a/0x20\n[  176.266564]  [\u003cffffffff810ad9ea\u003e] local_bh_enable_ip+0x7a/0xa0\n[  176.266564]  [\u003cffffffff819308c9\u003e] _raw_spin_unlock_bh+0x19/0x20\n[  176.266564]  [\u003cffffffff8123dbda\u003e] proc_free_inum+0x3a/0x50\n[  176.266564]  [\u003cffffffff8111d0dc\u003e] free_pid_ns+0x1c/0x80\n[  176.266564]  [\u003cffffffff8111d195\u003e] put_pid_ns+0x35/0x50\n[  176.266564]  [\u003cffffffff810c608a\u003e] put_pid+0x4a/0x60\n[  176.266564]  [\u003cffffffff8146b177\u003e] tty_ioctl+0x717/0xc10\n[  176.266564]  [\u003cffffffff810aa4d5\u003e] ? wait_consider_task+0x855/0xb90\n[  176.266564]  [\u003cffffffff81086bf9\u003e] ? default_spin_lock_flags+0x9/0x10\n[  176.266564]  [\u003cffffffff810cab0a\u003e] ? remove_wait_queue+0x5a/0x70\n[  176.266564]  [\u003cffffffff811e37e8\u003e] do_vfs_ioctl+0x98/0x550\n[  176.266564]  [\u003cffffffff810b8a0f\u003e] ? recalc_sigpending+0x1f/0x60\n[  176.266564]  [\u003cffffffff810b9127\u003e] ? __set_task_blocked+0x37/0x80\n[  176.266564]  [\u003cffffffff810ab95b\u003e] ? sys_wait4+0xab/0xf0\n[  176.266564]  [\u003cffffffff811e3d31\u003e] sys_ioctl+0x91/0xb0\n[  176.266564]  [\u003cffffffff810a95f0\u003e] ? task_stopped_code+0x50/0x50\n[  176.266564]  [\u003cffffffff81939199\u003e] system_call_fastpath+0x16/0x1b\n[  176.266564] ---[ end trace 387af88219ad6143 ]---\n\nIt turns out that spin_unlock_bh(proc_inum_lock) is not safe when\nput_pid is called with another spinlock held and irqs disabled.\n\nFor now take the easy path and use spin_lock_irqsave(proc_inum_lock)\nin proc_free_inum and spin_loc_irq in proc_alloc_inum(proc_inum_lock).\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "d096ad0f79a782935d2e06ae8fb235e8c5397775",
      "tree": "b6590d5236e831a6b4564fb88d3fc791952ee1f8",
      "parents": [
        "0875a2b448fcaba67010850cf9649293a5ef653d"
      ],
      "author": {
        "name": "Michael Tokarev",
        "email": "mjt@tls.msk.ru",
        "time": "Tue Dec 25 14:08:16 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 25 14:08:16 2012 -0500"
      },
      "message": "ext4: do not try to write superblock on ro remount w/o journal\n\nWhen a journal-less ext4 filesystem is mounted on a read-only block\ndevice (blockdev --setro will do), each remount (for other, unrelated,\nflags, like suid\u003d\u003enosuid etc) results in a series of scary messages\nfrom kernel telling about I/O errors on the device.\n\nThis is becauese of the following code ext4_remount():\n\n       if (sbi-\u003es_journal \u003d\u003d NULL)\n                ext4_commit_super(sb, 1);\n\nat the end of remount procedure, which forces writing (flushing) of\na superblock regardless whenever it is dirty or not, if the filesystem\nis readonly or not, and whenever the device itself is readonly or not.\n\nWe only need call ext4_commit_super when the file system had been\npreviously mounted read/write.\n\nThanks to Eric Sandeen for help in diagnosing this issue.\n\nSigned-off-By: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "0875a2b448fcaba67010850cf9649293a5ef653d",
      "tree": "520abd528cf70057950c4d3f77c0af4e59da93cd",
      "parents": [
        "a28a9178e8fcd9b94f7333184ce78e816c8cb2af"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Dec 25 13:56:01 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 25 13:56:01 2012 -0500"
      },
      "message": "ext4: include journal blocks in df overhead calcs\n\nTo more accurately calculate overhead for \"bsd\" style\ndf reporting, we should count the journal blocks as\noverhead as well.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nTested-by: Eric Whitney \u003cenwlinux@gmail.com\u003e\n"
    },
    {
      "commit": "a28a9178e8fcd9b94f7333184ce78e816c8cb2af",
      "tree": "cf841622e5d0eaaa717ee6f10dafcfc185a40132",
      "parents": [
        "ad96f7115593e962dd22a0519021eafaba56f5e3"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Dec 25 13:33:13 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 25 13:33:13 2012 -0500"
      },
      "message": "ext4: remove unaligned AIO warning printk\n\nAlthough I put this in, I now think it was a bad decision.  For most\nusers, there is very little to be done in this case.  They get the\nmessage, once per day, with no real context or proposed action.  TBH,\nit generates support calls when it probably does not need to; the\nmessage sounds more dire than the situation really is.\n\nJust nuke it.  Normal investigation via blktrace or whatnot can\nreveal poor IO patterns if bad performance is encountered.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ad96f7115593e962dd22a0519021eafaba56f5e3",
      "tree": "bb022d40e7bf5808e0a2cb4cacb71e8d6bf828ef",
      "parents": [
        "53e872681fed6a43047e71bf927f77d06f467988"
      ],
      "author": {
        "name": "Andy Lutomirski",
        "email": "luto@amacapital.net",
        "time": "Tue Dec 25 13:31:52 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 25 13:31:52 2012 -0500"
      },
      "message": "ext4: fix an incorrect comment about i_mutex\n\ni_mutex is not held when -\u003esync_file is called.\n\nReviewed-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andy Lutomirski \u003cluto@amacapital.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "53e872681fed6a43047e71bf927f77d06f467988",
      "tree": "8b5061acbaf222b3f25df54ddbcaa0b1123c471a",
      "parents": [
        "4520fb3c3690f2643006d85f09ecb74554c10e95"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 25 13:29:52 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 25 13:29:52 2012 -0500"
      },
      "message": "ext4: fix deadlock in journal_unmap_buffer()\n\nWe cannot wait for transaction commit in journal_unmap_buffer()\nbecause we hold page lock which ranks below transaction start.  We\nsolve the issue by bailing out of journal_unmap_buffer() and\njbd2_journal_invalidatepage() with -EBUSY.  Caller is then responsible\nfor waiting for transaction commit to finish and try invalidation\nagain. Since the issue can happen only for page stradding i_size, it\nis simple enough to manually call jbd2_journal_invalidatepage() for\nsuch page from ext4_setattr(), check the return value and wait if\nnecessary.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4520fb3c3690f2643006d85f09ecb74554c10e95",
      "tree": "2355adc52f5d861073e37ed9b4cb8ccc165cd519",
      "parents": [
        "d7961c7fa4d2e3c3f12be67e21ba8799b5a7238a"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 25 13:28:54 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 25 13:28:54 2012 -0500"
      },
      "message": "ext4: split off ext4_journalled_invalidatepage()\n\nIn data\u003djournal mode we don\u0027t need delalloc or DIO handling in invalidatepage\nand similarly in other modes we don\u0027t need the journal handling. So split\ninvalidatepage implementations.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "769cb858c23ba7379ea27208624b444cd7b61af2",
      "tree": "ba4227309416ae19d56ac7191dbb4fd0c1784a8c",
      "parents": [
        "b49249d10324d0fd6fb29725c2807dfd80d0edbc",
        "9acbd26b0a5ac4a3d52d31034feb3d935e39032a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:09:07 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:09:07 2012 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.samba.org/sfrench/cifs-2.6\n\nPull CIFS fixes from Steve French:\n \"Misc small cifs fixes\"\n\n* \u0027for-next\u0027 of git://git.samba.org/sfrench/cifs-2.6:\n  cifs: eliminate cifsERROR variable\n  cifs: don\u0027t compare uniqueids in cifs_prime_dcache unless server inode numbers are in use\n  cifs: fix double-free of \"string\" in cifs_parse_mount_options\n"
    },
    {
      "commit": "10532b560bacf23766f9c7dc09778b31b198ff45",
      "tree": "14eb44215dbcb3143222f3a865ae7f728a60628e",
      "parents": [
        "184e2516614f7055d4c3a2e63fd8a3eb95fff6d6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Fri Dec 21 19:48:59 2012 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 17:07:45 2012 -0800"
      },
      "message": "Revert \"nfsd: warn on odd reply state in nfsd_vfs_read\"\n\nThis reverts commit 79f77bf9a4e3dd5ead006b8f17e7c4ff07d8374e.\n\nThis is obviously wrong, and I have no idea how I missed seeing the\nwarning in testing: I must just not have looked at the right logs.  The\ncaller bumps rq_resused/rq_next_page, so it will always be hit on a\nlarge enough read.\n\nReported-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4271c6e37c32105492cbbed35f45330cb327b94",
      "tree": "a3fd8be5fb51c29539ae3e540837e1e59ecd4e8b",
      "parents": [
        "c129c29347b6cf0d64bfe53848f68320286612ab"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 21 11:02:32 2012 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 08:32:09 2012 -0800"
      },
      "message": "NFS: Kill fscache warnings when mounting without -ofsc\n\nThe fscache code will currently bleat a \"non-unique superblock keys\"\nwarning even if the user is mounting without the \u0027fsc\u0027 option.\n\nThere should be no reason to even initialise the superblock cache cookie\nunless we\u0027re planning on using fscache for something, so ensure that we\ncheck for the NFS_OPTION_FSCACHE flag before calling into the fscache\ncode.\n\nReported-by: Paweł Sikora \u003cpawel.sikora@agmk.net\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c129c29347b6cf0d64bfe53848f68320286612ab",
      "tree": "31349e624fade8277c0e21b8fe65a0c499fbf752",
      "parents": [
        "54e37b8dbe9a398f74cef313404bd2f1deca7853"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Dec 21 12:15:05 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 21 08:06:48 2012 -0800"
      },
      "message": "NFS: Provide stub nfs_fscache_wait_on_invalidate() for when CONFIG_NFS_FSCACHE\u003dn\n\nProvide a stub nfs_fscache_wait_on_invalidate() function for when\nCONFIG_NFS_FSCACHE\u003dn lest the following error appear:\n\n  fs/nfs/inode.c: In function \u0027nfs_invalidate_mapping\u0027:\n  fs/nfs/inode.c:887:2: error: implicit declaration of function \u0027nfs_fscache_wait_on_invalidate\u0027 [-Werror\u003dimplicit-function-declaration]\n  cc1: some warnings being treated as errors\n\nReported-by: kbuild test robot \u003cfengguang.wu@intel.com\u003e\nReported-by: Vineet Gupta \u003cVineet.Gupta1@synopsys.com\u003e\nReported-by: Borislav Petkov \u003cbp@alien8.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7961c7fa4d2e3c3f12be67e21ba8799b5a7238a",
      "tree": "3341ce3bdff7f2283e18f0cb02c438f421d746b0",
      "parents": [
        "261cb20cb2f0737a247aaf08dff7eb065e3e5b66"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Dec 21 00:15:51 2012 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Dec 21 00:15:51 2012 -0500"
      },
      "message": "jbd2: fix assertion failure in jbd2_journal_flush()\n\nThe following race is possible between start_this_handle() and someone\ncalling jbd2_journal_flush().\n\nProcess A                              Process B\nstart_this_handle().\n  if (journal-\u003ej_barrier_count) # false\n  if (!journal-\u003ej_running_transaction) { #true\n    read_unlock(\u0026journal-\u003ej_state_lock);\n                                       jbd2_journal_lock_updates()\n                                       jbd2_journal_flush()\n                                         write_lock(\u0026journal-\u003ej_state_lock);\n                                         if (journal-\u003ej_running_transaction) {\n                                           # false\n                                         ... wait for committing trans ...\n                                         write_unlock(\u0026journal-\u003ej_state_lock);\n    ...\n    write_lock(\u0026journal-\u003ej_state_lock);\n    if (!journal-\u003ej_running_transaction) { # true\n      jbd2_get_transaction(journal, new_transaction);\n    write_unlock(\u0026journal-\u003ej_state_lock);\n    goto repeat; # eventually blocks on j_barrier_count \u003e 0\n                                         ...\n                                         J_ASSERT(!journal-\u003ej_running_transaction);\n                                           # fails\n\nWe fix the race by rechecking j_barrier_count after reacquiring j_state_lock\nin exclusive mode.\n\nReported-by: yjwsignal@empal.com\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "96680d2b9174668100824d763382240c71baa811",
      "tree": "ec84c2347df47913cc98e3cfc1d43f427d51fa1f",
      "parents": [
        "4c9a44aebeaef35570a67aed17b72a2cf8d0b219",
        "1ca39ab9d21ac93f94b9e3eb364ea9a5cf2aba06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:11:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:11:52 2012 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.infradead.org/users/eparis/notify\n\nPull filesystem notification updates from Eric Paris:\n \"This pull mostly is about locking changes in the fsnotify system.  By\n  switching the group lock from a spin_lock() to a mutex() we can now\n  hold the lock across things like iput().  This fixes a problem\n  involving unmounting a fs and having inodes be busy, first pointed out\n  by FAT, but reproducible with tmpfs.\n\n  This also restores signal driven I/O for inotify, which has been\n  broken since about 2.6.32.\"\n\nUgh.  I *hate* the timing of this.  It was rebased after the merge\nwindow opened, and then left to sit with the pull request coming the day\nbefore the merge window closes.  That\u0027s just crap.  But apparently the\npatches themselves have been around for over a year, just gathering\ndust, so now it\u0027s suddenly critical.\n\nFixed up semantic conflict in fs/notify/fdinfo.c as per Stephen\nRothwell\u0027s fixes from -next.\n\n* \u0027for-next\u0027 of git://git.infradead.org/users/eparis/notify:\n  inotify: automatically restart syscalls\n  inotify: dont skip removal of watch descriptor if creation of ignored event failed\n  fanotify: dont merge permission events\n  fsnotify: make fasync generic for both inotify and fanotify\n  fsnotify: change locking order\n  fsnotify: dont put marks on temporary list when clearing marks by group\n  fsnotify: introduce locked versions of fsnotify_add_mark() and fsnotify_remove_mark()\n  fsnotify: pass group to fsnotify_destroy_mark()\n  fsnotify: use a mutex instead of a spinlock to protect a groups mark list\n  fanotify: add an extra flag to mark_remove_from_mask that indicates wheather a mark should be destroyed\n  fsnotify: take groups mark_lock before mark lock\n  fsnotify: use reference counting for groups\n  fsnotify: introduce fsnotify_get_group()\n  inotify, fanotify: replace fsnotify_put_group() with fsnotify_destroy_group()\n"
    },
    {
      "commit": "4c9a44aebeaef35570a67aed17b72a2cf8d0b219",
      "tree": "abb874fe7f50671627b282f6c7fb58db5e75a2e3",
      "parents": [
        "1f0377ff088ed2971c57debc9b0c3b846ec431fd",
        "cfde819088422503b5c69e03ab7bb90f87121d4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:00:43 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 20:00:43 2012 -0800"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge the rest of Andrew\u0027s patches for -rc1:\n \"A bunch of fixes and misc missed-out-on things.\n\n  That\u0027ll do for -rc1.  I still have a batch of IPC patches which still\n  have a possible bug report which I\u0027m chasing down.\"\n\n* emailed patches from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (25 commits)\n  keys: use keyring_alloc() to create module signing keyring\n  keys: fix unreachable code\n  sendfile: allows bypassing of notifier events\n  SGI-XP: handle non-fatal traps\n  fat: fix incorrect function comment\n  Documentation: ABI: remove testing/sysfs-devices-node\n  proc: fix inconsistent lock state\n  linux/kernel.h: fix DIV_ROUND_CLOSEST with unsigned divisors\n  memcg: don\u0027t register hotcpu notifier from -\u003ecss_alloc()\n  checkpatch: warn on uapi #includes that #include \u003cuapi/...\n  revert \"rtc: recycle id when unloading a rtc driver\"\n  mm: clean up transparent hugepage sysfs error messages\n  hfsplus: add error message for the case of failure of sync fs in delayed_sync_fs() method\n  hfsplus: rework processing of hfs_btree_write() returned error\n  hfsplus: rework processing errors in hfsplus_free_extents()\n  hfsplus: avoid crash on failed block map free\n  kcmp: include linux/ptrace.h\n  drivers/rtc/rtc-imxdi.c: must include \u003clinux/spinlock.h\u003e\n  mm: cma: WARN if freed memory is still in use\n  exec: do not leave bprm-\u003einterp on stack\n  ...\n"
    },
    {
      "commit": "1f0377ff088ed2971c57debc9b0c3b846ec431fd",
      "tree": "cd53c8981269e57e38e4285abd71cc990e1cfc67",
      "parents": [
        "54d46ea993744c5408e39ce0cb4851e13cbea716",
        "b729d75d19777a5dd34672020516eada43ff026f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:14:31 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:14:31 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull VFS update from Al Viro:\n \"fscache fixes, ESTALE patchset, vmtruncate removal series, assorted\n  misc stuff.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (79 commits)\n  vfs: make lremovexattr retry once on ESTALE error\n  vfs: make removexattr retry once on ESTALE\n  vfs: make llistxattr retry once on ESTALE error\n  vfs: make listxattr retry once on ESTALE error\n  vfs: make lgetxattr retry once on ESTALE\n  vfs: make getxattr retry once on an ESTALE error\n  vfs: allow lsetxattr() to retry once on ESTALE errors\n  vfs: allow setxattr to retry once on ESTALE errors\n  vfs: allow utimensat() calls to retry once on an ESTALE error\n  vfs: fix user_statfs to retry once on ESTALE errors\n  vfs: make fchownat retry once on ESTALE errors\n  vfs: make fchmodat retry once on ESTALE errors\n  vfs: have chroot retry once on ESTALE error\n  vfs: have chdir retry lookup and call once on ESTALE error\n  vfs: have faccessat retry once on an ESTALE error\n  vfs: have do_sys_truncate retry once on an ESTALE error\n  vfs: fix renameat to retry on ESTALE errors\n  vfs: make do_unlinkat retry once on ESTALE errors\n  vfs: make do_rmdir retry once on ESTALE errors\n  vfs: add a flags argument to user_path_parent\n  ...\n"
    },
    {
      "commit": "54d46ea993744c5408e39ce0cb4851e13cbea716",
      "tree": "8e38fa92cc2ae72e0353c44e1e68be9bf5a7a058",
      "parents": [
        "f59dc2bb5a50b26ea751f9eac1c81e4cc7de5257",
        "50ececcfa7d1acee085b2c518cad495062db6379"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 18:05:28 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull signal handling cleanups from Al Viro:\n \"sigaltstack infrastructure + conversion for x86, alpha and um,\n  COMPAT_SYSCALL_DEFINE infrastructure.\n\n  Note that there are several conflicts between \"unify\n  SS_ONSTACK/SS_DISABLE definitions\" and UAPI patches in mainline;\n  resolution is trivial - just remove definitions of SS_ONSTACK and\n  SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and\n  include/uapi/linux/signal.h contains the unified variant.\"\n\nFixed up conflicts as per Al.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  alpha: switch to generic sigaltstack\n  new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those\n  generic compat_sys_sigaltstack()\n  introduce generic sys_sigaltstack(), switch x86 and um to it\n  new helper: compat_user_stack_pointer()\n  new helper: restore_altstack()\n  unify SS_ONSTACK/SS_DISABLE definitions\n  new helper: current_user_stack_pointer()\n  missing user_stack_pointer() instances\n  Bury the conditionals from kernel_thread/kernel_execve series\n  COMPAT_SYSCALL_DEFINE: infrastructure\n"
    },
    {
      "commit": "a68c2f12b4b28994aaf622bbe5724b7258cc2fcf",
      "tree": "c78116c77b068c3b57aa3bdddd40c2ecdd0d5a9f",
      "parents": [
        "891348ca0f66206f1dc0e30d63757e3df1ae2d15"
      ],
      "author": {
        "name": "Scott Wolchok",
        "email": "swolchok@umich.edu",
        "time": "Thu Dec 20 15:05:52 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:21 2012 -0800"
      },
      "message": "sendfile: allows bypassing of notifier events\n\ndo_sendfile() in fs/read_write.c does not call the fsnotify functions,\nunlike its neighbors.  This manifests as a lack of inotify ACCESS events\nwhen a file is sent using sendfile(2).\n\nAddresses\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d12812\n\n[akpm@linux-foundation.org: use fsnotify_modify(out.file), not fsnotify_access(), per Dave]\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Scott Wolchok \u003cswolchok@umich.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c39540c6d1add1d0ad843b3d2437311924193359",
      "tree": "5ae43f403927e7822897cc423565442fc4bdb360",
      "parents": [
        "99bbb2b0d4431e67d11a98f66a6ef8fcd8622649"
      ],
      "author": {
        "name": "Ravishankar N",
        "email": "cyberax82@gmail.com",
        "time": "Thu Dec 20 15:05:46 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:20 2012 -0800"
      },
      "message": "fat: fix incorrect function comment\n\nfat_search_long() returns 0 on success, -ENOENT/ENOMEM on failure.\nChange the function comment accordingly.\n\nWhile at it, fix some trivial typos.\n\nSigned-off-by: Ravishankar N \u003ccyberax82@gmail.com\u003e\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ee297209bf0a25c6717b7c063e76795142d32f37",
      "tree": "7783b18e70c4bd5856727f6db4100a3b45ffb23b",
      "parents": [
        "c4e18497d8fd92eef2c6e7eadcc1a107ccd115ea"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "xtfeng@gmail.com",
        "time": "Thu Dec 20 15:05:44 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:20 2012 -0800"
      },
      "message": "proc: fix inconsistent lock state\n\nLockdep found an inconsistent lock state when rcu is processing delayed\nwork in softirq.  Currently, kernel is using spin_lock/spin_unlock to\nprotect proc_inum_ida, but proc_free_inum is called by rcu in softirq\ncontext.\n\nUse spin_lock_bh/spin_unlock_bh fix following lockdep warning.\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: inconsistent lock state ]\n  3.7.0 #36 Not tainted\n  ---------------------------------\n  inconsistent {SOFTIRQ-ON-W} -\u003e {IN-SOFTIRQ-W} usage.\n  swapper/1/0 [HC0[0]:SC1[1]:HE1:SE0] takes:\n   (proc_inum_lock){+.?...}, at: proc_free_inum+0x1c/0x50\n  {SOFTIRQ-ON-W} state was registered at:\n     __lock_acquire+0x8ae/0xca0\n     lock_acquire+0x199/0x200\n     _raw_spin_lock+0x41/0x50\n     proc_alloc_inum+0x4c/0xd0\n     alloc_mnt_ns+0x49/0xc0\n     create_mnt_ns+0x25/0x70\n     mnt_init+0x161/0x1c7\n     vfs_caches_init+0x107/0x11a\n     start_kernel+0x348/0x38c\n     x86_64_start_reservations+0x131/0x136\n     x86_64_start_kernel+0x103/0x112\n  irq event stamp: 2993422\n  hardirqs last  enabled at (2993422):  _raw_spin_unlock_irqrestore+0x55/0x80\n  hardirqs last disabled at (2993421):  _raw_spin_lock_irqsave+0x29/0x70\n  softirqs last  enabled at (2993394):  _local_bh_enable+0x13/0x20\n  softirqs last disabled at (2993395):  call_softirq+0x1c/0x30\n\n  other info that might help us debug this:\n   Possible unsafe locking scenario:\n\n         CPU0\n         ----\n    lock(proc_inum_lock);\n    \u003cInterrupt\u003e\n      lock(proc_inum_lock);\n\n   *** DEADLOCK ***\n\n  no locks held by swapper/1/0.\n\n  stack backtrace:\n  Pid: 0, comm: swapper/1 Not tainted 3.7.0 #36\n  Call Trace:\n   \u003cIRQ\u003e  [\u003cffffffff810a40f1\u003e] ? vprintk_emit+0x471/0x510\n    print_usage_bug+0x2a5/0x2c0\n    mark_lock+0x33b/0x5e0\n    __lock_acquire+0x813/0xca0\n    lock_acquire+0x199/0x200\n    _raw_spin_lock+0x41/0x50\n    proc_free_inum+0x1c/0x50\n    free_pid_ns+0x1c/0x50\n    put_pid_ns+0x2e/0x50\n    put_pid+0x4a/0x60\n    delayed_put_pid+0x12/0x20\n    rcu_process_callbacks+0x462/0x790\n    __do_softirq+0x1b4/0x3b0\n    call_softirq+0x1c/0x30\n    do_softirq+0x59/0xd0\n    irq_exit+0x54/0xd0\n    smp_apic_timer_interrupt+0x95/0xa3\n    apic_timer_interrupt+0x72/0x80\n    cpuidle_enter_tk+0x10/0x20\n    cpuidle_enter_state+0x17/0x50\n    cpuidle_idle_call+0x287/0x520\n    cpu_idle+0xba/0x130\n    start_secondary+0x2b3/0x2bc\n\nSigned-off-by: Xiaotian Feng \u003cdannyfeng@tencent.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bffdd661bd424ea4298639805bfcbcaf8ffb62f2",
      "tree": "067289fcb418e88ff96a1ec6e6d9729fedac73f3",
      "parents": [
        "81cc7fad552bc9e4fa8c1f25becbecaaa1d41b67"
      ],
      "author": {
        "name": "Vyacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Thu Dec 20 15:05:29 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:20 2012 -0800"
      },
      "message": "hfsplus: add error message for the case of failure of sync fs in delayed_sync_fs() method\n\nAdd an error message for the case of failure of sync fs in\ndelayed_sync_fs() method.\n\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81cc7fad552bc9e4fa8c1f25becbecaaa1d41b67",
      "tree": "fc82e6cae25518901a794ad7a2dd7cb6e7252c1e",
      "parents": [
        "1b243fd39bd605cdfc482bba4e56b0cb34b28f27"
      ],
      "author": {
        "name": "Vyacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Thu Dec 20 15:05:28 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "hfsplus: rework processing of hfs_btree_write() returned error\n\nAdd to hfs_btree_write() a return of -EIO on failure of b-tree node\nsearching.  Also add logic ofor processing errors from hfs_btree_write()\nin hfsplus_system_write_inode() with a message about b-tree writing\nfailure.\n\n[akpm@linux-foundation.org: reduce scope of `err\u0027, print errno on error]\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1b243fd39bd605cdfc482bba4e56b0cb34b28f27",
      "tree": "a9884f04fc58cf78cd0eb7219b1230b7e7097064",
      "parents": [
        "5daa669c80c121ab75ecdf1c8e2df52f072fd25e"
      ],
      "author": {
        "name": "Vyacheslav Dubeyko",
        "email": "slava@dubeyko.com",
        "time": "Thu Dec 20 15:05:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "hfsplus: rework processing errors in hfsplus_free_extents()\n\nCurrently, it doesn\u0027t process error codes from the hfsplus_block_free()\ncall in hfsplus_free_extents() method.  Add some error code processing.\n\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5daa669c80c121ab75ecdf1c8e2df52f072fd25e",
      "tree": "2b630dfed7fe5a88c1defe53dcdad10fee4d33f5",
      "parents": [
        "44fd07e989a9a27476d8963296688127a4fd4df4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Dec 20 15:05:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "hfsplus: avoid crash on failed block map free\n\nIf the read fails we kmap an error code.  This doesn\u0027t end well.  Instead\nprint a critical error and pray.  This mirrors the rest of the fs\nbehaviour with critical error cases.\n\nAcked-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Vyacheslav Dubeyko \u003cslava@dubeyko.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Hin-Tak Leung \u003chtl10@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b66c5984017533316fd1951770302649baf1aa33",
      "tree": "78d1e5fc82a057c62699734602c8e5f7ca86b7a2",
      "parents": [
        "9f9c9cbb60576a1518d0bf93fb8e499cffccf377"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Thu Dec 20 15:05:16 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 20 17:40:19 2012 -0800"
      },
      "message": "exec: do not leave bprm-\u003einterp on stack\n\nIf a series of scripts are executed, each triggering module loading via\nunprintable bytes in the script header, kernel stack contents can leak\ninto the command line.\n\nNormally execution of binfmt_script and binfmt_misc happens recursively.\nHowever, when modules are enabled, and unprintable bytes exist in the\nbprm-\u003ebuf, execution will restart after attempting to load matching\nbinfmt modules.  Unfortunately, the logic in binfmt_script and\nbinfmt_misc does not expect to get restarted.  They leave bprm-\u003einterp\npointing to their local stack.  This means on restart bprm-\u003einterp is\nleft pointing into unused stack memory which can then be copied into the\nuserspace argv areas.\n\nAfter additional study, it seems that both recursion and restart remains\nthe desirable way to handle exec with scripts, misc, and modules.  As\nsuch, we need to protect the changes to interp.\n\nThis changes the logic to require allocation for any changes to the\nbprm-\u003einterp.  To avoid adding a new kmalloc to every exec, the default\nvalue is left as-is.  Only when passing through binfmt_script or\nbinfmt_misc does an allocation take place.\n\nFor a proof of concept, see DoTest.sh from:\n\n   http://www.halfdog.net/Security/2012/LinuxKernelBinfmtScriptStackDataDisclosure/\n\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nCc: halfdog \u003cme@halfdog.net\u003e\nCc: P J P \u003cppandit@redhat.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@vger.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": "b729d75d19777a5dd34672020516eada43ff026f",
      "tree": "b5419b7700f6763a96d3e41b0e5beb193e6ca551",
      "parents": [
        "12f06212990400db1b54bd7b49b7f6f5f1b32469"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:18 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:11 2012 -0500"
      },
      "message": "vfs: make lremovexattr retry once on ESTALE error\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "12f06212990400db1b54bd7b49b7f6f5f1b32469",
      "tree": "5827504989d57e2f31613aac63f46d2e2781a964",
      "parents": [
        "bd9bbc9842bde1b14046cdbda1153f0d49061135"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:17 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:10 2012 -0500"
      },
      "message": "vfs: make removexattr retry once on ESTALE\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bd9bbc9842bde1b14046cdbda1153f0d49061135",
      "tree": "7dc71b051248d1789e8d0bef74ada4387dd2b76e",
      "parents": [
        "10a90cf36efe0fca5c7719fd9b0299abd6be51aa"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:17 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:10 2012 -0500"
      },
      "message": "vfs: make llistxattr retry once on ESTALE error\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "10a90cf36efe0fca5c7719fd9b0299abd6be51aa",
      "tree": "d294e38f08018f63909faa02f56cedefd52f95a2",
      "parents": [
        "3a3e159dbfe405517584b09bbcefd72115d93342"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:16 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:10 2012 -0500"
      },
      "message": "vfs: make listxattr retry once on ESTALE error\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3a3e159dbfe405517584b09bbcefd72115d93342",
      "tree": "e3f4873b966e90dd0ab28482f17958f7c53f9246",
      "parents": [
        "60e66b48ca20819d97ec4851007accc0b013985a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:16 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:09 2012 -0500"
      },
      "message": "vfs: make lgetxattr retry once on ESTALE\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "60e66b48ca20819d97ec4851007accc0b013985a",
      "tree": "586eb8952207bf554639caab93e6fb91477effe5",
      "parents": [
        "49e09e1cc576daa99ea22f3a3c699062c34f8c0f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:16 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:09 2012 -0500"
      },
      "message": "vfs: make getxattr retry once on an ESTALE error\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "49e09e1cc576daa99ea22f3a3c699062c34f8c0f",
      "tree": "c4f24094db83a0b24cad41ef20803e312f0fa18f",
      "parents": [
        "68f1bb8bb89e0bb813c893a42373a26ebdab7f9c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:15 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:09 2012 -0500"
      },
      "message": "vfs: allow lsetxattr() to retry once on ESTALE errors\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "68f1bb8bb89e0bb813c893a42373a26ebdab7f9c",
      "tree": "45be5b0fc0e490488a1e6c82fc7c51148edff8cb",
      "parents": [
        "a69201d6f08240f20a0d33a1b7273d1e7748791c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:15 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:08 2012 -0500"
      },
      "message": "vfs: allow setxattr to retry once on ESTALE errors\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a69201d6f08240f20a0d33a1b7273d1e7748791c",
      "tree": "609495e85765dac924c69a229dde05ed1cc0baff",
      "parents": [
        "96948fc6069b68380abac2944b8b02b43a2e2057"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:14 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:08 2012 -0500"
      },
      "message": "vfs: allow utimensat() calls to retry once on an ESTALE error\n\nClearly, we can\u0027t handle the NULL filename case, but we can deal with\nthe case where there\u0027s a real pathname.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "96948fc6069b68380abac2944b8b02b43a2e2057",
      "tree": "7183ec09a0c317d2b6fbe71ca3e15dfab8e107cd",
      "parents": [
        "99a5df37a03c99e57d0da4f847a515b658963fbb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 11 12:10:14 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 20 18:50:07 2012 -0500"
      },
      "message": "vfs: fix user_statfs to retry once on ESTALE errors\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "99a5df37a03c99e57d0da4f847a515b658963fbb"
}
