)]}'
{
  "log": [
    {
      "commit": "eda4b716ea1f2a647a39cebae66b3fae4c4b80e4",
      "tree": "ab4318b72be4635c1213aa0def631e1169307660",
      "parents": [
        "55fb78a3a80348d87b2e3d79f61f8a9252dd86f5",
        "7d8f98769e7f4bc29c38789daeb416c6a7d7c241"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 23 16:36:48 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 23 16:36:48 2010 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: Fix system inodes cache overflow.\n  ocfs2: Hold ip_lock when set/clear flags for indexed dir.\n  ocfs2: Adjust masklog flag values\n  Ocfs2: Teach \u0027coherency\u003dfull\u0027 O_DIRECT writes to correctly up_read i_alloc_sem.\n  ocfs2/dlm: Migrate lockres with no locks if it has a reference\n"
    },
    {
      "commit": "55fb78a3a80348d87b2e3d79f61f8a9252dd86f5",
      "tree": "7f5ee9be42840f7c5a6045a481187e59679e41f6",
      "parents": [
        "08861c713c1314d5b7329a290b5d53ad711112c3",
        "8a7411a24350bac141271755c66f40c56b0535ae"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 23 16:25:31 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 23 16:25:31 2010 -0800"
      },
      "message": "Merge branch \u0027linus-hot-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027linus-hot-fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix on-line resizing regression\n"
    },
    {
      "commit": "8a7411a24350bac141271755c66f40c56b0535ae",
      "tree": "ed77dcde1fe4122f291c6fda3def7e776fa8bdf8",
      "parents": [
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Dec 20 22:30:36 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Dec 23 15:00:54 2010 -0500"
      },
      "message": "ext4: fix on-line resizing regression\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d25352\n\nThis regression was caused by commit a31437b85: \"ext4: use\nsb_issue_zeroout in setup_new_group_blocks\", by accidentally dropping\nthe code which reserved the block group descriptor and inode table\nblocks.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f06328d7721ad3852c45eb2a10a0c8f9439b5f33",
      "tree": "739a5e8e3c0a38dccc18e9155add4ec9a528c8d1",
      "parents": [
        "eabb26cacdec33ca6f6fcaee762b57c2205169ca"
      ],
      "author": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi124@gmail.com",
        "time": "Tue Dec 21 17:24:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 22 19:43:33 2010 -0800"
      },
      "message": "logfs: fix \"Kernel BUG at readwrite.c:1193\"\n\nThis happens when __logfs_create() tries to write a new inode to the disk\nwhich is full.\n\n__logfs_create() associates the transaction pointer with inode.  During\nthe logfs_write_inode() function call chain this transaction pointer is\nmoved from inode to page-\u003eprivate using function move_inode_to_page\n(do_write_inode() -\u003e inode_to_page() -\u003e move_inode_to_page)\n\nWhen the write inode fails, the transaction is aborted and iput is called\non the failed inode.  During delete_inode the same transaction pointer\nassociated with the page is getting used.  Thus causing kernel BUG.\n\nThe patch checks for error in write_inode() and restores the page-\u003eprivate\nto NULL.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d20162\n\nSigned-off-by: Prasad Joshi \u003cprasadjoshi124@gmail.com\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Florian Mickler \u003cflorian@mickler.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Maciej Rutecki \u003cmaciej.rutecki@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eabb26cacdec33ca6f6fcaee762b57c2205169ca",
      "tree": "aa6975de08a6843d7d23f741644b2b3fca2980b4",
      "parents": [
        "7a2d19bced51af31d2c9ff55219400ed0a6c012f"
      ],
      "author": {
        "name": "Prasad Joshi",
        "email": "prasadjoshi124@gmail.com",
        "time": "Tue Dec 21 17:24:19 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 22 19:43:33 2010 -0800"
      },
      "message": "logfs: fix deadlock in logfs_get_wblocks, hold and wait on super-\u003es_write_mutex\n\ndo_logfs_journal_wl_pass() should use GFP_NOFS for memory allocation GC\ncode calls btree_insert32 with GFP_KERNEL while holding a mutex\nsuper-\u003es_write_mutex.\n\nThe same mutex is used in address_space_operations-\u003ewritepage(), and a\ncall to writepage() could be triggered as a result of memory allocation\nin btree_insert32, causing a deadlock.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d20342\n\nSigned-off-by: Prasad Joshi \u003cprasadjoshi124@gmail.com\u003e\nCc: Joern Engel \u003cjoern@logfs.org\u003e\nCc: Florian Mickler \u003cflorian@mickler.org\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Maciej Rutecki \u003cmaciej.rutecki@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d8f98769e7f4bc29c38789daeb416c6a7d7c241",
      "tree": "2b39ff7878cc4d4f8736a64764fffbfaf63aa474",
      "parents": [
        "8ac33dc86d37ca76d282aa112d4f2794a731064e"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Dec 22 17:50:30 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Wed Dec 22 02:35:36 2010 -0800"
      },
      "message": "ocfs2: Fix system inodes cache overflow.\n\nWhen we store system inodes cache in ocfs2_super,\nwe use a array for global system inodes. But unfortunately,\nthe range is calculated wrongly which makes it overflow and\npollute ocfs2_super-\u003elocal_system_inodes.\nThis patch fix it by setting the range properly.\n\nThe corresponding bug is ossbug1303.\nhttp://oss.oracle.com/bugzilla/show_bug.cgi?id\u003d1303\n\nCc: stable@kernel.org\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "9d5004fcf6e4e8caa9efbc25c9f85059b165329c",
      "tree": "7f1b53d5487ffabb7be6e1f5b5b964448651b5bc",
      "parents": [
        "453434cf3fdcd3954bb52460e37d4945a0913d3e",
        "361cf40519a491f68b28ad90225e4611c4bf8e12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 20 21:32:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 20 21:32:20 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: handle partial result from get_user_pages\n  ceph: mark user pages dirty on direct-io reads\n  ceph: fix null pointer dereference in ceph_init_dentry for nfs reexport\n  ceph: fix direct-io on non-page-aligned buffers\n  ceph: fix msgr_init error path\n"
    },
    {
      "commit": "3cb50ddf97a0a1ca4c68bc12fa1e727a6b45fbf2",
      "tree": "d0b6c48e52bcccdd67c0d440a7ac7629404394fd",
      "parents": [
        "b8da46d3d55807037b58f14621a0949f18053bde"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Mon Dec 20 15:53:18 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 20 09:09:57 2010 -0800"
      },
      "message": "Fix btrfs b0rkage\n\nBuggered-in: 76dda93c6ae2 (\"Btrfs: add snapshot/subvolume destroy\nioctl\")\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nAcked-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6aa5901c7a2bd90d0b6b9866300d2648b2568f3",
      "tree": "1161ed9dbacb7ace73c5d48fc9acd1db0d7815d5",
      "parents": [
        "92cf765237e2787eb168096305c448caf25ac7f8"
      ],
      "author": {
        "name": "Henry C Chang",
        "email": "henry_c_chang@tcloudcomputing.com",
        "time": "Wed Dec 15 20:45:41 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Dec 17 09:54:40 2010 -0800"
      },
      "message": "ceph: mark user pages dirty on direct-io reads\n\nFor read operation, we have to set the argument _write_ of get_user_pages\nto 1 since we will write data to pages. Also, we need to SetPageDirty before\nreleasing these pages.\n\nSigned-off-by: Henry C Chang \u003chenry_c_chang@tcloudcomputing.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "92cf765237e2787eb168096305c448caf25ac7f8",
      "tree": "089f6d5a0f979ca858295cbf616ee2e85a62680f",
      "parents": [
        "ab226e21ad34f6ef52e00d2ab399d2364b4cdfee"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Dec 17 09:53:41 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Dec 17 09:53:48 2010 -0800"
      },
      "message": "ceph: fix null pointer dereference in ceph_init_dentry for nfs reexport\n\nThe fh_to_dentry etc. methods use ceph_init_dentry(), which assumes that\nd_parent is defined.  It isn\u0027t for those callers, so check!\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a3383e8372c0c11238f9bb9777929bfc3a2d320a",
      "tree": "1eb117842e70b17e8b7e96a955cd0ef6f0f40732",
      "parents": [
        "68a4ec9c03461e94a9577cf499069621bb074833",
        "7d13162332f2b67a941d18cee20f1c0413e020de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 15:45:49 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 16 15:45:49 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify\n\n* \u0027for-linus\u0027 of git://git.infradead.org/users/eparis/notify:\n  fanotify: fill in the metadata_len field on struct fanotify_event_metadata\n  fanotify: split version into version and metadata_len\n  fanotify: Dont try to open a file descriptor for the overflow event\n  fanotify: Introduce FAN_NOFD\n  fanotify: do not leak user reference on allocation failure\n  inotify: stop kernel memory leak on file creation failure\n  fanotify: on group destroy allow all waiters to bypass permission check\n  fanotify: Dont allow a mask of 0 if setting or removing a mark\n  fanotify: correct broken ref counting in case adding a mark failed\n  fanotify: if set by user unset FMODE_NONOTIFY before fsnotify_perm() is called\n  fanotify: remove packed from access response message\n  fanotify: deny permissions when no event was sent\n"
    },
    {
      "commit": "8ac33dc86d37ca76d282aa112d4f2794a731064e",
      "tree": "1631d3643087ebb52da9eb8ec084e7191ab20e75",
      "parents": [
        "41b41a26d4d6e4e3ad877d02377844ab9552dc16"
      ],
      "author": {
        "name": "Tao Ma",
        "email": "boyu.mt@taobao.com",
        "time": "Wed Dec 15 16:30:00 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 16 00:36:15 2010 -0800"
      },
      "message": "ocfs2: Hold ip_lock when set/clear flags for indexed dir.\n\nWhen we set/clear the dyn_features for an inode we hold the ip_lock.\nSo do it when we set/clear OCFS2_INDEXED_DIR_FL also.\n\nSigned-off-by: Tao Ma \u003cboyu.mt@taobao.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "41b41a26d4d6e4e3ad877d02377844ab9552dc16",
      "tree": "aa548b86e18c1765e6153123187e65d45be76d06",
      "parents": [
        "39c99f12f15c8bf8257985d9b2a2548a03d18c00"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Thu Dec 09 18:20:38 2010 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 16 00:36:11 2010 -0800"
      },
      "message": "ocfs2: Adjust masklog flag values\n\nTwo masklogs had the same flag value.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "947b10ae0aeda89fc066a7470fdba55f72b0b8fc",
      "tree": "93934dcf6b7709ed40e861d3b586f2c3f37f4151",
      "parents": [
        "b0c3844d8af6b9f3f18f31e1b0502fbefa2166be"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Dec 16 09:57:57 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Thu Dec 16 14:35:18 2010 +0900"
      },
      "message": "nilfs2: fix regression of garbage collection ioctl\n\nOn 2.6.37-rc1, garbage collection ioctl of nilfs was broken due to the\ncommit 263d90cefc7d82a0 (\"nilfs2: remove own inode hash used for GC\"),\nand leading to filesystem corruption.\n\nThe patch doesn\u0027t queue gc-inodes for log writer if they are reused\nthrough the vfs inode cache.  Here, gc-inode is the inode which\nbuffers blocks to be relocated on GC.  That patch queues gc-inodes in\nnilfs_init_gcinode() function, but this function is not called when\nthey don\u0027t have I_NEW flag.  Thus, some of live blocks are wrongly\noverrode without being moved to new logs.\n\nThis resolves the problem by moving the gc-inode queueing to an outer\nfunction to ensure it\u0027s done right.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "ab226e21ad34f6ef52e00d2ab399d2364b4cdfee",
      "tree": "95b9683b601a0602d9f813f7e6786e9a0e6da118",
      "parents": [
        "d96c9043d1588f04c7f467167f653c07d83232d5"
      ],
      "author": {
        "name": "Henry C Chang",
        "email": "henry_c_chang@tcloudcomputing.com",
        "time": "Wed Dec 15 20:41:54 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 15 20:46:16 2010 -0800"
      },
      "message": "ceph: fix direct-io on non-page-aligned buffers\n\nThe user buffer may be 512-byte aligned, not page-aligned.  We were\nassuming the buffer was page-aligned and only accounting for\nnon-page-aligned io offsets.\n\nSigned-off-by: Henry C Chang \u003chenry_c_chang@tcloudcomputing.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "a4851d8f7d6351a395d36ae8fdcf41745a832d76",
      "tree": "e1d62324316e36eea0146cb9714378edc77f458d",
      "parents": [
        "667c78afaec0ac500908e191e8f236e9578d7b1f",
        "6d5c3aa84b3e431f2d0fc39c73c867d1a4dd8cff"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 12:41:17 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 12:41:17 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: fix typo which broke \u0027..\u0027 detection in ext4_find_entry()\n  ext4: Turn off multiple page-io submission by default\n"
    },
    {
      "commit": "462e635e5b73ba9a4c03913b77138cd57ce4b050",
      "tree": "6ff0e84eecc6252d41d7c08730018c0149e7227f",
      "parents": [
        "0fcdcfbbc98f70f559e4b36773a69972489a6d8f"
      ],
      "author": {
        "name": "Tavis Ormandy",
        "email": "taviso@cmpxchg8b.com",
        "time": "Thu Dec 09 15:29:42 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 15 12:30:36 2010 -0800"
      },
      "message": "install_special_mapping skips security_file_mmap check.\n\nThe install_special_mapping routine (used, for example, to setup the\nvdso) skips the security check before insert_vm_struct, allowing a local\nattacker to bypass the mmap_min_addr security restriction by limiting\nthe available pages for special mappings.\n\nbprm_mm_init() also skips the check, and although I don\u0027t think this can\nbe used to bypass any restrictions, I don\u0027t see any reason not to have\nthe security check.\n\n  $ uname -m\n  x86_64\n  $ cat /proc/sys/vm/mmap_min_addr\n  65536\n  $ cat install_special_mapping.s\n  section .bss\n      resb BSS_SIZE\n  section .text\n      global _start\n      _start:\n          mov     eax, __NR_pause\n          int     0x80\n  $ nasm -D__NR_pause\u003d29 -DBSS_SIZE\u003d0xfffed000 -f elf -o install_special_mapping.o install_special_mapping.s\n  $ ld -m elf_i386 -Ttext\u003d0x10000 -Tbss\u003d0x11000 -o install_special_mapping install_special_mapping.o\n  $ ./install_special_mapping \u0026\n  [1] 14303\n  $ cat /proc/14303/maps\n  0000f000-00010000 r-xp 00000000 00:00 0                                  [vdso]\n  00010000-00011000 r-xp 00001000 00:19 2453665                            /home/taviso/install_special_mapping\n  00011000-ffffe000 rwxp 00000000 00:00 0                                  [stack]\n\nIt\u0027s worth noting that Red Hat are shipping with mmap_min_addr set to\n4096.\n\nSigned-off-by: Tavis Ormandy \u003ctaviso@google.com\u003e\nAcked-by: Kees Cook \u003ckees@ubuntu.com\u003e\nAcked-by: Robert Swiecki \u003cswiecki@google.com\u003e\n[ Changed to not drop the error code - akpm ]\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7d13162332f2b67a941d18cee20f1c0413e020de",
      "tree": "a9e40f802579e750fbf75e025e9cee7c760ca558",
      "parents": [
        "62731fa0c893515dc6cbc3e0a2879a92793c735f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 15:27:57 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Dec 15 13:58:18 2010 -0500"
      },
      "message": "fanotify: fill in the metadata_len field on struct fanotify_event_metadata\n\nThe fanotify_event_metadata now has a field which is supposed to\nindicate the length of the metadata portion of the event.  Fill in that\nfield as well.\n\nBased-in-part-on-patch-by: Alexey Zaytsev \u003calexey.zaytsev@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "6d5c3aa84b3e431f2d0fc39c73c867d1a4dd8cff",
      "tree": "d03a2ddc636597d96e9333dd79bae22314564e67",
      "parents": [
        "1449032be17abb69116dbc393f67ceb8bd034f92"
      ],
      "author": {
        "name": "Aaro Koskinen",
        "email": "aaro.koskinen@nokia.com",
        "time": "Tue Dec 14 21:45:31 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 14 21:45:31 2010 -0500"
      },
      "message": "ext4: fix typo which broke \u0027..\u0027 detection in ext4_find_entry()\n\nThere should be a check for the NUL character instead of \u00270\u0027.\n\nFortunately the only thing that cares about this is NFS serving, which\nis why we didn\u0027t notice this in the merge window testing.\n\nReported-by: Phil Carmody \u003cext-phil.2.carmody@nokia.com\u003e\nSigned-off-by: Aaro Koskinen \u003caaro.koskinen@nokia.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1449032be17abb69116dbc393f67ceb8bd034f92",
      "tree": "f62757457241c2fdc14105afc12cb2718f7a2e68",
      "parents": [
        "e8a7e48bb248a1196484d3f8afa53bded2b24e71"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 14 15:27:50 2010 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 14 15:27:50 2010 -0500"
      },
      "message": "ext4: Turn off multiple page-io submission by default\n\nJon Nelson has found a test case which causes postgresql to fail with\nthe error:\n\npsql:t.sql:4: ERROR: invalid page header in block 38269 of relation base/16384/16581\n\nUnder memory pressure, it looks like part of a file can end up getting\nreplaced by zero\u0027s.  Until we can figure out the cause, we\u0027ll roll\nback the change and use block_write_full_page() instead of\next4_bio_write_page().  The new, more efficient writing function can\nbe used via the mount option mblk_io_submit, so we can test and fix\nthe new page I/O code.\n\nTo reproduce the problem, install postgres 8.4 or 9.0, and pin enough\nmemory such that the system just at the end of triggering writeback\nbefore running the following sql script:\n\nbegin;\ncreate temporary table foo as select x as a, ARRAY[x] as b FROM\ngenerate_series(1, 10000000 ) AS x;\ncreate index foo_a_idx on foo (a);\ncreate index foo_b_idx on foo USING GIN (b);\nrollback;\n\nIf the temporary table is created on a hard drive partition which is\nencrypted using dm_crypt, then under memory pressure, approximately\n30-40% of the time, pgsql will issue the above failure.\n\nThis patch should fix this problem, and the problem will come back if\nthe file system is mounted with the mblk_io_submit mount option.\n\nReported-by: Jon Nelson \u003cjnelson@jamponi.net\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5111711d3ed8f4f1012cac3ec3f2b463b549fbfd",
      "tree": "dc44d88bc66d3e7ec4d1c9180d6d4289fe7c5901",
      "parents": [
        "e13cf63f2bbd38721af557f0205da994ea068427",
        "c1ac3ffcd0bc7e9617f62be8c7043d53ab84deac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:09:05 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:09:05 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.37\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: Fix possible BUG_ON firing in set_change_info\n  sunrpc: prevent use-after-free on clearing XPT_BUSY\n"
    },
    {
      "commit": "e13cf63f2bbd38721af557f0205da994ea068427",
      "tree": "26d0d779fadd58814eea18ab2b16370a8565c837",
      "parents": [
        "073f21ae1319348f4f8630003b7901e3be254327",
        "83a50de97fe96aca82389e061862ed760ece2283"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:08:13 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:08:13 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: prevent RAID level downgrades when space is low\n  Btrfs: account for missing devices in RAID allocation profiles\n  Btrfs: EIO when we fail to read tree roots\n  Btrfs: fix compiler warnings\n  Btrfs: Make async snapshot ioctl more generic\n  Btrfs: pwrite blocked when writing from the mmaped buffer of the same page\n  Btrfs: Fix a crash when mounting a subvolume\n  Btrfs: fix sync subvol/snapshot creation\n  Btrfs: Fix page leak in compressed writeback path\n  Btrfs: do not BUG if we fail to remove the orphan item for dead snapshots\n  Btrfs: fixup return code for btrfs_del_orphan_item\n  Btrfs: do not do fast caching if we are allocating blocks for tree_root\n  Btrfs: deal with space cache errors better\n  Btrfs: fix use after free in O_DIRECT\n"
    },
    {
      "commit": "073f21ae1319348f4f8630003b7901e3be254327",
      "tree": "2895f1b2c2aa0d2df792aee8afc8e4d4e691fe5c",
      "parents": [
        "497b5b13c9e946651991e0296374a15d38590ce1",
        "7572777eef78ebdee1ecb7c258c0ef94d35bad16"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:07:39 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:07:39 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: verify ioctl retries\n  fuse: fix ioctl when server is 32bit\n"
    },
    {
      "commit": "497b5b13c9e946651991e0296374a15d38590ce1",
      "tree": "ca525ba5b5cfbb72169c1a5ee5874880acc212e3",
      "parents": [
        "e97b71ded9ebe527681961c9e6f5ba99f6711974",
        "05340d4ab2ec2b6b4962c1c41c6ea8fb550f947b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:06:17 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:06:17 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: log timestamp changes to the source inode in rename\n"
    },
    {
      "commit": "e97b71ded9ebe527681961c9e6f5ba99f6711974",
      "tree": "a724e6f951456f1d855b55e3f34e3710b37f9f9a",
      "parents": [
        "38971ce2fac484249d697fe48a9b0851a0b62572",
        "1cd275f609ba46c8cae3ee77e499c54a0d13a983"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:02:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 11:02:15 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:\n  ceph: fix ioctl magic\n  ceph: Behave better when handling file lock replies.\n  ceph: pass lock information by struct file_lock instead of as individual params.\n  ceph: Handle file locks in replies from the MDS.\n  ceph: avoid possible null deref in readdir after dir llseek\n"
    },
    {
      "commit": "38971ce2fac484249d697fe48a9b0851a0b62572",
      "tree": "5ff677e2f2225a8b7971c2bb84e1c66bc4c54d38",
      "parents": [
        "caa4a59574a39e6574664e82b92455d41eca27a8",
        "5b362ac3799ff4225c40935500f520cad4d7ed66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 08:51:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 08:51:12 2010 -0800"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: Fix panic after nfs_umount()\n  nfs: remove extraneous and problematic calls to nfs_clear_request\n  nfs: kernel should return EPROTONOSUPPORT when not support NFSv4\n  NFS: Fix fcntl F_GETLK not reporting some conflicts\n  nfs: Discard ACL cache on mode update\n  NFS: Readdir cleanups\n  NFS: nfs_readdir_search_for_cookie() don\u0027t mark as eof if cookie not found\n  NFS: Fix a memory leak in nfs_readdir\n  Call the filesystem back whenever a page is removed from the page cache\n  NFS: Ensure we use the correct cookie in nfs_readdir_xdr_filler\n"
    },
    {
      "commit": "caa4a59574a39e6574664e82b92455d41eca27a8",
      "tree": "a5f67a97bf15c15ed62661ca9924e3e19081a282",
      "parents": [
        "6313e3c21743cc88bb5bd8aa72948ee1e83937b6",
        "545c988b2018a593f24d291b66776a0d08525acd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 08:49:15 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 14 08:49:15 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: remove bogus remapping of error in cifs_filldir()\n  cifs: allow calling cifs_build_path_to_root on incomplete cifs_sb\n  cifs: fix check of error return from is_path_accessable\n  cifs: remove Local_System_Name\n  cifs: fix use of CONFIG_CIFS_ACL\n  cifs: add attribute cache timeout (actimeo) tunable\n"
    },
    {
      "commit": "83a50de97fe96aca82389e061862ed760ece2283",
      "tree": "95421594f180c32cca1ff7f6881f4cf272cf2b5c",
      "parents": [
        "cd02dca56442e1504fd6bc5b96f7f1870162b266"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Dec 13 15:06:46 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Dec 13 20:07:01 2010 -0500"
      },
      "message": "Btrfs: prevent RAID level downgrades when space is low\n\nThe extent allocator has code that allows us to fill\nallocations from any available block group, even if it doesn\u0027t\nmatch the raid level we\u0027ve requested.\n\nThis was put in because adding a new drive to a filesystem\nmade with the default mkfs options actually upgrades the metadata from\nsingle spindle dup to full RAID1.\n\nBut, the code also allows us to allocate from a raid0 chunk when we\nreally want a raid1 or raid10 chunk.  This can cause big trouble because\nmkfs creates a small (4MB) raid0 chunk for data and metadata which then\ngoes unused for raid1/raid10 installs.\n\nThe allocator will happily wander in and allocate from that chunk when\nthings get tight, which is not correct.\n\nThe fix here is to make sure that we provide duplication when the\ncaller has asked for it.  It does all the dups to be any raid level,\nwhich preserves the dup-\u003eraid1 upgrade abilities.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "cd02dca56442e1504fd6bc5b96f7f1870162b266",
      "tree": "1a38d99fc581974ba6d8136c42ca81f3b1216ea3",
      "parents": [
        "68433b73b104bff388aac376631d32abbbd872b0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Dec 13 14:56:23 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Dec 13 20:06:52 2010 -0500"
      },
      "message": "Btrfs: account for missing devices in RAID allocation profiles\n\nWhen we mount in RAID degraded mode without adding a new device to\nreplace the failed one, we can end up using the wrong RAID flags for\nallocations.\n\nThis results in strange combinations of block groups (raid1 in a raid10\nfilesystem) and corruptions when we try to allocate blocks from single\nspindle chunks on drives that are actually missing.\n\nThe first device has two small 4MB chunks in it that mkfs creates and\nthese are usually unused in a raid1 or raid10 setup.  But, in -o degraded,\nthe allocator will fall back to these because the mask of desired raid groups\nisn\u0027t correct.\n\nThe fix here is to count the missing devices as we build up the list\nof devices in the system.  This count is used when picking the\nraid level to make sure we continue using the same levels that were\nin place before we lost a drive.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "68433b73b104bff388aac376631d32abbbd872b0",
      "tree": "b08c8c07f2f77e3d840b316a66a47af1210ab349",
      "parents": [
        "3dd1462e82bcab7625cec129952f26dae7a8b742"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Dec 13 14:47:58 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Dec 13 14:47:58 2010 -0500"
      },
      "message": "Btrfs: EIO when we fail to read tree roots\n\nIf we just get a plain IO error when we read tree roots, the code\nwasn\u0027t properly sending that error up the chain.  This allowed mounts to\ncontinue when they should failed, and allowed operations\non partially setup root structs.  The end result was usually oopsen\non spinlocks that hadn\u0027t been spun up correctly.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3dd1462e82bcab7625cec129952f26dae7a8b742",
      "tree": "0e4da87e5de3c71613ab6a6470b5c16d03c793a4",
      "parents": [
        "fdfb1e4f6c61477a61890b64974d65cdc3a98702"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "jbeulich@novell.com",
        "time": "Tue Dec 07 14:54:09 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Dec 10 16:29:11 2010 -0500"
      },
      "message": "Btrfs: fix compiler warnings\n\n... regarding an unused function when !MIGRATION, and regarding a\nprintk() format string vs argument mismatch.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "fdfb1e4f6c61477a61890b64974d65cdc3a98702",
      "tree": "2bb65569dfbcfe12e4d54449d018abeebf88e89d",
      "parents": [
        "914ee295af418e936ec20a08c1663eaabe4cd07a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Fri Dec 10 06:41:56 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Dec 10 16:29:11 2010 -0500"
      },
      "message": "Btrfs: Make async snapshot ioctl more generic\n\nIf we had reserved some bytes in struct btrfs_ioctl_vol_args, we\nwouldn\u0027t have to create a new structure for async snapshot creation.\n\nHere we convert async snapshot ioctl to use a more generic ABI, as\nwe\u0027ll add more ioctls for snapshots/subvolumes in the future, readonly\nsnapshots for example.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "914ee295af418e936ec20a08c1663eaabe4cd07a",
      "tree": "2e880ea913b8cbadf22b2288b5c278c2e5eadb60",
      "parents": [
        "f106e82caaa0d943e47cacc184f5b40d538e0044"
      ],
      "author": {
        "name": "Xin Zhong",
        "email": "xin.zhong@intel.com",
        "time": "Thu Dec 09 09:30:14 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Dec 10 16:29:10 2010 -0500"
      },
      "message": "Btrfs: pwrite blocked when writing from the mmaped buffer of the same page\n\nThis problem is found in meego testing:\nhttp://bugs.meego.com/show_bug.cgi?id\u003d6672\nA file in btrfs is mmaped and the mmaped buffer is passed to pwrite to write to the same page\nof the same file. In btrfs_file_aio_write(), the pages is locked by prepare_pages(). So when\nbtrfs_copy_from_user() is called, page fault happens and the same page needs to be locked again\nin filemap_fault(). The fix is to move iov_iter_fault_in_readable() before prepage_pages() to make page\nfault happen before pages are locked. And also disable page fault in critical region in\nbtrfs_copy_from_user().\n\nReviewed-by: Yan, Zheng\u003czheng.z.yan@intel.com\u003e\nSigned-off-by: Zhong, Xin \u003cxin.zhong@intel.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f106e82caaa0d943e47cacc184f5b40d538e0044",
      "tree": "5e8b6c5e0b0b35c65ed509029cda85bd54a8aab8",
      "parents": [
        "75eaa0e22c055e38982df267d0f84cc510ba38bf"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Tue Dec 07 01:51:26 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Dec 10 16:29:10 2010 -0500"
      },
      "message": "Btrfs: Fix a crash when mounting a subvolume\n\nWe should drop dentry before deactivating the superblock, otherwise\nwe can hit this bug:\n\nBUG: Dentry f349a690{i\u003d100,n\u003d/} still in use (1) [unmount of btrfs loop1]\n...\n\nSteps to reproduce the bug:\n\n  # mount /dev/loop1 /mnt\n  # mkdir save\n  # btrfs subvolume snapshot /mnt save/snap1\n  # umount /mnt\n  # mount -o subvol\u003dsave/snap1 /dev/loop1 /mnt\n  (crash)\n\nReported-by: Michael Niederle \u003cmniederle@gmx.at\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "75eaa0e22c055e38982df267d0f84cc510ba38bf",
      "tree": "073828ec809c95dbae9368b7f83a3734dad82b45",
      "parents": [
        "24ae63656a165c870c0d69fcc8aac1dc35e25e34"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Dec 10 00:36:28 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Dec 10 16:29:10 2010 -0500"
      },
      "message": "Btrfs: fix sync subvol/snapshot creation\n\nWe were incorrectly taking the async path even for the sync ioctls by\npassing in \u0026transid unconditionally.\n\nThere\u0027s ample room for further cleanup here, but this keeps the fix simple.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nReviewed-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "24ae63656a165c870c0d69fcc8aac1dc35e25e34",
      "tree": "8833bfeba51ef45e0acc42f3a23838f528e6a37e",
      "parents": [
        "84cd948cb11041f205242de457e680b9bb872a36"
      ],
      "author": {
        "name": "Yan, Zheng",
        "email": "zheng.z.yan@linux.intel.com",
        "time": "Mon Dec 06 07:02:36 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Dec 10 16:29:09 2010 -0500"
      },
      "message": "Btrfs: Fix page leak in compressed writeback path\n\n\"start + num_bytes \u003e\u003d actual_end\" can happen when compressed page writeback races\nwith file truncation. In that case we need unlock and release pages past the end\nof file.\n\nSigned-off-by: Yan, Zheng \u003czheng.z.yan@intel.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "84cd948cb11041f205242de457e680b9bb872a36",
      "tree": "479ac0dc057044a8b399c8c32f1c78641bd33740",
      "parents": [
        "7e1fea731da8c1b5fcf5d8e157befd389b030760"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Dec 08 12:24:01 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Dec 10 16:29:04 2010 -0500"
      },
      "message": "Btrfs: do not BUG if we fail to remove the orphan item for dead snapshots\n\nNot being able to delete an orphan item isn\u0027t a horrible thing.  The worst that\nhappens is the next time around we try and do the orphan cleanup and we can\u0027t\nfind the referenced object and just delete the item and move on.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "5b362ac3799ff4225c40935500f520cad4d7ed66",
      "tree": "d87be1721c648a6c7d0a2c9933d1dae361507d99",
      "parents": [
        "2df485a774ba59c3f43bfe84107672c1d9b731a0"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Fri Dec 10 12:31:14 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Fri Dec 10 13:01:50 2010 -0500"
      },
      "message": "NFS: Fix panic after nfs_umount()\n\nAfter a few unsuccessful NFS mount attempts in which the client and\nserver cannot agree on an authentication flavor both support, the\nclient panics.  nfs_umount() is invoked in the kernel in this case.\n\nTurns out nfs_umount()\u0027s UMNT RPC invocation causes the RPC client to\nwrite off the end of the rpc_clnt\u0027s iostat array.  This is because the\nmount client\u0027s nrprocs field is initialized with the count of defined\nprocedures (two: MNT and UMNT), rather than the size of the client\u0027s\nproc array (four).\n\nThe fix is to use the same initialization technique used by most other\nupper layer clients in the kernel.\n\nIntroduced by commit 0b524123, which failed to update nrprocs when\nsupport was added for UMNT in the kernel.\n\nBugLink: https://bugzilla.kernel.org/show_bug.cgi?id\u003d24302\nBugLink: http://bugs.launchpad.net/bugs/683938\n\nReported-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nTested-by: Stefan Bader \u003cstefan.bader@canonical.com\u003e\nCc: stable@kernel.org # \u003e\u003d 2.6.32\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "39c99f12f15c8bf8257985d9b2a2548a03d18c00",
      "tree": "38f09ce41f6cbfd3a73b1dc66098ba3bf05e2d6a",
      "parents": [
        "388c4bcb4e63e88fb1f312a2f5f9eb2623afcf5b"
      ],
      "author": {
        "name": "Tristan Ye",
        "email": "tristan.ye@oracle.com",
        "time": "Tue Dec 07 14:35:07 2010 +0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 09 15:36:48 2010 -0800"
      },
      "message": "Ocfs2: Teach \u0027coherency\u003dfull\u0027 O_DIRECT writes to correctly up_read i_alloc_sem.\n\nDue to newly-introduced \u0027coherency\u003dfull\u0027 O_DIRECT writes also takes the EX\nrw_lock like buffered writes did(rw_level \u003d\u003d 1), it turns out messing the\nusage of \u0027level\u0027 in ocfs2_dio_end_io() up, which caused i_alloc_sem being\nfailed to get up_read\u0027d correctly.\n\nThis patch tries to teach ocfs2_dio_end_io to understand well on all locking\nstuffs by explicitly introducing a new bit for i_alloc_sem in iocb\u0027s private\ndata, just like what we did for rw_lock.\n\nSigned-off-by: Tristan Ye \u003ctristan.ye@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "388c4bcb4e63e88fb1f312a2f5f9eb2623afcf5b",
      "tree": "a8688b4db823bddba613dff2c613260b2e92f23a",
      "parents": [
        "771f8bc71c31c6bd103cdec283012253f352ab1c"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Nov 19 15:06:50 2010 -0800"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Thu Dec 09 15:36:00 2010 -0800"
      },
      "message": "ocfs2/dlm: Migrate lockres with no locks if it has a reference\n\no2dlm was not migrating resources with zero locks because it assumed that that\nresource would get purged by dlm_thread. However, some usage patterns involve\ncreating and dropping locks at a high rate leading to the migrate thread seeing\nzero locks but the purge thread seeing an active reference. When this happens,\nthe dlm_thread cannot purge the resource and the migrate thread sees no reason\nto migrate that resource. The spell is broken when the migrate thread catches\nthe resource with a lock.\n\nThe fix is to make the migrate thread also consider the reference map.\n\nThis usage pattern can be triggered by userspace on userdlm locks and flocks.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "05340d4ab2ec2b6b4962c1c41c6ea8fb550f947b",
      "tree": "9368b1f2e39ef219898bf32a7a2673d85720740d",
      "parents": [
        "c76febef574fd86566bbdf1a73a547a439115c25"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Dec 07 10:16:41 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Thu Dec 09 17:07:02 2010 -0600"
      },
      "message": "xfs: log timestamp changes to the source inode in rename\n\nNow that we don\u0027t mark VFS inodes dirty anymore for internal\ntimestamp changes, but rely on the transaction subsystem to push\nthem out, we need to explicitly log the source inode in rename after\nupdating it\u0027s timestamps to make sure the changes actually get\nforced out by sync/fsync or an AIL push.\n\nWe already account for the fourth inode in the log reservation, as a\nrename of directories needs to update the nlink field, so just\nadding the xfs_trans_log_inode call is enough.\n\nThis fixes the xfsqa 065 regression introduced by:\n\n\t\"xfs: don\u0027t use vfs writeback for pure metadata modifications\"\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "7e1fea731da8c1b5fcf5d8e157befd389b030760",
      "tree": "85800034e3b0f8262dd51e128264bec5ce30aed2",
      "parents": [
        "b8399dee478db7939cd0d6fda8ecacddf2facd03"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Dec 08 12:22:34 2010 -0500"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Dec 09 13:57:15 2010 -0500"
      },
      "message": "Btrfs: fixup return code for btrfs_del_orphan_item\n\nIf the orphan item doesn\u0027t exist, we return 1, which doesn\u0027t make any sense to\nthe callers.  Instead return -ENOENT if we didn\u0027t find the item.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "b8399dee478db7939cd0d6fda8ecacddf2facd03",
      "tree": "418a67d8d2de13739f3b14518917c8aaadafe3b8",
      "parents": [
        "2b20982e3154266106573beac2a4d4ba57a2789a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Dec 08 09:15:11 2010 -0500"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Dec 09 13:57:13 2010 -0500"
      },
      "message": "Btrfs: do not do fast caching if we are allocating blocks for tree_root\n\nSince the fast caching uses normal tree locking, we can possibly deadlock if we\nget to the caching via a btrfs_search_slot() on the tree_root.  So just check to\nsee if the root we are on is the tree root, and just don\u0027t do the fast caching.\n\nReported-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "2b20982e3154266106573beac2a4d4ba57a2789a",
      "tree": "13539703ccb713385b4c7ff7eac508bb8f3b1e18",
      "parents": [
        "955256f2c3e25c94ad373c43fbc38d2ac8af2a71"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Dec 03 13:17:53 2010 -0500"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Dec 09 13:57:12 2010 -0500"
      },
      "message": "Btrfs: deal with space cache errors better\n\nCurrently if the space cache inode generation number doesn\u0027t match the\ngeneration number in the space cache header we will just fail to load the space\ncache, but we won\u0027t mark the space cache as an error, so we\u0027ll keep getting that\nerror each time somebody tries to cache that block group until we actually clear\nthe thing.  Fix this by marking the space cache as having an error so we only\nget the message once.  This patch also makes it so that we don\u0027t try and setup\nspace cache for a block group that isn\u0027t cached, since we won\u0027t be able to write\nit out anyway.  None of these problems are actual problems, they are just\nannoying and sub-optimal.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "955256f2c3e25c94ad373c43fbc38d2ac8af2a71",
      "tree": "f8a6074a34e988e613eb308d4aeb91fd8fb2e968",
      "parents": [
        "5a92bc88cef279261d3f138e25850c122df67045"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Nov 19 09:41:10 2010 -0500"
      },
      "committer": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Dec 09 13:57:10 2010 -0500"
      },
      "message": "Btrfs: fix use after free in O_DIRECT\n\nThis fixes a bug where we use dip after we have freed it.  Instead just use the\nfile_offset that was passed to the function.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\n"
    },
    {
      "commit": "545c988b2018a593f24d291b66776a0d08525acd",
      "tree": "e2a0b2f523bf3c51e361c3735db359878e1d868f",
      "parents": [
        "7d161b7f41e24203b54b0f18ae0d26c18a6c6fab"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Dec 06 13:45:50 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Dec 08 18:47:54 2010 +0000"
      },
      "message": "cifs: remove bogus remapping of error in cifs_filldir()\n\nAs the FIXME points out correctly, now filldir() itself returns -EOVERFLOW if\nit not possible to represent the inode number supplied by the filesystem in\nthe field provided by userspace.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c1ac3ffcd0bc7e9617f62be8c7043d53ab84deac",
      "tree": "174842d423f84a5a80cb0caed70815d174b516f9",
      "parents": [
        "ed2849d3ecfa339435818eeff28f6c3424300cec"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Thu Dec 02 11:14:30 2010 +1100"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Dec 08 11:44:04 2010 -0500"
      },
      "message": "nfsd: Fix possible BUG_ON firing in set_change_info\n\nIf vfs_getattr in fill_post_wcc returns an error, we don\u0027t\nset fh_post_change.\nFor NFSv4, this can result in set_change_info triggering a BUG_ON.\ni.e. fh_post_saved being zero isn\u0027t really a bug.\n\nSo:\n - instead of BUGging when fh_post_saved is zero, just clear -\u003eatomic.\n - if vfs_getattr fails in fill_post_wcc, take a copy of i_ctime anyway.\n   This will be used i seg_change_info, but not overly trusted.\n - While we are there, remove the pointless \u0027if\u0027 statements in set_change_info.\n   There is no harm setting all the values.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "2df485a774ba59c3f43bfe84107672c1d9b731a0",
      "tree": "a958e82f619290cb5cb28301e30186ef594cd7b4",
      "parents": [
        "0de1b7e800188782973598158e0acbb9e08e6c99"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 22:39:17 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 23:02:44 2010 -0500"
      },
      "message": "nfs: remove extraneous and problematic calls to nfs_clear_request\n\nWhen a nfs_page is freed, nfs_free_request is called which also calls\nnfs_clear_request to clean out the lock and open contexts and free the\npagecache page.\n\nHowever, a couple of places in the nfs code call nfs_clear_request\nthemselves. What happens here if the refcount on the request is still high?\nWe\u0027ll be releasing contexts and freeing pointers while the request is\npossibly still in use.\n\nRemove those bare calls to nfs_clear_context. That should only be done when\nthe request is being freed.\n\nNote that when doing this, we need to watch out for tests of req-\u003ewb_page.\nPreviously, nfs_set_page_tag_locked() and nfs_clear_page_tag_locked()\nwould check the value of req-\u003ewb_page to figure out if the page is mapped\ninto the nfsi-\u003enfs_page_tree. We now indicate the page is mapped using\nthe new bit PG_MAPPED in req-\u003ewb_flags .\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0de1b7e800188782973598158e0acbb9e08e6c99",
      "tree": "2f292659ac8e6a5c3d8ec55e7bdb9339cc37df0e",
      "parents": [
        "21ac19d484a8ffb66f64487846c8d53afef04d2b"
      ],
      "author": {
        "name": "Mi Jinlong",
        "email": "mijinlong@cn.fujitsu.com",
        "time": "Sat Oct 30 10:19:33 2010 +0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 19:30:44 2010 -0500"
      },
      "message": "nfs: kernel should return EPROTONOSUPPORT when not support NFSv4\n\n  When nfs client(kernel) don\u0027t support NFSv4, maybe user build\n  kernel without NFSv4, there is a problem.\n\n  Using command \"mount SERVER-IP:/nfsv3 /mnt/\" to mount NFSv3\n  filesystem, mount should should success, but fail and get error:\n\n    \"mount.nfs: an incorrect mount option was specified\"\n\n  System call mount \"nfs\"(not \"nfs4\") with \"vers\u003d4\",\n  if CONFIG_NFS_V4 is not defined, the \"vers\u003d4\" will be parsed\n  as invalid argument and kernel return EINVAL to nfs-utils.\n\n  About that, we really want get EPROTONOSUPPORT rather than\n  EINVAL. This path make sure kernel parses argument success,\n  and return EPROTONOSUPPORT at nfs_validate_mount_data().\n\nSigned-off-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "21ac19d484a8ffb66f64487846c8d53afef04d2b",
      "tree": "684f635b6d009a05e50499dfec4f7a7f96e0829d",
      "parents": [
        "08a22b392a141c201d7ed4d435de942aa853acd3"
      ],
      "author": {
        "name": "Sergey Vlasov",
        "email": "vsu@altlinux.ru",
        "time": "Sun Nov 28 21:04:05 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 19:30:43 2010 -0500"
      },
      "message": "NFS: Fix fcntl F_GETLK not reporting some conflicts\n\nThe commit 129a84de2347002f09721cda3155ccfd19fade40 (locks: fix F_GETLK\nregression (failure to find conflicts)) fixed the posix_test_lock()\nfunction by itself, however, its usage in NFS changed by the commit\n9d6a8c5c213e34c475e72b245a8eb709258e968c (locks: give posix_test_lock\nsame interface as -\u003elock) remained broken - subsequent NFS-specific\nlocking code received F_UNLCK instead of the user-specified lock type.\nTo fix the problem, fl-\u003efl_type needs to be saved before the\nposix_test_lock() call and restored if no local conflicts were reported.\n\nReference: https://bugzilla.kernel.org/show_bug.cgi?id\u003d23892\nTested-by: Alexander Morozov \u003camorozov@etersoft.ru\u003e\nSigned-off-by: Sergey Vlasov \u003cvsu@altlinux.ru\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "08a22b392a141c201d7ed4d435de942aa853acd3",
      "tree": "c8b0951250920d263e8774748f6cbc99dceca9d8",
      "parents": [
        "47c716cbf638a16583441d78be3fc24345eab636"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Dec 01 10:42:16 2010 +0000"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 19:30:42 2010 -0500"
      },
      "message": "nfs: Discard ACL cache on mode update\n\nAn update of mode bits can result in ACL value being changed. We need\nto mark the acl cache invalid when we update mode. Similarly we need\nto update file attribute when we change ACL value\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fdbf3ceeb659f0b3c0e8dd79b331b7ac05910f1e",
      "tree": "72ed0abad8e550cfa54d83c677d3a9baba28f110",
      "parents": [
        "e9a3854fd4ff3907e6c200a3980e19365ee695e9"
      ],
      "author": {
        "name": "Lino Sanfilippo",
        "email": "LinoSanfilippo@gmx.de",
        "time": "Wed Nov 24 18:26:04 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 16:14:24 2010 -0500"
      },
      "message": "fanotify: Dont try to open a file descriptor for the overflow event\n\nWe should not try to open a file descriptor for the overflow event since this\nwill always fail.\n\nSigned-off-by: Lino Sanfilippo \u003cLinoSanfilippo@gmx.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "26379198937fcc9bbe7be76be695d06df8334eaa",
      "tree": "47be9bc5b202f5f5e1a94a08966d362787bb06ea",
      "parents": [
        "a2ae4cc9a16e211c8a128ba10d22a85431f093ab"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 23 23:48:26 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 16:14:23 2010 -0500"
      },
      "message": "fanotify: do not leak user reference on allocation failure\n\nIf fanotify_init is unable to allocate a new fsnotify group it will\nreturn but will not drop its reference on the associated user struct.\nDrop that reference on error.\n\nReported-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "a2ae4cc9a16e211c8a128ba10d22a85431f093ab",
      "tree": "9de9f2c95163bf53b44413de542f5be528ff302f",
      "parents": [
        "09e5f14e57c70f9d357862bb56e57026c51092a1"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Nov 23 18:18:37 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 16:14:22 2010 -0500"
      },
      "message": "inotify: stop kernel memory leak on file creation failure\n\nIf inotify_init is unable to allocate a new file for the new inotify\ngroup we leak the new group.  This patch drops the reference on the\ngroup on file allocation failure.\n\nReported-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\ncc: stable@kernel.org\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "09e5f14e57c70f9d357862bb56e57026c51092a1",
      "tree": "e6e9c38a15e4ea562dcb0ac600ae37831dd16b49",
      "parents": [
        "1734dee4e3a296cb72b4819fc2e7ef2440737dff"
      ],
      "author": {
        "name": "Lino Sanfilippo",
        "email": "LinoSanfilippo@gmx.de",
        "time": "Fri Nov 19 10:58:07 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 16:14:22 2010 -0500"
      },
      "message": "fanotify: on group destroy allow all waiters to bypass permission check\n\nWhen fanotify_release() is called, there may still be processes waiting for\naccess permission. Currently only processes for which an event has already been\nqueued into the groups access list will be woken up.  Processes for which no\nevent has been queued will continue to sleep and thus cause a deadlock when\nfsnotify_put_group() is called.\nFurthermore there is a race allowing further processes to be waiting on the\naccess wait queue after wake_up (if they arrive before clear_marks_by_group()\nis called).\nThis patch corrects this by setting a flag to inform processes that the group\nis about to be destroyed and thus not to wait for access permission.\n\n[additional changelog from eparis]\nLets think about the 4 relevant code paths from the PoV of the\n\u0027operator\u0027 \u0027listener\u0027 \u0027responder\u0027 and \u0027closer\u0027.  Where operator is the\nprocess doing an action (like open/read) which could require permission.\nListener is the task (or in this case thread) slated with reading from\nthe fanotify file descriptor.  The \u0027responder\u0027 is the thread responsible\nfor responding to access requests.  \u0027Closer\u0027 is the thread attempting to\nclose the fanotify file descriptor.\n\nThe \u0027operator\u0027 is going to end up in:\nfanotify_handle_event()\n  get_response_from_access()\n    (THIS BLOCKS WAITING ON USERSPACE)\n\nThe \u0027listener\u0027 interesting code path\nfanotify_read()\n  copy_event_to_user()\n    prepare_for_access_response()\n      (THIS CREATES AN fanotify_response_event)\n\nThe \u0027responder\u0027 code path:\nfanotify_write()\n  process_access_response()\n    (REMOVE A fanotify_response_event, SET RESPONSE, WAKE UP \u0027operator\u0027)\n\nThe \u0027closer\u0027:\nfanotify_release()\n  (SUPPOSED TO CLEAN UP THE REST OF THIS MESS)\n\nWhat we have today is that in the closer we remove all of the\nfanotify_response_events and set a bit so no more response events are\never created in prepare_for_access_response().\n\nThe bug is that we never wake all of the operators up and tell them to\nmove along.  You fix that in fanotify_get_response_from_access().  You\nalso fix other operators which haven\u0027t gotten there yet.  So I agree\nthat\u0027s a good fix.\n[/additional changelog from eparis]\n\n[remove additional changes to minimize patch size]\n[move initialization so it was inside CONFIG_FANOTIFY_PERMISSION]\n\nSigned-off-by: Lino Sanfilippo \u003cLinoSanfilippo@gmx.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "1734dee4e3a296cb72b4819fc2e7ef2440737dff",
      "tree": "1923b47c601a521ebe5989b1878cd4d1f17d2b20",
      "parents": [
        "fa218ab98c31eeacd12b89501e6b99d146ea56cc"
      ],
      "author": {
        "name": "Lino Sanfilippo",
        "email": "LinoSanfilippo@gmx.de",
        "time": "Mon Nov 22 18:46:33 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 16:14:21 2010 -0500"
      },
      "message": "fanotify: Dont allow a mask of 0 if setting or removing a mark\n\nIn mark_remove_from_mask() we destroy marks that have their event mask cleared.\nThus we should not allow the creation of those marks in the first place.\nWith this patch we check if the mask given from user is 0 in case of FAN_MARK_ADD.\nIf so we return an error. Same for FAN_MARK_REMOVE since this does not have any\neffect.\n\nSigned-off-by: Lino Sanfilippo \u003cLinoSanfilippo@gmx.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "fa218ab98c31eeacd12b89501e6b99d146ea56cc",
      "tree": "789e0f922fbb30844a89a4aaf707c01991c74ea3",
      "parents": [
        "b1085ba80cd2784400a7beec3fda5099198ed01c"
      ],
      "author": {
        "name": "Lino Sanfilippo",
        "email": "LinoSanfilippo@gmx.de",
        "time": "Tue Nov 09 18:18:16 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 16:14:21 2010 -0500"
      },
      "message": "fanotify: correct broken ref counting in case adding a mark failed\n\nIf adding a mount or inode mark failed fanotify_free_mark() is called explicitly.\nBut at this time the mark has already been put into the destroy list of the\nfsnotify_mark kernel thread. If the thread is too slow it will try to decrease\nthe reference of a mark, that has already been freed by fanotify_free_mark().\n(If its fast enough it will only decrease the marks ref counter from 2 to 1 - note\nthat the counter has been increased to 2 in add_mark() - which has practically no\neffect.)\n\nThis patch fixes the ref counting by not calling free_mark() explicitly, but\ndecreasing the ref counter and rely on the fsnotify_mark thread to cleanup in\ncase adding the mark has failed.\n\nSigned-off-by: Lino Sanfilippo \u003cLinoSanfilippo@gmx.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "b1085ba80cd2784400a7beec3fda5099198ed01c",
      "tree": "c83530f7d7f161c898d464fc1ce65be38a0268c1",
      "parents": [
        "88d60c32765716289abeb362c44adf6c35c6824c"
      ],
      "author": {
        "name": "Lino Sanfilippo",
        "email": "LinoSanfilippo@gmx.de",
        "time": "Fri Nov 05 17:05:27 2010 +0100"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 16:14:21 2010 -0500"
      },
      "message": "fanotify: if set by user unset FMODE_NONOTIFY before fsnotify_perm() is called\n\nUnsetting FMODE_NONOTIFY in fsnotify_open() is too late, since fsnotify_perm()\nis called before. If FMODE_NONOTIFY is set fsnotify_perm() will skip permission\nchecks, so a user can still disable permission checks by setting this flag\nin an open() call.\nThis patch corrects this by unsetting the flag before fsnotify_perm is called.\n\nSigned-off-by: Lino Sanfilippo \u003cLinoSanfilippo@gmx.de\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "ecf6f5e7d68471b08603f7c20143ac236602364f",
      "tree": "fb6fc404022d4674c2cb8e9a31f98a719a316e14",
      "parents": [
        "e8a7e48bb248a1196484d3f8afa53bded2b24e71"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Mon Nov 08 18:08:14 2010 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Dec 07 16:14:17 2010 -0500"
      },
      "message": "fanotify: deny permissions when no event was sent\n\nIf no event was sent to userspace we cannot expect userspace to respond to\npermissions requests.  Today such requests just hang forever. This patch will\ndeny any permissions event which was unable to be sent to userspace.\n\nReported-by: Tvrtko Ursulin \u003ctvrtko.ursulin@sophos.com\u003e\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "7d161b7f41e24203b54b0f18ae0d26c18a6c6fab",
      "tree": "10219d15bed51128f72e2e45fc58947071fed0c9",
      "parents": [
        "03ceace5c6923ffbcf2b4d2e37afbffbdb5d4a67"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Dec 07 02:10:35 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Dec 07 19:25:37 2010 +0000"
      },
      "message": "cifs: allow calling cifs_build_path_to_root on incomplete cifs_sb\n\nIt\u0027s possible that cifs_mount will call cifs_build_path_to_root on a\nnewly instantiated cifs_sb. In that case, it\u0027s likely that the\nmaster_tlink pointer has not yet been instantiated.\n\nFix this by having cifs_build_path_to_root take a cifsTconInfo pointer\nas well, and have the caller pass that in.\n\nReported-and-Tested-by: Robbert Kouprie \u003crobbert@exx.nl\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "03ceace5c6923ffbcf2b4d2e37afbffbdb5d4a67",
      "tree": "5f8630682dbc8e7e0b38c47e1403945b0b5d07d6",
      "parents": [
        "884639996814585ef7079daa9e03a1eb562e235c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 06 21:07:33 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Dec 07 19:17:59 2010 +0000"
      },
      "message": "cifs: fix check of error return from is_path_accessable\n\nThis function will return 0 if everything went ok. Commit 9d002df4\nhowever added a block of code after the following check for\nrc \u003d\u003d -EREMOTE. With that change and when rc \u003d\u003d 0, doing the\n\"goto mount_fail_check\" here skips that code, leaving the tlink_tree\nand master_tlink pointer unpopulated. That causes an oops later\nin cifs_root_iget.\n\nReported-and-Tested-by: Robbert Kouprie \u003crobbert@exx.nl\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "47c716cbf638a16583441d78be3fc24345eab636",
      "tree": "ee06a3e432e9fdc12438423745674442acbbeb0f",
      "parents": [
        "18fb5fe40ce7f789b5cfc3aa81ff1e6175b0a5be"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 12:44:56 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 14:09:02 2010 -0500"
      },
      "message": "NFS: Readdir cleanups\n\nNo functional changes, but clarify the code.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "18fb5fe40ce7f789b5cfc3aa81ff1e6175b0a5be",
      "tree": "e7d191c921142ecb1cb2eba0634cb0c6ba89459d",
      "parents": [
        "11de3b11e08cac26d59e88efaf4e316701883552"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 12:41:58 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Dec 07 12:41:58 2010 -0500"
      },
      "message": "NFS: nfs_readdir_search_for_cookie() don\u0027t mark as eof if cookie not found\n\nIf we\u0027re searching for a specific cookie, and it isn\u0027t found in the page\ncache, we should try an uncached_readdir(). To do so, we return EBADCOOKIE,\nbut we don\u0027t set desc-\u003eeof.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "de47de7404e29df8de82f5822b4fde1a6ed97b54",
      "tree": "aac835759ef7bf8317847f467c0c0685827da38e",
      "parents": [
        "cf7d7e5a1980d1116ee152d25dac382b112b9c17"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Dec 07 13:04:00 2010 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 07 07:45:44 2010 -0800"
      },
      "message": "autofs4 - remove ioctl mutex (bz23142)\n\nWith the recent changes to remove the BKL a mutex was added to the\nioctl entry point for calls to the old ioctl interface. This mutex\nneeds to be removed because of the need for the expire ioctl to call\nback to the daemon to perform a umount and receive a completion\nstatus (via another ioctl).\n\nThis should be fine as the new ioctl interface uses much of the same\ncode and it has been used without a mutex for around a year without\nissue, as was the original intention.\n\nRef: Bugzilla bug 23142\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "086b17046c068ef3fa6e69c03c786b39ca617a0a",
      "tree": "027f1aac84c1c8eb990a027be963821643cf4d7f",
      "parents": [
        "da8f2e246183ae109f87694ee3f06e8fcca2931b",
        "226291aa4641fa13cb5dec3bcb3379faa83009e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 06 20:08:25 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 06 20:08:25 2010 -0800"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2_connection_find() returns pointer to bad structure\n  ocfs2: char is not always signed\n  Ocfs2: Stop tracking a negative dentry after dentry_iput().\n  ocfs2: fix memory leak\n  fs/ocfs2/dlm: Use GFP_ATOMIC under spin_lock\n"
    },
    {
      "commit": "884639996814585ef7079daa9e03a1eb562e235c",
      "tree": "652d60d1716be67db2c21aaeaf643dc00d65e392",
      "parents": [
        "79df1baeec29022e4181f2964187b88661ef5517"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@poochiereds.net",
        "time": "Mon Nov 22 15:31:03 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Dec 06 22:45:19 2010 +0000"
      },
      "message": "cifs: remove Local_System_Name\n\n...this string is zeroed out and nothing ever changes it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "79df1baeec29022e4181f2964187b88661ef5517",
      "tree": "2692721239eeb8bbfe591fc1ef038c90e61e8826",
      "parents": [
        "ebb27386ffd2fcd0fad141e0eee97b8070f94ee2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 06 12:52:08 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Dec 06 20:22:39 2010 +0000"
      },
      "message": "cifs: fix use of CONFIG_CIFS_ACL\n\nSome of the code under CONFIG_CIFS_ACL is dependent upon code under\nCONFIG_CIFS_EXPERIMENTAL, but the Kconfig options don\u0027t reflect that\ndependency. Move more of the ACL code out from under\nCONFIG_CIFS_EXPERIMENTAL and under CONFIG_CIFS_ACL.\n\nAlso move find_readable_file out from other any sort of Kconfig\noption and make it a function normally compiled in.\n\nReported-and-Acked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1cd275f609ba46c8cae3ee77e499c54a0d13a983",
      "tree": "8530a763f57fc2dd02b34c4036c689ae603df3b6",
      "parents": [
        "a5b10629edfa521071ccdb3b1e0e7fb350a044db"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 06 09:45:22 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Dec 06 09:45:22 2010 -0800"
      },
      "message": "ceph: fix ioctl magic\n\nThe ioctl magic was inadvertently changed in 571dba52.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "7b2a69ba7055da9a04eb96aa7b38c8e3280aaaa5",
      "tree": "50b564e78fcb708a35ded72ed5cbd58cc12ce5c5",
      "parents": [
        "11e8896474495dec7ce19a542f67def847ec208f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Dec 05 15:51:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 05 16:39:45 2010 -0800"
      },
      "message": "Revert \"vfs: show unreachable paths in getcwd and proc\"\n\nBecause it caused a chroot ttyname regression in 2.6.36.\n\nAs of 2.6.36 ttyname does not work in a chroot.  It has already been\nreported that screen breaks, and for me this breaks an automated\ndistribution testsuite, that I need to preserve the ability to run the\nexisting binaries on for several more years.  glibc 2.11.3 which has a\nfix for this is not an option.\n\nThe root cause of this breakage is:\n\n    commit 8df9d1a4142311c084ffeeacb67cd34d190eff74\n    Author: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n    Date:   Tue Aug 10 11:41:41 2010 +0200\n\n    vfs: show unreachable paths in getcwd and proc\n\n    Prepend \"(unreachable)\" to path strings if the path is not reachable\n    from the current root.\n\n    Two places updated are\n     - the return string from getcwd()\n     - and symlinks under /proc/$PID.\n\n    Other uses of d_path() are left unchanged (we know that some old\n    software crashes if /proc/mounts is changed).\n\n    Signed-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n    Signed-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n\nSo remove the nice sounding, but ultimately ill advised change to how\n/proc/fd symlinks work.\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebb27386ffd2fcd0fad141e0eee97b8070f94ee2",
      "tree": "3c71ee87e8771ac0eed912729605dbaf3f39348c",
      "parents": [
        "6d20e8406f0942228a73000663c2b33f488103ea",
        "59e57c622c3502346e8f930421ebc482d639520c"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 03 03:52:43 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 03 03:52:43 2010 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "238af8751f64a75f8b638193353b1c31ea32e738",
      "tree": "8b314e79791f07596640d45053f0486b45f737d9",
      "parents": [
        "0bae35e14b68f5e7075bc96e5ea608b42bdf8f59"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Thu Dec 02 14:31:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 14:51:15 2010 -0800"
      },
      "message": "reiserfs: don\u0027t acquire lock recursively in reiserfs_acl_chmod\n\nreiserfs_acl_chmod() can be called by reiserfs_set_attr() and then take\nthe reiserfs lock a second time.  Thereafter it may call journal_begin()\nthat definitely requires the lock not to be nested in order to release\nit before taking the journal mutex because the reiserfs lock depends on\nthe journal mutex already.\n\nSo, aviod nesting the lock in reiserfs_acl_chmod().\n\nReported-by: Pawel Zawora \u003cpzawora@gmail.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nTested-by: Pawel Zawora \u003cpzawora@gmail.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.32.x+]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d20e8406f0942228a73000663c2b33f488103ea",
      "tree": "2469267c2ee10c4c723eaa01b1f24c8d0f704870",
      "parents": [
        "8cb280c90f9cfaab3ba3afbace0b1711dee80d0c"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Dec 01 14:42:28 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Dec 02 19:32:11 2010 +0000"
      },
      "message": "cifs: add attribute cache timeout (actimeo) tunable\n\nCurrently, the attribute cache timeout for CIFS is hardcoded to 1 second. This\nmeans that the client might have to issue a QPATHINFO/QFILEINFO call every 1\nsecond to verify if something has changes, which seems too expensive. On the\nother hand, if the timeout is hardcoded to a higher value, workloads that\nexpect strict cache coherency might see unexpected results.\n\nMaking attribute cache timeout as a tunable will allow us to make a tradeoff\nbetween performance and cache metadata correctness depending on the\napplication/workload needs.\n\nAdd \u0027actimeo\u0027 tunable that can be used to tune the attribute cache timeout.\nThe default timeout is set to 1 second. Also, display actimeo option value in\n/proc/mounts.\n\nIt appears to me that \u0027actimeo\u0027 and the proposed (but not yet merged)\n\u0027strictcache\u0027 option cannot coexist, so care must be taken that we reset the\nother option if one of them is set.\n\nChanges since last post:\n   - fix option parsing and handle possible values correcly\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8cb280c90f9cfaab3ba3afbace0b1711dee80d0c",
      "tree": "b98d29b0159dd763afab1670d58019b6cb58cfa0",
      "parents": [
        "8fed709f343346a77888c2eef8f2d41bc637bef6",
        "c76febef574fd86566bbdf1a73a547a439115c25"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 09:13:36 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 09:13:36 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: only run xfs_error_test if error injection is active\n  xfs: avoid moving stale inodes in the AIL\n  xfs: delayed alloc blocks beyond EOF are valid after writeback\n  xfs: push stale, pinned buffers on trylock failures\n  xfs: fix failed write truncation handling.\n"
    },
    {
      "commit": "8520eeaa1235ee78d32558b6a57e02b236c9e588",
      "tree": "88f7e6b134cda921f8c9246c56baf2de899d1f89",
      "parents": [
        "fb82155d5c401a5cf2bc2f555cb807f0bed035bb",
        "ba03864872691c0bb580a7fb47388da337ef4aa2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 08:04:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 08:04:21 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: fix parsing of hostname in dfs referrals\n  cifs: display fsc in /proc/mounts\n  cifs: enable fscache iff fsc mount option is used explicitly\n  cifs: allow fsc mount option only if CONFIG_CIFS_FSCACHE is set\n  cifs: Handle extended attribute name cifs_acl to generate cifs acl blob (try #4)\n  cifs: Misc. cleanup in cifsacl handling [try #4]\n  cifs: trivial comment fix for cifs_invalidate_mapping\n  [CIFS] fs/cifs/Kconfig: CIFS depends on CRYPTO_HMAC\n  cifs: don\u0027t take extra tlink reference in initiate_cifs_search\n  cifs: Percolate error up to the caller during get/set acls [try #4]\n  cifs: fix another memleak, in cifs_root_iget\n  cifs: fix potential use-after-free in cifs_oplock_break_put\n"
    },
    {
      "commit": "11de3b11e08cac26d59e88efaf4e316701883552",
      "tree": "e4cc282e692560897c42c5fbc8df227d5da669d4",
      "parents": [
        "6072d13c429373c5d63b69dadbbef40a9b035552"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 01 14:17:06 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Dec 02 09:58:00 2010 -0500"
      },
      "message": "NFS: Fix a memory leak in nfs_readdir\n\nWe need to ensure that the entries in the nfs_cache_array get cleared\nwhen the page is removed from the page cache. To do so, we use the\nfreepage address_space operation.\n\nChange nfs_readdir_clear_array to use kmap_atomic(), so that the\nfunction can be safely called from all contexts.\n\nFinally, modify the cache_page_release helper to call\nnfs_readdir_clear_array directly, when dealing with an anonymous\npage from \u0027uncached_readdir\u0027.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a5b10629edfa521071ccdb3b1e0e7fb350a044db",
      "tree": "c852f7a214c30fe1923579ec031b37fc8f326523",
      "parents": [
        "637ae8d547390df75bad42a7e9cb65e625119767"
      ],
      "author": {
        "name": "Herb Shiu",
        "email": "herb_shiu@tcloudcomputing.com",
        "time": "Tue Nov 23 13:58:29 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 01 14:22:34 2010 -0800"
      },
      "message": "ceph: Behave better when handling file lock replies.\n\nFill in the local lock with response data if appropriate,\nand don\u0027t call posix_lock_file when reading locks.\n\nSigned-off-by: Herb Shiu \u003cherb_shiu@tcloudcomputing.com\u003e\nAcked-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "637ae8d547390df75bad42a7e9cb65e625119767",
      "tree": "311b5e454928e8954aee522d8c1a943954c9ea7e",
      "parents": [
        "25933abdd8c562182ca6dc9f8c4c2cc8265c3a80"
      ],
      "author": {
        "name": "Herb Shiu",
        "email": "herb_shiu@tcloudcomputing.com",
        "time": "Tue Nov 23 13:42:23 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 01 14:22:34 2010 -0800"
      },
      "message": "ceph: pass lock information by struct file_lock instead of as individual params.\n\nSigned-off-by: Herb Shiu \u003cherb_shiu@tcloudcomputing.com\u003e\nAcked-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "25933abdd8c562182ca6dc9f8c4c2cc8265c3a80",
      "tree": "213db691c7a2d115f2f9ec5d586c1b769dfdb6fc",
      "parents": [
        "884ea892763d4dfba509743f65961c782c0442db"
      ],
      "author": {
        "name": "Herb Shiu",
        "email": "herb_shiu@tcloudcomputing.com",
        "time": "Wed Dec 01 14:14:38 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 01 14:22:27 2010 -0800"
      },
      "message": "ceph: Handle file locks in replies from the MDS.\n\nPreviously the kernel client incorrectly assumed everything was a directory.\n\nSigned-off-by: Herb Shiu \u003cherb_shiu@tcloudcomputing.com\u003e\nAcked-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "884ea892763d4dfba509743f65961c782c0442db",
      "tree": "92a7f5b67aa06cf32457ccb2b69c28c528a48c15",
      "parents": [
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon Nov 22 22:58:06 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 01 14:15:31 2010 -0800"
      },
      "message": "ceph: avoid possible null deref in readdir after dir llseek\n\nlast may be NULL, but we dereference it in the else branch without\nchecking.  Normally it doesn\u0027t trigger because last \u003d\u003d NULL when fpos \u003d\u003d 2,\nbut it could happen on a newly opened dir if the user seeks forward.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "c76febef574fd86566bbdf1a73a547a439115c25",
      "tree": "bdfb67e30f7c55f54413c2bee79049bbbefff805",
      "parents": [
        "de25c1818c44f580ff556cb9e0f7a1c687ed870b"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:15:31 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:20 2010 -0600"
      },
      "message": "xfs: only run xfs_error_test if error injection is active\n\nRecent tests writing lots of small files showed the flusher thread\nbeing CPU bound and taking a long time to do allocations on a debug\nkernel. perf showed this as the prime reason:\n\n             samples  pcnt function                    DSO\n             _______ _____ ___________________________ _________________\n\n           224648.00 36.8% xfs_error_test              [kernel.kallsyms]\n            86045.00 14.1% xfs_btree_check_sblock      [kernel.kallsyms]\n            39778.00  6.5% prandom32                   [kernel.kallsyms]\n            37436.00  6.1% xfs_btree_increment         [kernel.kallsyms]\n            29278.00  4.8% xfs_btree_get_rec           [kernel.kallsyms]\n            27717.00  4.5% random32                    [kernel.kallsyms]\n\nWalking btree blocks during allocation checking them requires each\nblock (a cache hit, so no I/O) call xfs_error_test(), which then\ndoes a random32() call as the first operation.  IOWs, ~50% of the\nCPU is being consumed just testing whether we need to inject an\nerror, even though error injection is not active.\n\nKill this overhead when error injection is not active by adding a\nglobal counter of active error traps and only calling into\nxfs_error_test when fault injection is active.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "de25c1818c44f580ff556cb9e0f7a1c687ed870b",
      "tree": "a8fafd9317cf4841b6004119f6e84ddbece73af3",
      "parents": [
        "309c848002052edbec650075a1eb098b17c17f35"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:15:46 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:20 2010 -0600"
      },
      "message": "xfs: avoid moving stale inodes in the AIL\n\nWhen an inode has been marked stale because the cluster is being\nfreed, we don\u0027t want to (re-)insert this inode into the AIL. There\nis a race condition where the cluster buffer may be unpinned before\nthe inode is inserted into the AIL during transaction committed\nprocessing. If the buffer is unpinned before the inode item has been\ncommitted and inserted, then it is possible for the buffer to be\nreleased and hence processthe stale inode callbacks before the inode\nis inserted into the AIL.\n\nIn this case, we then insert a clean, stale inode into the AIL which\nwill never get removed by an IO completion. It will, however, get\nreclaimed and that triggers an assert in xfs_inode_free()\ncomplaining about freeing an inode still in the AIL.\n\nThis race can be avoided by not moving stale inodes forward in the AIL\nduring transaction commit completion processing. This closes the\nrace condition by ensuring we never insert clean stale inodes into\nthe AIL. It is safe to do this because a dirty stale inode, by\ndefinition, must already be in the AIL.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "309c848002052edbec650075a1eb098b17c17f35",
      "tree": "7e3e38c9ebcfa539716298c0f8a0000b45cffd8e",
      "parents": [
        "90810b9e82a36c3c57c1aeb8b2918b242a130b26"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:16:02 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:20 2010 -0600"
      },
      "message": "xfs: delayed alloc blocks beyond EOF are valid after writeback\n\nThere is an assumption in the parts of XFS that flushing a dirty\nfile will make all the delayed allocation blocks disappear from an\ninode. That is, that after calling xfs_flush_pages() then\nip-\u003ei_delayed_blks will be zero.\n\nThis is an invalid assumption as we may have specualtive\npreallocation beyond EOF and they are recorded in\nip-\u003ei_delayed_blks. A flush of the dirty pages of an inode will not\nchange the state of these blocks beyond EOF, so a non-zero\ndeeelalloc block count after a flush is valid.\n\nThe bmap code has an invalid ASSERT() that needs to be removed, and\nthe swapext code has a bug in that while it swaps the data forks\naround, it fails to swap the i_delayed_blks counter associated with\nthe fork and hence can get the block accounting wrong.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "90810b9e82a36c3c57c1aeb8b2918b242a130b26",
      "tree": "2fdb8bd75866fc3d61cb7fe2f2cc26f0e6895641",
      "parents": [
        "c726de4409a8d3a03877b1ef4342bfe8a15f5e5e"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:16:16 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:20 2010 -0600"
      },
      "message": "xfs: push stale, pinned buffers on trylock failures\n\nAs reported by Nick Piggin, XFS is suffering from long pauses under\nhighly concurrent workloads when hosted on ramdisks. The problem is\nthat an inode buffer is stuck in the pinned state in memory and as a\nresult either the inode buffer or one of the inodes within the\nbuffer is stopping the tail of the log from being moved forward.\n\nThe system remains in this state until a periodic log force issued\nby xfssyncd causes the buffer to be unpinned. The main problem is\nthat these are stale buffers, and are hence held locked until the\ntransaction/checkpoint that marked them state has been committed to\ndisk. When the filesystem gets into this state, only the xfssyncd\ncan cause the async transactions to be committed to disk and hence\nunpin the inode buffer.\n\nThis problem was encountered when scaling the busy extent list, but\nonly the blocking lock interface was fixed to solve the problem.\nExtend the same fix to the buffer trylock operations - if we fail to\nlock a pinned, stale buffer, then force the log immediately so that\nwhen the next attempt to lock it comes around, it will have been\nunpinned.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "c726de4409a8d3a03877b1ef4342bfe8a15f5e5e",
      "tree": "f1212b8f61f6dcdb52206842e8436a45f878a9e9",
      "parents": [
        "e8a7e48bb248a1196484d3f8afa53bded2b24e71"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Tue Nov 30 15:14:39 2010 +1100"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Wed Dec 01 07:40:19 2010 -0600"
      },
      "message": "xfs: fix failed write truncation handling.\n\nSince the move to the new truncate sequence we call xfs_setattr to\ntruncate down excessively instanciated blocks.  As shown by the testcase\nin kernel.org BZ #22452 that doesn\u0027t work too well.  Due to the confusion\nof the internal inode size, and the VFS inode i_size it zeroes data that\nit shouldn\u0027t.\n\nBut full blown truncate seems like overkill here.  We only instanciate\ndelayed allocations in the write path, and given that we never released\nthe iolock we can\u0027t have converted them to real allocations yet either.\n\nThe only nasty case is pre-existing preallocation which we need to skip.\nWe already do this for page discard during writeback, so make the delayed\nallocation block punching a generic function and call it from the failed\nwrite path as well as xfs_aops_discard_page. The callers are\nresponsible for ensuring that partial blocks are not truncated away,\nand that they hold the ilock.\n\nBased on a fix originally from Christoph Hellwig. This version used\nfilesystem blocks as the range unit.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "0aded708d125a3ff7e5abaea9c2d9c6d7ebbfdcd",
      "tree": "124bb3e0e1cd8104f9310f7df224ca00301c10c7",
      "parents": [
        "22a5b566c8c442b0b35b3b106795e2f2b3578096"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 30 21:56:32 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Dec 01 08:16:16 2010 -0500"
      },
      "message": "NFS: Ensure we use the correct cookie in nfs_readdir_xdr_filler\n\nWe need to use the cookie from the previous array entry, not the\nactual cookie that we are searching for (except for the case of\nuncached_readdir).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "114279be2120a916e8a04feeb2ac976a10016f2f",
      "tree": "866a5dfab411d18941d58f8796edab6da760213e",
      "parents": [
        "3c77f845722158206a7209c45ccddc264d19319c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Nov 30 20:56:02 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 30 17:56:38 2010 -0800"
      },
      "message": "exec: copy-and-paste the fixes into compat_do_execve() paths\n\nNote: this patch targets 2.6.37 and tries to be as simple as possible.\nThat is why it adds more copy-and-paste horror into fs/compat.c and\nuglifies fs/exec.c, this will be cleanuped later.\n\ncompat_copy_strings() plays with bprm-\u003evma/mm directly and thus has\ntwo problems: it lacks the RLIMIT_STACK check and argv/envp memory\nis not visible to oom killer.\n\nExport acct_arg_size() and get_arg_page(), change compat_copy_strings()\nto use get_arg_page(), change compat_do_execve() to do acct_arg_size(0)\nas do_execve() does.\n\nAdd the fatal_signal_pending/cond_resched checks into compat_count() and\ncompat_copy_strings(), this matches the code in fs/exec.c and certainly\nmakes sense.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3c77f845722158206a7209c45ccddc264d19319c",
      "tree": "9eace97a8b88eb68b7d5d3127041b14c202421ae",
      "parents": [
        "37a09f07459753e7c98d4e21f1c61e8756923f81"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Tue Nov 30 20:55:34 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 30 17:56:37 2010 -0800"
      },
      "message": "exec: make argv/envp memory visible to oom-killer\n\nBrad Spengler published a local memory-allocation DoS that\nevades the OOM-killer (though not the virtual memory RLIMIT):\nhttp://www.grsecurity.net/~spender/64bit_dos.c\n\nexecve()-\u003ecopy_strings() can allocate a lot of memory, but\nthis is not visible to oom-killer, nobody can see the nascent\nbprm-\u003emm and take it into account.\n\nWith this patch get_arg_page() increments current\u0027s MM_ANONPAGES\ncounter every time we allocate the new page for argv/envp. When\ndo_execve() succeds or fails, we change this counter back.\n\nTechnically this is not 100% correct, we can\u0027t know if the new\npage is swapped out and turn MM_ANONPAGES into MM_SWAPENTS, but\nI don\u0027t think this really matters and everything becomes correct\nonce exec changes -\u003emm or fails.\n\nReported-by: Brad Spengler \u003cspender@grsecurity.net\u003e\nReviewed-and-discussed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba03864872691c0bb580a7fb47388da337ef4aa2",
      "tree": "05584dc9061390fedf5caa749a2f7d728324b232",
      "parents": [
        "476428f8c3bb6679f8f52bf2b935ac40bc9c7358"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Nov 30 15:14:48 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 20:44:05 2010 +0000"
      },
      "message": "cifs: fix parsing of hostname in dfs referrals\n\nThe DFS referral parsing code does a memchr() call to find the \u0027\\\\\u0027\ndelimiter that separates the hostname in the referral UNC from the\nsharename. It then uses that value to set the length of the hostname via\npointer subtraction.  Instead of subtracting the start of the hostname\nhowever, it subtracts the start of the UNC, which causes the code to\npass in a hostname length that is 2 bytes too long.\n\nRegression introduced in commit 1a4240f4.\n\nReported-and-Tested-by: Robbert Kouprie \u003crobbert@exx.nl\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Wang Lei \u003cwang840925@gmail.com\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "37a09f07459753e7c98d4e21f1c61e8756923f81",
      "tree": "eecab05dc4b4c2de61f4b31f51d301fdcf210737",
      "parents": [
        "e8a7e48bb248a1196484d3f8afa53bded2b24e71"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Nov 30 12:42:34 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 30 10:18:49 2010 -0800"
      },
      "message": "NFS: Fix a readdirplus bug\n\nWhen comparing filehandles in the helper nfs_same_file(), we should not be\nusing \u0027strncmp()\u0027: filehandles are not null terminated strings.\n\nInstead, we should just use the existing helper nfs_compare_fh().\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7572777eef78ebdee1ecb7c258c0ef94d35bad16",
      "tree": "04bb06d75688912ac14855146dc013703529403d",
      "parents": [
        "d9d318d39dd5cb686660504a3565aac453709ccc"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Nov 30 16:39:27 2010 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Nov 30 16:39:27 2010 +0100"
      },
      "message": "fuse: verify ioctl retries\n\nVerify that the total length of the iovec returned in FUSE_IOCTL_RETRY\ndoesn\u0027t overflow iov_length().\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Tejun Heo \u003ctj@kernel.org\u003e\nCC: \u003cstable@kernel.org\u003e         [2.6.31+]\n"
    },
    {
      "commit": "d9d318d39dd5cb686660504a3565aac453709ccc",
      "tree": "ff818170ca69976ad2cfaa77ed788e645c4d80c9",
      "parents": [
        "e8a7e48bb248a1196484d3f8afa53bded2b24e71"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Nov 30 16:39:27 2010 +0100"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Tue Nov 30 16:39:27 2010 +0100"
      },
      "message": "fuse: fix ioctl when server is 32bit\n\nIf a 32bit CUSE server is run on 64bit this results in EIO being\nreturned to the caller.\n\nThe reason is that FUSE_IOCTL_RETRY reply was defined to use \u0027struct\niovec\u0027, which is different on 32bit and 64bit archs.\n\nWork around this by looking at the size of the reply to determine\nwhich struct was used.  This is only needed if CONFIG_COMPAT is\ndefined.\n\nA more permanent fix for the interface will be to use the same struct\non both 32bit and 64bit.\n\nReported-by: \"ccmail111\" \u003cccmail111@yahoo.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCC: Tejun Heo \u003ctj@kernel.org\u003e\nCC: \u003cstable@kernel.org\u003e         [2.6.31+]\n"
    },
    {
      "commit": "476428f8c3bb6679f8f52bf2b935ac40bc9c7358",
      "tree": "64957af79b5f0f5ba5111381650bc3854be18b69",
      "parents": [
        "b81209de2455c6051cf67f2acd8ec26ccb8caf83"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Nov 24 17:49:07 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:51:49 2010 +0000"
      },
      "message": "cifs: display fsc in /proc/mounts\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b81209de2455c6051cf67f2acd8ec26ccb8caf83",
      "tree": "2f2b3ffcdbd2448342615bbd5bd45de3eafaa49f",
      "parents": [
        "607a569da4cf289fd8eb3887080ed3b212e3112d"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Nov 24 17:49:06 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:49:32 2010 +0000"
      },
      "message": "cifs: enable fscache iff fsc mount option is used explicitly\n\nCurrently, if CONFIG_CIFS_FSCACHE is set, fscache is enabled on files opened\nas read-only irrespective of the \u0027fsc\u0027 mount option. Fix this by enabling\nfscache only if \u0027fsc\u0027 mount option is specified explicitly.\n\nRemove an extraneous cFYI debug message and fix a typo while at it.\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "607a569da4cf289fd8eb3887080ed3b212e3112d",
      "tree": "9e8e54738ebe1c80718ba67d44a7f736ba0af879",
      "parents": [
        "fbeba8bb16d7c50362e28f3f91a79fb414903199"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Nov 24 17:49:05 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:49:28 2010 +0000"
      },
      "message": "cifs: allow fsc mount option only if CONFIG_CIFS_FSCACHE is set\n\nCurrently, it is possible to specify \u0027fsc\u0027 mount option even if\nCONFIG_CIFS_FSCACHE has not been set. The option is being ignored silently\nwhile the user fscache functionality to work. Fix this by raising error when\nthe CONFIG option is not set.\n\nReported-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fbeba8bb16d7c50362e28f3f91a79fb414903199",
      "tree": "8ec770c15edfd25c83c70434cbf1c966b91e325d",
      "parents": [
        "78415d2d306bfed0a0ac351aec6c69759d007224"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Sat Nov 27 11:37:54 2010 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:49:24 2010 +0000"
      },
      "message": "cifs: Handle extended attribute name cifs_acl to generate cifs acl blob (try #4)\n\nAdd extended attribute name system.cifs_acl\n\nGet/generate cifs/ntfs acl blob and hand over to the invoker however\nit wants to parse/process it under experimental configurable option CIFS_ACL.\n\nDo not get CIFS/NTFS ACL for xattr for attribute system.posix_acl_access\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "78415d2d306bfed0a0ac351aec6c69759d007224",
      "tree": "761fd93aafa6d90f9b3b18af0a4157072190519f",
      "parents": [
        "523fb8c867650196bef830d5dd9315d9975a9b7e"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Sat Nov 27 11:37:26 2010 -0600"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 30 05:49:17 2010 +0000"
      },
      "message": "cifs: Misc. cleanup in cifsacl handling [try #4]\n\nChange the name of function mode_to_acl to mode_to_cifs_acl.\n\nHandle return code in functions mode_to_cifs_acl and\ncifs_acl_to_fattr.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "aa3fc52546b847f590d86a093afd863ff9081628",
      "tree": "9d8b35a700287ae19fb3baa0e9f2c93462795d11",
      "parents": [
        "555bdaefd52c386e79f98591810ceb8bab780398",
        "5a92bc88cef279261d3f138e25850c122df67045"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 14:11:08 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 14:11:08 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (24 commits)\n  Btrfs: don\u0027t use migrate page without CONFIG_MIGRATION\n  Btrfs: deal with DIO bios that span more than one ordered extent\n  Btrfs: setup blank root and fs_info for mount time\n  Btrfs: fix fiemap\n  Btrfs - fix race between btrfs_get_sb() and umount\n  Btrfs: update inode ctime when using links\n  Btrfs: make sure new inode size is ok in fallocate\n  Btrfs: fix typo in fallocate to make it honor actual size\n  Btrfs: avoid NULL pointer deref in try_release_extent_buffer\n  Btrfs: make btrfs_add_nondir take parent inode as an argument\n  Btrfs: hold i_mutex when calling btrfs_log_dentry_safe\n  Btrfs: use dget_parent where we can UPDATED\n  Btrfs: fix more ESTALE problems with NFS\n  Btrfs: handle NFS lookups properly\n  btrfs: make 1-bit signed fileds unsigned\n  btrfs: Show device attr correctly for symlinks\n  btrfs: Set file size correctly in file clone\n  btrfs: Check if dest_offset is block-size aligned before cloning file\n  Btrfs: handle the space_cache option properly\n  btrfs: Fix early enospc because \u0027unused\u0027 calculated with wrong sign.\n  ...\n"
    },
    {
      "commit": "1bfe4eefe530f97c1625982d754908f33acf308d",
      "tree": "53e1692220dd88309dfd564f6f5b06ec29650669",
      "parents": [
        "72083646528d4887b920deb71b37e09bc7d227bb",
        "14870b457524e745f1a118e17873d104b1a47b70"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 14:10:22 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 29 14:10:22 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Userland expects quota limit/warn/usage in 512b blocks\n"
    },
    {
      "commit": "523fb8c867650196bef830d5dd9315d9975a9b7e",
      "tree": "7697f22640a3281649e2445a58f1e0d5f431d1f2",
      "parents": [
        "362d31297fafb150676f4d564ecc7f7f3e3b7fd4"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Nov 29 22:39:47 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 29 17:48:16 2010 +0000"
      },
      "message": "cifs: trivial comment fix for cifs_invalidate_mapping\n\nOnly the callers check whether the invalid_mapping flag is set and not\ncifs_invalidate_mapping().\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5a92bc88cef279261d3f138e25850c122df67045",
      "tree": "22bc186bda2d2a61343bed473c3e606b43a49a18",
      "parents": [
        "163cf09c2a0ee5cac6285f9347975bd1e97725da"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Nov 29 09:49:11 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Nov 29 09:49:11 2010 -0500"
      },
      "message": "Btrfs: don\u0027t use migrate page without CONFIG_MIGRATION\n\nFixes compile error\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    }
  ],
  "next": "163cf09c2a0ee5cac6285f9347975bd1e97725da"
}
