)]}'
{
  "log": [
    {
      "commit": "24f0eed2668b059e847ff145848ddacb75419acc",
      "tree": "010c89c06e191b068f8a078b10bfaf1d3699c834",
      "parents": [
        "8b6b4628126fd73d0a53b499a26133c15b73c1e6",
        "3567866bf26190d1e734c975c907eb06e923ba23"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:40 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 04 16:44:40 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached\n  get rid of boilerplate switches in posix_acl.h\n  fix block device fallout from -\u003efsync() changes\n"
    },
    {
      "commit": "14595f708eeb528fabcee339ed0b9e0a2ecec73f",
      "tree": "e4c8ee1004f6ff445bd058a82791341f7f3301be",
      "parents": [
        "298507d4d2cff2248e84afcf646b697301294442",
        "db9481c0476c6475d058ac7ecebb5a822b43cc99"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:09:10 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 15:09:10 2011 -1000"
      },
      "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: use kzalloc in ext4_kzalloc()\n"
    },
    {
      "commit": "206506ccf04b6790d11553a0c8595d1bf65790fe",
      "tree": "b30ac4fd8005d5fe0ec818de303a0b486b15c007",
      "parents": [
        "8079b1c859c44f27d63da4951f5038a16589a563"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Aug 03 16:21:29 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:25 2011 -1000"
      },
      "message": "tmpfs: expand \"help\" to explain value of TMPFS_POSIX_ACL\n\nExpand the fs/Kconfig \"help\" info to clarify why it\u0027s a bad idea to\ndeselect the TMPFS_POSIX_ACL config variable.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nAcked-by: Hugh Dickins \u003chughd@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31475dd611209413bace21651a400afb91d0bd9d",
      "tree": "679c1cb33e211a4f2e5c0f47bb836393c9454d35",
      "parents": [
        "69f07ec938712b58755add82dd3d0b35f01317cc"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Aug 03 16:21:27 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:24 2011 -1000"
      },
      "message": "mm: a few small updates for radix-swap\n\nRemove PageSwapBacked (!page_is_file_cache) cases from\nadd_to_page_cache_locked() and add_to_page_cache_lru(): those pages now\ngo through shmem_add_to_page_cache().\n\nRemove a comment on maximum tmpfs size from fsstack_copy_inode_size(),\nand add a comment on swap entries to invalidate_mapping_pages().\n\nAnd mincore_page() uses find_get_page() on what might be shmem or a\ntmpfs file: allow for a radix_tree_exceptional_entry(), and proceed to\nfind_get_page() on swapper_space if so (oh, swapper_space needs #ifdef).\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nAcked-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2af14162656b81bea9e03e76d7c5f1787cc86ea6",
      "tree": "12906ff5b3f372606f2822ba8aef2989c76d284c",
      "parents": [
        "88eca0207cf1574328c3ce8c3be537a9317261bb"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Aug 03 16:21:07 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Aug 03 14:25:21 2011 -1000"
      },
      "message": "fs/dcache.c: fix new kernel-doc warning\n\nFix new kernel-doc warning in fs/dcache.c:\n\n  Warning(fs/dcache.c:797): No description found for parameter \u0027sb\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db9481c0476c6475d058ac7ecebb5a822b43cc99",
      "tree": "d3115cab19ab99912618428d9f9e76bbf3572857",
      "parents": [
        "ed8f37370d83e695c0a4fa5d5fc7a83ecb947526"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Wed Aug 03 14:57:11 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Aug 03 14:57:11 2011 -0400"
      },
      "message": "ext4: use kzalloc in ext4_kzalloc()\n\nCommit 9933fc0i (ext4: introduce ext4_kvmalloc(), ext4_kzalloc(), and\next4_kvfree()) intruduced wrappers around k*alloc/vmalloc but introduced\na typo for ext4_kzalloc() by not using kzalloc() but kmalloc().\n\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ed8f37370d83e695c0a4fa5d5fc7a83ecb947526",
      "tree": "2e57247c609a495b31892b2d05ea52e35556ab60",
      "parents": [
        "a6b11f53388973d99c4a357c22b19753b424e73c",
        "0d10ee2e6deb5c8409ae65b970846344897d5e4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 21:14:05 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 02 21:14:05 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (31 commits)\n  Btrfs: don\u0027t call writepages from within write_full_page\n  Btrfs: Remove unused variable \u0027last_index\u0027 in file.c\n  Btrfs: clean up for find_first_extent_bit()\n  Btrfs: clean up for wait_extent_bit()\n  Btrfs: clean up for insert_state()\n  Btrfs: remove unused members from struct extent_state\n  Btrfs: clean up code for merging extent maps\n  Btrfs: clean up code for extent_map lookup\n  Btrfs: clean up search_extent_mapping()\n  Btrfs: remove redundant code for dir item lookup\n  Btrfs: make acl functions really no-op if acl is not enabled\n  Btrfs: remove remaining ref-cache code\n  Btrfs: remove a BUG_ON() in btrfs_commit_transaction()\n  Btrfs: use wait_event()\n  Btrfs: check the nodatasum flag when writing compressed files\n  Btrfs: copy string correctly in INO_LOOKUP ioctl\n  Btrfs: don\u0027t print the leaf if we had an error\n  btrfs: make btrfs_set_root_node void\n  Btrfs: fix oops while writing data to SSD partitions\n  Btrfs: Protect the readonly flag of block group\n  ...\n\nFix up trivial conflicts (due to acl and writeback cleanups) in\n - fs/btrfs/acl.c\n - fs/btrfs/ctree.h\n - fs/btrfs/extent_io.c\n"
    },
    {
      "commit": "3567866bf26190d1e734c975c907eb06e923ba23",
      "tree": "60d6b71d8ec821b121e6ab0756833d79c912908e",
      "parents": [
        "951c0d660a7c35286e401ca6d6ef38c9d49643c7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Aug 02 21:32:13 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 03 00:58:42 2011 -0400"
      },
      "message": "RCUify freeing acls, let check_acl() go ahead in RCU mode if acl is cached\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "da5aa861bea09197e6ae4d7c46618616064891e4",
      "tree": "ed121115f16961ed9c3a77c86d943a90cea917e9",
      "parents": [
        "cfe22345ad5ef29e192e157fdc3e17d357e4bc24"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Aug 02 02:17:48 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 21:33:47 2011 -0400"
      },
      "message": "fix block device fallout from -\u003efsync() changes\n\nblkdev_fsync() needs to write pages in pagecache...\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "60ad4466821a96913a9b567115e194ed1087c2d7",
      "tree": "cd488ba72a60f856b85a467763fb633cbe7ef2d9",
      "parents": [
        "1b8e94993c4752d98c33903aa836acc15f7e6d5c",
        "79a77c5ac34cc27ccbfbdf7113b41cdd93534eab"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:56:03 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:56:03 2011 -1000"
      },
      "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: (60 commits)\n  ext4: prevent memory leaks from ext4_mb_init_backend() on error path\n  ext4: use EXT4_BAD_INO for buddy cache to avoid colliding with valid inode #\n  ext4: use ext4_msg() instead of printk in mballoc\n  ext4: use ext4_kvzalloc()/ext4_kvmalloc() for s_group_desc and s_group_info\n  ext4: introduce ext4_kvmalloc(), ext4_kzalloc(), and ext4_kvfree()\n  ext4: use the correct error exit path in ext4_init_inode_table()\n  ext4: add missing kfree() on error return path in add_new_gdb()\n  ext4: change umode_t in tracepoint headers to be an explicit __u16\n  ext4: fix races in ext4_sync_parent()\n  ext4: Fix overflow caused by missing cast in ext4_fallocate()\n  ext4: add action of moving index in ext4_ext_rm_idx for Punch Hole\n  ext4: simplify parameters of reserve_backup_gdb()\n  ext4: simplify parameters of add_new_gdb()\n  ext4: remove lock_buffer in bclean() and setup_new_group_blocks()\n  ext4: simplify journal handling in setup_new_group_blocks()\n  ext4: let setup_new_group_blocks() set multiple bits at a time\n  ext4: fix a typo in ext4_group_extend()\n  ext4: let ext4_group_add_blocks() handle 0 blocks quickly\n  ext4: let ext4_group_add_blocks() return an error code\n  ext4: rename ext4_add_groupblocks() to ext4_group_add_blocks()\n  ...\n\nFix up conflict in fs/ext4/inode.c: commit aacfc19c626e (\"fs: simplify\nthe blockdev_direct_IO prototype\") had changed the ext4_ind_direct_IO()\nfunction for the new simplified calling convention, while commit\ndae1e52cb126 (\"ext4: move ext4_ind_* functions from inode.c to\nindirect.c\") moved the function to another file.\n"
    },
    {
      "commit": "1b8e94993c4752d98c33903aa836acc15f7e6d5c",
      "tree": "b78cba208f0a193ce6ceebbc146021af4425b4e1",
      "parents": [
        "12ff47e7f5fb64c566f62e6cf6a3b291c51bd337",
        "206d440f64030b6425841bf7cb38e26a5ea0c382"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:48:31 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:48:31 2011 -1000"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set\n  VFS: Reorganise shrink_dcache_for_umount_subtree() after demise of dcache_lock\n  VFS: Remove dentry-\u003ed_lock locking from shrink_dcache_for_umount_subtree()\n  VFS: Remove detached-dentry counter from shrink_dcache_for_umount_subtree()\n  switch posix_acl_chmod() to umode_t\n  switch posix_acl_from_mode() to umode_t\n  switch posix_acl_equiv_mode() to umode_t *\n  switch posix_acl_create() to umode_t *\n  block: initialise bd_super in bdget()\n  vfs: avoid call to inode_lru_list_del() if possible\n  vfs: avoid taking inode_hash_lock on pipes and sockets\n  vfs: conditionally call inode_wb_list_del()\n  VFS: Fix automount for negative autofs dentries\n  Btrfs: load the key from the dir item in readdir into a fake dentry\n  devtmpfs: missing initialialization in never-hit case\n  hppfs: missing include\n"
    },
    {
      "commit": "a2d773023552f68baa2db2226dfd6d761c0df5da",
      "tree": "c905702c4f318d0e569222187472289c574bde3c",
      "parents": [
        "72f9adfd20e3be8a33ff3ef96cec787ed97b9ba9",
        "7644c16c7e7431fa398e834109dbb76dc1b51617"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:40:51 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 13:40:51 2011 -1000"
      },
      "message": "Merge branch \u0027pstore-efi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027pstore-efi\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  efivars: Introduce PSTORE_EFI_ATTRIBUTES\n  efivars: Use string functions in pstore_write\n  efivars: introduce utf16_strncmp\n  efivars: String functions\n  efi: Add support for using efivars as a pstore backend\n  pstore: Allow the user to explicitly choose a backend\n  pstore: Make \"part\" unsigned\n  pstore: Add extra context for writes and erases\n  pstore: Extend API for more flexibility in new backends\n"
    },
    {
      "commit": "79a77c5ac34cc27ccbfbdf7113b41cdd93534eab",
      "tree": "0217516fde94d1dea524ee4f40279cc03fc5cefa",
      "parents": [
        "48e6061bf4bb25eec151b91f22fd90a5b9a4920a"
      ],
      "author": {
        "name": "Yu Jian",
        "email": "yujian@whamcloud.com",
        "time": "Mon Aug 01 17:41:46 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 17:41:46 2011 -0400"
      },
      "message": "ext4: prevent memory leaks from ext4_mb_init_backend() on error path\n\nIn ext4_mb_init(), if the s_locality_group allocation fails it will\ncurrently cause the allocations made in ext4_mb_init_backend() to\nbe leaked.  Moving the ext4_mb_init_backend() allocation after the\ns_locality_group allocation avoids that problem.\n\nSigned-off-by: Yu Jian \u003cyujian@whamcloud.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@whamcloud.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "48e6061bf4bb25eec151b91f22fd90a5b9a4920a",
      "tree": "b0515505a3eee15adcc38325d309553e57e40975",
      "parents": [
        "9d8b9ec44234b2f6e0225300632d250210c04f11"
      ],
      "author": {
        "name": "Yu Jian",
        "email": "yujian@whamcloud.com",
        "time": "Mon Aug 01 17:41:39 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 17:41:39 2011 -0400"
      },
      "message": "ext4: use EXT4_BAD_INO for buddy cache to avoid colliding with valid inode #\n\nSigned-off-by: Yu Jian \u003cyujian@whamcloud.com\u003e\nSigned-off-by: Andreas Dilger \u003cadilger@whamcloud.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "9d8b9ec44234b2f6e0225300632d250210c04f11",
      "tree": "8b07c2cd2f664ebd2772e3d2299ef69e8c5a1e74",
      "parents": [
        "f18a5f21c25707b4fe64b326e2b4d150565e7300"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 17:41:35 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 17:41:35 2011 -0400"
      },
      "message": "ext4: use ext4_msg() instead of printk in mballoc\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0d10ee2e6deb5c8409ae65b970846344897d5e4e",
      "tree": "7072161df34ced133b41cc99e5f868bc8e55a018",
      "parents": [
        "341d14f161a475ebdbc9adff1f7e681e1185dee9"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Aug 01 14:37:36 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:37:36 2011 -0400"
      },
      "message": "Btrfs: don\u0027t call writepages from within write_full_page\n\nWhen doing a writepage we call writepages to try and write out any other dirty\npages in the area.  This could cause problems where we commit a transaction and\nthen have somebody else dirtying metadata in the area as we could end up writing\nout a lot more than we care about, which could cause latency on anybody who is\nwaiting for the transaction to completely finish committing.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "341d14f161a475ebdbc9adff1f7e681e1185dee9",
      "tree": "fff1cee32665375837b5ae735ddff17a173f24db",
      "parents": [
        "69261c4b6a394ead1b5ca2966c908469355eb603"
      ],
      "author": {
        "name": "Mitch Harder",
        "email": "mitch.harder@sabayonlinux.org",
        "time": "Tue Jul 12 19:43:45 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:32:39 2011 -0400"
      },
      "message": "Btrfs: Remove unused variable \u0027last_index\u0027 in file.c\n\nThe variable \u0027last_index\u0027 is calculated in the __btrfs_buffered_write\nfunction and passed as a parameter to the prepare_pages function,\nbut is not used anywhere in the prepare_pages function.\n\nRemove instances of \u0027last_index\u0027 in these functions.\n\nSigned-off-by: Mitch Harder \u003cmitch.harder@sabayonlinux.org\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "69261c4b6a394ead1b5ca2966c908469355eb603",
      "tree": "3bd8ae6f65473887bc3aab381eea38bfb6b6e8ca",
      "parents": [
        "ded91f0814a349e36b3ca0eff497f816ad518fba"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Jul 14 03:19:45 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:32:39 2011 -0400"
      },
      "message": "Btrfs: clean up for find_first_extent_bit()\n\nfind_first_extent_bit() and find_first_extent_bit_state() share\nmost of the code, and we can just make the former call the latter.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ded91f0814a349e36b3ca0eff497f816ad518fba",
      "tree": "6efec3ebb541a560eebdb0754ee0f3edab96ff56",
      "parents": [
        "3150b6996934455d7f2da243939d80a9b839085a"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Jul 14 03:19:27 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:32:38 2011 -0400"
      },
      "message": "Btrfs: clean up for wait_extent_bit()\n\nWe can just use cond_resched_lock().\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3150b6996934455d7f2da243939d80a9b839085a",
      "tree": "8155ce90c3e9d2dcaec82eae2afc46bb237ce3d5",
      "parents": [
        "3a6d457ec79d4cdf2313189b4e852e53f2b8d2b2"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Jul 14 03:19:08 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:32:30 2011 -0400"
      },
      "message": "Btrfs: clean up for insert_state()\n\nDon\u0027t duplicate set_state_bits().\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3a6d457ec79d4cdf2313189b4e852e53f2b8d2b2",
      "tree": "e7225abe3352f11f322cdd4b01a380e6b056bb67",
      "parents": [
        "4d2c8f62f12a6652db67cc0c1f4a4a498b05ddbc"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Thu Jul 14 03:18:52 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:50 2011 -0400"
      },
      "message": "Btrfs: remove unused members from struct extent_state\n\nThese members are not used at all.\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4d2c8f62f12a6652db67cc0c1f4a4a498b05ddbc",
      "tree": "ebc07d75a30f84d4f8c9b8e86720307c02fe9023",
      "parents": [
        "ed64f06652210b4a52fe0ea65ac43f9c6af1d988"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:18:33 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:50 2011 -0400"
      },
      "message": "Btrfs: clean up code for merging extent maps\n\nunpin_extent_cache() and add_extent_mapping() shares the same code\nthat merges extent maps.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ed64f06652210b4a52fe0ea65ac43f9c6af1d988",
      "tree": "a4e8c63e4732384e9c72edeb552dab3f50a1351d",
      "parents": [
        "7e016a038e829c7d1271e1d57b8002860bbdf0db"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:18:15 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:49 2011 -0400"
      },
      "message": "Btrfs: clean up code for extent_map lookup\n\nlookup_extent_map() and search_extent_map() can share most of code.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7e016a038e829c7d1271e1d57b8002860bbdf0db",
      "tree": "3698e7d02602b791f783a2b8877651f538db3543",
      "parents": [
        "85d85a743da894029723e002eb556ceeebc03658"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:18:03 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:49 2011 -0400"
      },
      "message": "Btrfs: clean up search_extent_mapping()\n\nrb_node returned by __tree_search() can be a valid pointer or NULL,\nbut won\u0027t be some errno.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "85d85a743da894029723e002eb556ceeebc03658",
      "tree": "fb9cc28ea108c85785ac38f92a16a60467452dd1",
      "parents": [
        "9b89d95a143bb0a9abc4ba0fdcdda78211930f1a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:17:52 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:48 2011 -0400"
      },
      "message": "Btrfs: remove redundant code for dir item lookup\n\nWhen we search a dir item with a specific hash code, we can\njust return NULL without further checking if btrfs_search_slot()\nreturns 1.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9b89d95a143bb0a9abc4ba0fdcdda78211930f1a",
      "tree": "353768825b985753b23fda0ec88e7cc85bf83346",
      "parents": [
        "15de900d08bb132833c8622610ddb1be660a6018"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:17:39 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:48 2011 -0400"
      },
      "message": "Btrfs: make acl functions really no-op if acl is not enabled\n\nSo there\u0027s no overhead for something we don\u0027t use.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "15de900d08bb132833c8622610ddb1be660a6018",
      "tree": "e7004a2761220fcfa19b891e61e81bfcdada032c",
      "parents": [
        "b9c8300c2ac354d850159f301d5b3ead13854cdd"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:17:27 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:47 2011 -0400"
      },
      "message": "Btrfs: remove remaining ref-cache code\n\nSince commit f2a97a9dbd86eb1ef956bdf20e05c507b32beb96\n(\"btrfs: remove all unused functions\"), there\u0027s no extern functions\nat all in ref-cache.c, so just remove the remaining dead code.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b9c8300c2ac354d850159f301d5b3ead13854cdd",
      "tree": "3c8a07481fda046b52d098780ea2eb02ac5b7e8d",
      "parents": [
        "72d63ed6427cf233e2b352c0b80c3e5c5a444986"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:17:14 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:47 2011 -0400"
      },
      "message": "Btrfs: remove a BUG_ON() in btrfs_commit_transaction()\n\nwait_for_commit() always returns 0.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "72d63ed6427cf233e2b352c0b80c3e5c5a444986",
      "tree": "e88ba3e354552911f4ee8695e2123e7a4552a6f1",
      "parents": [
        "e55179b3d7d41d83fd6b5f59325f4a8d8ac9700a"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:17:00 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:46 2011 -0400"
      },
      "message": "Btrfs: use wait_event()\n\nUse wait_event() when possible to avoid code duplication.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e55179b3d7d41d83fd6b5f59325f4a8d8ac9700a",
      "tree": "9f8ec3e2ec88e63b1772418ba6699b808e53fad3",
      "parents": [
        "77906a5075a4eb767026c2e07b1a412d08aea5be"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:16:47 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:46 2011 -0400"
      },
      "message": "Btrfs: check the nodatasum flag when writing compressed files\n\nIf mounting with nodatasum option, we won\u0027t csum file data for\ngeneral write or direct-io write, and this rule should also be\napplied when writing compressed files.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "77906a5075a4eb767026c2e07b1a412d08aea5be",
      "tree": "0d7744a53a88c0e657ba727cd69e9b694d034772",
      "parents": [
        "b783e62d9620445d1ca3de76badf0468cdd329ba"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Jul 14 03:16:00 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:45 2011 -0400"
      },
      "message": "Btrfs: copy string correctly in INO_LOOKUP ioctl\n\nMemory areas [ptr, ptr+total_len] and [name, name+total_len]\nmay overlap, so it\u0027s wrong to use memcpy().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b783e62d9620445d1ca3de76badf0468cdd329ba",
      "tree": "a97b81f62f0b431a4c3e5c4f6346ca890e535cb6",
      "parents": [
        "bf5f32ecb6caac52b4d1c083251b3dd4f40a0b7a"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jul 13 15:03:50 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:45 2011 -0400"
      },
      "message": "Btrfs: don\u0027t print the leaf if we had an error\n\nIn __btrfs_free_extent we will print the leaf if we fail to find the extent we\nwanted, but the problem is if we get an error we won\u0027t have a leaf so often this\nleads to a NULL pointer dereference and we lose the error that actually\noccurred.  So only print the leaf if ret \u003e 0, which means we didn\u0027t find the\nitem we were looking for but we didn\u0027t error either.  This way the error is\npreserved.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bf5f32ecb6caac52b4d1c083251b3dd4f40a0b7a",
      "tree": "a1022046dd66034c6a916b28abcadc9128184273",
      "parents": [
        "ff1f2b4407454d926d8b143bf37e4dce66026a28"
      ],
      "author": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Thu Jul 14 21:23:06 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:44 2011 -0400"
      },
      "message": "btrfs: make btrfs_set_root_node void\n\nThis is fairly trivial - btrfs_set_root_node() - always returns zero so we\ncan just make it void.  All callers ignore the return code now anyway.  I\nalso made sure to check that none of the functions that\nbtrfs_set_root_node() calls returns an error that we might have needed to\ncatch and pass back.\n\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ff1f2b4407454d926d8b143bf37e4dce66026a28",
      "tree": "f40720d71285ade24fb6a7f7bcdd442806d5f37e",
      "parents": [
        "61cfea9bb84d41b09e59822c33b3eb27acc48358"
      ],
      "author": {
        "name": "liubo",
        "email": "liubo2009@cn.fujitsu.com",
        "time": "Wed Jul 27 09:49:18 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:44 2011 -0400"
      },
      "message": "Btrfs: fix oops while writing data to SSD partitions\n\nHere I have a two SSD-partitions btrfs, and they are defaultly set to\n\"data\u003draid0, metadata\u003draid1\", then I try to fill my btrfs partition\ntill \"No space left on device\", via \"dd if\u003d/dev/zero of\u003d/mnt/btrfs/tmp\".\n\nI get an oops panic from kernel BUG at fs/btrfs/extent-tree.c:5199!, which\nrefers to find_free_extent\u0027s\nBUG_ON(index !\u003d get_block_group_index(block_group));\n\nIn SSD mode, in order to find enough space to alloc, we may check the\nblock_group cache which has been checked sometime before, but the index is not\nupdated, where it hits the BUG_ON.\n\nSigned-off-by: Liu Bo \u003cliubo2009@cn.fujitsu.com\u003e\nAcked-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "61cfea9bb84d41b09e59822c33b3eb27acc48358",
      "tree": "6c20e098a3be7aad77419dc273bfd670dc470f3a",
      "parents": [
        "1bf85046e493c88be1c1bad9084428373089f618"
      ],
      "author": {
        "name": "WuBo",
        "email": "wu.bo@cn.fujitsu.com",
        "time": "Tue Jul 26 03:30:11 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:43 2011 -0400"
      },
      "message": "Btrfs: Protect the readonly flag of block group\n\nThe access for ro in btrfs_block_group_cache should be protected\nbecause of the racy lock in relocation.\n\nSigned-off-by: Wu Bo \u003cwu.bo@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1bf85046e493c88be1c1bad9084428373089f618",
      "tree": "e7358cb2dd597c8be7001be4573fa0e53361ebb5",
      "parents": [
        "b6973aa62253f3791ef6fa5e9f9de099645fc2bd"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.de",
        "time": "Thu Jul 21 16:56:09 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:43 2011 -0400"
      },
      "message": "btrfs: Make extent-io callbacks that never fail return void\n\nThe set/clear bit and the extent split/merge hooks only ever return 0.\n\n Changing them to return void simplifies the error handling cases later.\n\n This patch changes the hook prototypes, the single implementation of each,\n and the functions that call them to return void instead.\n\n Since all four of these hooks execute under a spinlock, they\u0027re necessarily\n simple.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b6973aa62253f3791ef6fa5e9f9de099645fc2bd",
      "tree": "eb4fe689723dc89e803a139d0d873dc4c9cd205d",
      "parents": [
        "b532402e4d147e4f409c4e7f50d4413e8450101d"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Jul 20 03:46:35 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:42 2011 -0400"
      },
      "message": "Btrfs: fix readahead in file defrag\n\nWe passed the wrong value to btrfs_force_ra(). Fix this by changing\nthe argument of btrfs_force_ra() from last_index to nr_page.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b532402e4d147e4f409c4e7f50d4413e8450101d",
      "tree": "0c196fd362d03243704a47e69e41c13acd323bd0",
      "parents": [
        "a0f98dde11a1afe9fbf5c98f57968e086e98b6f5"
      ],
      "author": {
        "name": "Tsutomu Itoh",
        "email": "t-itoh@jp.fujitsu.com",
        "time": "Tue Jul 19 07:27:20 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:42 2011 -0400"
      },
      "message": "Btrfs: return error to caller when btrfs_unlink() failes\n\nWhen btrfs_unlink_inode() and btrfs_orphan_add() in btrfs_unlink()\nare error, the error code is returned to the caller instead of\nBUG_ON().\n\nSigned-off-by: Tsutomu Itoh \u003ct-itoh@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a0f98dde11a1afe9fbf5c98f57968e086e98b6f5",
      "tree": "e2521f3d54605f9bfc261da0665ffced19acd997",
      "parents": [
        "b43b31bdf2e662006c27cc4dcccf863312d62bc1"
      ],
      "author": {
        "name": "Wanlong Gao",
        "email": "wanlong.gao@gmail.com",
        "time": "Mon Jul 18 12:19:35 2011 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:30:41 2011 -0400"
      },
      "message": "Btrfs:don\u0027t check the return value of __btrfs_add_inode_defrag\n\nDon\u0027t need to check the return value of __btrfs_add_inode_defrag(),\nsince it will always return 0.\n\nSigned-off-by: Wanlong Gao \u003cgaowanlong@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b43b31bdf2e662006c27cc4dcccf863312d62bc1",
      "tree": "9e12413edbd9d7a77e4c0b692dd28ca4ae5039bd",
      "parents": [
        "ff95acb6733d41a8d45feb0e18b96df25e610e78",
        "38a1a919535742af677303271eb4ff731547b706"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:27:34 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Aug 01 14:27:34 2011 -0400"
      },
      "message": "Merge branch \u0027alloc_path\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/btrfs-error-handling into for-linus\n"
    },
    {
      "commit": "5f66d2b58ca879e70740c82422354144845d6dd3",
      "tree": "2076ce3fcc588c7123df674191737004c81a025a",
      "parents": [
        "4a2d732f5d1a2adf38a5baaa2f27094024be65e9",
        "762dfd10573606c4afccd29267fcc79ec9f9599b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 06:14:25 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Aug 01 06:14:25 2011 -1000"
      },
      "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: Cleanup demupltiplex thread exiting code\n  CIFS: Move mid search to a separate function\n  CIFS: Move RFC1002 check to a separate function\n  CIFS: Simplify socket reading in demultiplex thread\n  CIFS: Move buffer allocation to a separate function\n  cifs: remove unneeded variable initialization in cifs_reconnect_tcon\n  cifs: simplify refcounting for oplock breaks\n  cifs: fix compiler warning in CIFSSMBQAllEAs\n  cifs: fix name parsing in CIFSSMBQAllEAs\n  cifs: don\u0027t start signing too early\n  cifs: trivial: goto out here is unnecessary\n  cifs: advertise the right receive buffer size to the server\n"
    },
    {
      "commit": "762dfd10573606c4afccd29267fcc79ec9f9599b",
      "tree": "9dd8da37f5bed0d4eb6516dedf1097bea9d0529e",
      "parents": [
        "ad69bae178b86bf9f7e3f96d27492fba2052f187"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Aug 01 13:19:44 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 01 12:49:45 2011 +0000"
      },
      "message": "CIFS: Cleanup demupltiplex thread exiting code\n\nReviewed-and-Tested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ad69bae178b86bf9f7e3f96d27492fba2052f187",
      "tree": "7b219d07419304f1435adbb9489703972d3f43e1",
      "parents": [
        "98bac62c9f1d6151dca7e8087aacce2e90fd43d3"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Aug 01 13:19:43 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 01 12:49:42 2011 +0000"
      },
      "message": "CIFS: Move mid search to a separate function\n\nReviewed-and-Tested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "98bac62c9f1d6151dca7e8087aacce2e90fd43d3",
      "tree": "1ef0e1b118e05ca369aa77aa328e56016ae1dae4",
      "parents": [
        "e7015fb1c508fe9b8c97707755ce08f5ace0afb9"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Aug 01 13:19:42 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 01 12:49:38 2011 +0000"
      },
      "message": "CIFS: Move RFC1002 check to a separate function\n\nReviewed-and-Tested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e7015fb1c508fe9b8c97707755ce08f5ace0afb9",
      "tree": "7c084839f5e163c9099c8c4f88422f97a048748e",
      "parents": [
        "3d9c2472a53ee1d26de9803899037aeeb44ccef1"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Aug 01 13:19:41 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 01 12:49:34 2011 +0000"
      },
      "message": "CIFS: Simplify socket reading in demultiplex thread\n\nMove reading to separate function and remove csocket variable.\n\nAlso change semantic in a little: goto incomplete_rcv only when\nwe get -EAGAIN (or a familiar error) while reading rfc1002 header.\nIn this case we don\u0027t check for echo timeout when we don\u0027t get whole\nheader at once, as it was before.\n\nReviewed-and-Tested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f18a5f21c25707b4fe64b326e2b4d150565e7300",
      "tree": "b17baa6c8476eb2a3fbc6b1d65c7fd59950a2dcd",
      "parents": [
        "9933fc0ac1ac14b795819cd63d05ea92112f690a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 08:45:38 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 08:45:38 2011 -0400"
      },
      "message": "ext4: use ext4_kvzalloc()/ext4_kvmalloc() for s_group_desc and s_group_info\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "9933fc0ac1ac14b795819cd63d05ea92112f690a",
      "tree": "bff42e3494fd5401e6b171ddae8f52ecd1defd91",
      "parents": [
        "33853a0dde359ded0534204eb6857ad5166d515b"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 08:45:02 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 08:45:02 2011 -0400"
      },
      "message": "ext4: introduce ext4_kvmalloc(), ext4_kzalloc(), and ext4_kvfree()\n\nIntroduce new helper functions which try kmalloc, and then fall back\nto vmalloc if necessary, and use them for allocating and deallocating\ns_flex_groups.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3d9c2472a53ee1d26de9803899037aeeb44ccef1",
      "tree": "71d65fc36988d56aff29e59ec61651faa5d65252",
      "parents": [
        "c4a5534a1b61cdffaa83187efe63712f75544726"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Aug 01 13:19:40 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 01 12:33:44 2011 +0000"
      },
      "message": "CIFS: Move buffer allocation to a separate function\n\nReviewed-and-Tested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "33853a0dde359ded0534204eb6857ad5166d515b",
      "tree": "2c7ab2e9bddc5418af1356bd579dd0d22605c1d9",
      "parents": [
        "c49bafa3842751b8955a962859f42d307673d75d"
      ],
      "author": {
        "name": "Yongqiang Yang",
        "email": "xiaoqiangnk@gmail.com",
        "time": "Mon Aug 01 06:32:19 2011 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 01 06:32:19 2011 -0400"
      },
      "message": "ext4: use the correct error exit path in ext4_init_inode_table()\n\nThis patch lets ext4_init_inode_table() handle errors right.\next4_init_inode_table() should down_write() alloc_sem which\nhas been up_write()ed and stop the started journal handle.\n\nSigned-off-by: Yongqiang Yang \u003cxiaoqiangnk@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "206d440f64030b6425841bf7cb38e26a5ea0c382",
      "tree": "59be5f26a3b7ae922927c5d78082a37cdc5bb511",
      "parents": [
        "43c1c9cd244098012441b90c32304f11f1258d43"
      ],
      "author": {
        "name": "Markus Trippelsdorf",
        "email": "markus@trippelsdorf.de",
        "time": "Tue Jul 26 11:15:20 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:35:04 2011 -0400"
      },
      "message": "xfs: Fix build breakage in xfs_iops.c when CONFIG_FS_POSIX_ACL is not set\n\ncommit 4e34e719e45, that takes the ACL checks to common code,\naccidentely broke the build when CONFIG_FS_POSIX_ACL is not set:\n\n  CC      fs/xfs/linux-2.6/xfs_iops.o\nfs/xfs/linux-2.6/xfs_iops.c:1025:14: error: ‘xfs_get_acl’ undeclared here (not in a function)\n\nFix this by declaring xfs_get_acl a static inline function.\n\nSigned-off-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "43c1c9cd244098012441b90c32304f11f1258d43",
      "tree": "f6d924936b376cfa3bb7bc1eec5716900a61a2cf",
      "parents": [
        "c6627c60c07c43b51ef88e352627fa786d1e1592"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 07 14:09:30 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:27:57 2011 -0400"
      },
      "message": "VFS: Reorganise shrink_dcache_for_umount_subtree() after demise of dcache_lock\n\nReorganise shrink_dcache_for_umount_subtree() in light of the demise of\ndcache_lock.  Without that dcache_lock, there is no need for the batching of\nremoval of dentries from the system under it (we wanted to make intensive use\nof the locked data whilst we held it, but didn\u0027t want to hold it for long at a\ntime).\n\nThis works, provided the preceding patch is correct in its removal of locking\non dentry-\u003ed_lock on the basis that no one should be locking these dentries any\nmore as the whole superblock is defunct.\n\nWith this patch, the calls to dentry_lru_del() and __d_shrink() are placed at\nthe point where each dentry is detached handled.\n\nIt is possible that, as an alternative, the batching should still be done -\nbut only for dentry_lru_del() of all a dentry\u0027s children in one go.  In such a\ncase, the batching would be done under dcache_lru_lock.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c6627c60c07c43b51ef88e352627fa786d1e1592",
      "tree": "2d0924acf0c6fa37d0fc7277a9f17940496b6461",
      "parents": [
        "35f40ef00204c456f5c181c0e7f54e25bb93cd49"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 07 14:09:20 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:27:57 2011 -0400"
      },
      "message": "VFS: Remove dentry-\u003ed_lock locking from shrink_dcache_for_umount_subtree()\n\nLocks of the dcache_lock were replaced by locks of dentry-\u003ed_lock in commits\nsuch as:\n\n\t2304450783dfde7b0b94ae234edd0dbffa865073\n\t2fd6b7f50797f2e993eea59e0a0b8c6399c811dc\n\nas part of the RCU-based pathwalk changes, despite the fact that the caller\n(shrink_dcache_for_umount()) notes in the banner comment the reasons that\nd_lock is not necessary in these functions:\n\n/*\n * destroy the dentries attached to a superblock on unmounting\n * - we don\u0027t need to use dentry-\u003ed_lock because:\n *   - the superblock is detached from all mountings and open files, so the\n *     dentry trees will not be rearranged by the VFS\n *   - s_umount is write-locked, so the memory pressure shrinker will ignore\n *     any dentries belonging to this superblock that it comes across\n *   - the filesystem itself is no longer permitted to rearrange the dentries\n *     in this superblock\n */\n\nSo remove these locks.  If the locks are actually necessary, then this banner\ncomment should be altered instead.\n\nThe hash table chains are protected by 1-bit locks in the hash table heads, so\nthose shouldn\u0027t be a problem.\n\nNote that to make this work, __d_drop() has to be split so that the RCUwalk\nbarrier can be avoided.  This causes problems otherwise as it has an assertion\nthat dentry-\u003ed_lock is locked - but there is no need for that as no one else\ncan be trying to access this dentry, except to step over it (and that should\nbe handled by d_free(), I think).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "35f40ef00204c456f5c181c0e7f54e25bb93cd49",
      "tree": "dca61042039ba374b79491ce5b3227759c214f49",
      "parents": [
        "86bc704db0ab7e69230f79bc7d124e063259abc6"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Jun 07 14:09:10 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:27:57 2011 -0400"
      },
      "message": "VFS: Remove detached-dentry counter from shrink_dcache_for_umount_subtree()\n\nRemove the detached-dentry counter from shrink_dcache_for_umount_subtree() as\nthe value it computes is no longer used as of commit\n312d3ca856d369bb04d0443846b85b4cdde6fa8a which made the nr_dentry counters\nsummed per-CPU rather than global atomic.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "86bc704db0ab7e69230f79bc7d124e063259abc6",
      "tree": "9eeaf664b0c47cf440be1e410f7685cc06c0049c",
      "parents": [
        "3a5fba19b080b365d67866db38e32e6a4a2089e8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 19:03:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:10:32 2011 -0400"
      },
      "message": "switch posix_acl_chmod() to umode_t\n\nagain, that\u0027s what all callers pass to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3a5fba19b080b365d67866db38e32e6a4a2089e8",
      "tree": "bbca7e67f502e1828ca9c897ecc883f879e7743e",
      "parents": [
        "d6952123b53cc8b334df69bba2cd0063b0d88f68"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 19:01:48 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:10:20 2011 -0400"
      },
      "message": "switch posix_acl_from_mode() to umode_t\n\n... seeing that this is what all callers pass to it anyway.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d6952123b53cc8b334df69bba2cd0063b0d88f68",
      "tree": "b1ccaa7e3d65dbf4af093202044da65bc4deb34e",
      "parents": [
        "d3fb612076eebec6f67257db0c7a9666ac7e5892"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:56:36 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:10:06 2011 -0400"
      },
      "message": "switch posix_acl_equiv_mode() to umode_t *\n\n... so that \u0026inode-\u003ei_mode could be passed to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d3fb612076eebec6f67257db0c7a9666ac7e5892",
      "tree": "5265fca258a74ffa75b845998492abb9446db72c",
      "parents": [
        "782b94cdf577b4df1feb376f372dccc28e66a771"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 23 18:37:50 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 02:09:42 2011 -0400"
      },
      "message": "switch posix_acl_create() to umode_t *\n\nso we can pass \u0026inode-\u003ei_mode to it\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "782b94cdf577b4df1feb376f372dccc28e66a771",
      "tree": "e0ea0054539a695707f4e54aacdb0c53cd990076",
      "parents": [
        "c4ae0c65455c1bb30d1b71c6dd9a1a62aadde8ef"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lmcilroy@redhat.com",
        "time": "Thu Jun 30 11:01:45 2011 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 01:57:44 2011 -0400"
      },
      "message": "block: initialise bd_super in bdget()\n\nbd_super is currently reset to NULL in kill_block_super() so we rely on previous\nusers of the block_device object to initialise this value for the next user.\nThis quirk was exposed on RHEL5 when a third party filesystem did not always use\nkill_block_super() and therefore bd_super wasn\u0027t being reset when a block_device\nobject was recycled within the cache.  This may not be a problem upstream but\nmakes sense to be defensive.\n\nSigned-off-by: Lachlan McIlroy \u003clmcilroy@redhat.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c4ae0c65455c1bb30d1b71c6dd9a1a62aadde8ef",
      "tree": "75d45726ff5f09955054a665e368b919faf4c105",
      "parents": [
        "f2ee7abf4c40c8e6bffced923a7c01ea2d1f6c97"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 28 06:55:13 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 01:41:17 2011 -0400"
      },
      "message": "vfs: avoid call to inode_lru_list_del() if possible\n\ninode_lru_list_del() is expensive because of per superblock lru locking,\nwhile some inodes are not in lru list.\n\nAdding a check in iput_final() can speedup pipe/sockets workloads on\nSMP.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f2ee7abf4c40c8e6bffced923a7c01ea2d1f6c97",
      "tree": "3c7ec119cf89f82737c55235ff7881ebeed9408f",
      "parents": [
        "b12362bdb61a230a67daa77bcd2a11e59b2802e1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 28 06:41:09 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 01:41:17 2011 -0400"
      },
      "message": "vfs: avoid taking inode_hash_lock on pipes and sockets\n\nSome inodes (pipes, sockets, ...) are not hashed, no need to take\ncontended inode_hash_lock at dismantle time.\n\nnice speedup on SMP machines on socket intensive workloads.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b12362bdb61a230a67daa77bcd2a11e59b2802e1",
      "tree": "f85752d085d3618207ef6aa5b7d8a10910201fc5",
      "parents": [
        "5a30d8a2b8ddd5102c440c7e5a7c8e1fd729c818"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Jul 28 06:11:47 2011 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 01:41:17 2011 -0400"
      },
      "message": "vfs: conditionally call inode_wb_list_del()\n\nSome inodes (pipes, sockets, ...) are not in bdi writeback list.\n\nevict() can avoid calling inode_wb_list_del() and its expensive spinlock\nby checking inode i_wb_list being empty or not.\n\nAt this point, no other cpu/user can concurrently manipulate this inode\ni_wb_list\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5a30d8a2b8ddd5102c440c7e5a7c8e1fd729c818",
      "tree": "005d290c2390207a485042687ca018afbefa2993",
      "parents": [
        "b4aff1f874f679320c03e3d97b60fc7babfd4623"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Mon Jul 11 14:20:57 2011 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 01:38:01 2011 -0400"
      },
      "message": "VFS: Fix automount for negative autofs dentries\n\nAutofs may set the DCACHE_NEED_AUTOMOUNT flag on negative dentries.  These\nneed attention from the automounter daemon regardless of the LOOKUP_FOLLOW flag.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b4aff1f874f679320c03e3d97b60fc7babfd4623",
      "tree": "7d70626056dd81bbdb194171d89f35cd390a5a78",
      "parents": [
        "9d108d25487bf958f8093409a4c0bee6169edba6"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Jun 28 16:18:59 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 01 01:31:42 2011 -0400"
      },
      "message": "Btrfs: load the key from the dir item in readdir into a fake dentry\n\nIn btrfs we have 2 indexes for inodes.  One is for readdir, it\u0027s in this nice\nsequential order and works out brilliantly for readdir.  However if you use ls,\nit usually stat\u0027s each file it gets from readdir.  This is where the second\nindex comes in, which is based on a hash of the name of the file.  So then the\nlookup has to lookup this index, and then lookup the inode.  The index lookup is\ngoing to be in random order (since its based on the name hash), which gives us\nless than stellar performance.  Since we know the inode location from the\nreaddir index, I create a dummy dentry and copy the location key into\ndentry-\u003ed_fsdata.  Then on lookup if we have d_fsdata we use that location to\nlookup the inode, avoiding looking up the other directory index.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a00ed25cce6fe856388f89c7cd40da0eee7666a6",
      "tree": "24f7bfe891bfd40ed1f0013242c757c4be58b47e",
      "parents": [
        "24c3047095fa3954f114bfff2e37b8fcbb216396"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 16:39:04 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 31 14:27:04 2011 -1000"
      },
      "message": "NFS: Re-enable compilation of nfs with !CONFIG_NFS_V4 || !CONFIG_NFS_V4_1\n\nFix two recently introduced compile problems:\n\nFix a typo in fs/nfs/pnfs.h\n\nMove the pnfs_blksize declaration outside the CONFIG_NFS_V4 section in\nstruct nfs_server.\n\nReported-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4a5534a1b61cdffaa83187efe63712f75544726",
      "tree": "10b1fd285ec4faf9a65df9a7a63d910360eaad53",
      "parents": [
        "ad635942c869ad8fc9af270d4998c42b4e978b32"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jul 28 12:40:36 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jul 31 21:27:16 2011 +0000"
      },
      "message": "cifs: remove unneeded variable initialization in cifs_reconnect_tcon\n\nReported-and-acked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ad635942c869ad8fc9af270d4998c42b4e978b32",
      "tree": "b199a039df4aacd26224302b7c29193171e4d444",
      "parents": [
        "5980fc966bb347801f3fcc39a2ef2a1e14fbf8cb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 26 12:20:17 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jul 31 21:21:20 2011 +0000"
      },
      "message": "cifs: simplify refcounting for oplock breaks\n\nCurrently, we take a sb-\u003es_active reference and a cifsFileInfo reference\nwhen an oplock break workqueue job is queued. This is unnecessary and\nmore complicated than it needs to be. Also as Al points out,\ndeactivate_super has non-trivial locking implications so it\u0027s best to\navoid that if we can.\n\nInstead, just cancel any pending oplock breaks for this filehandle\nsynchronously in cifsFileInfo_put after taking it off the lists.\nThat should ensure that this job doesn\u0027t outlive the structures it\ndepends on.\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5980fc966bb347801f3fcc39a2ef2a1e14fbf8cb",
      "tree": "64a3750c18ed9fae2486f0c53d48804efd66a34f",
      "parents": [
        "91d065c47317cd5f6577fa077cca3383c8d9243d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jul 28 12:48:26 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jul 31 21:21:13 2011 +0000"
      },
      "message": "cifs: fix compiler warning in CIFSSMBQAllEAs\n\nThe recent fix to the above function causes this compiler warning to pop\non some gcc versions:\n\n  CC [M]  fs/cifs/cifssmb.o\nfs/cifs/cifssmb.c: In function ‘CIFSSMBQAllEAs’:\nfs/cifs/cifssmb.c:5708: warning: ‘ea_name_len’ may be used uninitialized in\nthis function\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "91d065c47317cd5f6577fa077cca3383c8d9243d",
      "tree": "b233806b287b9b97f9c085f2e0dc280d031961ed",
      "parents": [
        "998d6fcb24d25b7889ec39118cf98d5089ac4c11"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 26 18:23:47 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jul 31 21:21:09 2011 +0000"
      },
      "message": "cifs: fix name parsing in CIFSSMBQAllEAs\n\nThe code that matches EA names in CIFSSMBQAllEAs is incorrect. It\nuses strncmp to do the comparison with the length limited to the\nname_len sent in the response.\n\nProblem: Suppose we\u0027re looking for an attribute named \"foobar\" and\nhave an attribute before it in the EA list named \"foo\". The\ncomparison will succeed since we\u0027re only looking at the first 3\ncharacters. Fix this by also comparing the length of the provided\nea_name with the name_len in the response. If they\u0027re not equal then\nit shouldn\u0027t match.\n\nReported-by: Jian Li \u003cjiali@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "998d6fcb24d25b7889ec39118cf98d5089ac4c11",
      "tree": "d731fae4fd3c2c0817edb73f4e29d4dd33ace135",
      "parents": [
        "1f1cff0be05f59d5939edf28ff5ca0c6fd0a8e1c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 26 12:21:17 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jul 31 21:21:06 2011 +0000"
      },
      "message": "cifs: don\u0027t start signing too early\n\nSniffing traffic on the wire shows that windows clients send a zeroed\nout signature field in a NEGOTIATE request, and send \"BSRSPYL\" in the\nsignature field during SESSION_SETUP. Make the cifs client behave the\nsame way.\n\nIt doesn\u0027t seem to make much difference in any server that I\u0027ve tested\nagainst, but it\u0027s probably best to follow windows behavior as closely as\npossible here.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1f1cff0be05f59d5939edf28ff5ca0c6fd0a8e1c",
      "tree": "9ae24f71bce38107e7037d0a4a4f3f7062c88e30",
      "parents": [
        "c4d3396b261473ded6f370edd1e79ba34e089d7e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 26 12:20:18 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jul 31 21:21:02 2011 +0000"
      },
      "message": "cifs: trivial: goto out here is unnecessary\n\n...and remove some obsolete comments.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c4d3396b261473ded6f370edd1e79ba34e089d7e",
      "tree": "94c64f9df5092a6978bc9cf0767059a2cb07044f",
      "parents": [
        "24c3047095fa3954f114bfff2e37b8fcbb216396"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 26 12:20:18 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jul 31 21:20:58 2011 +0000"
      },
      "message": "cifs: advertise the right receive buffer size to the server\n\nCurrently, we mirror the same size back to the server that it sends us.\nThat makes little sense. Instead we should be sending the server the\nmaximum buffer size that we can handle -- CIFSMaxBufSize minus the\n4 byte RFC1001 header.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "24c3047095fa3954f114bfff2e37b8fcbb216396",
      "tree": "a2263a4425d511ae619ca8b055705261dab9ec12",
      "parents": [
        "6581058f44533f9d45548bcfe986c125376859e9",
        "71cdd40fd498f12679070def668f6a4719ddbd1c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 31 06:26:50 2011 -1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 31 06:26:50 2011 -1000"
      },
      "message": "Merge branch \u0027nfs-for-3.1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027nfs-for-3.1\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (28 commits)\n  pnfsblock: write_pagelist handle zero invalid extents\n  pnfsblock: note written INVAL areas for layoutcommit\n  pnfsblock: bl_write_pagelist\n  pnfsblock: bl_read_pagelist\n  pnfsblock: cleanup_layoutcommit\n  pnfsblock: encode_layoutcommit\n  pnfsblock: merge rw extents\n  pnfsblock: add extent manipulation functions\n  pnfsblock: bl_find_get_extent\n  pnfsblock: xdr decode pnfs_block_layout4\n  pnfsblock: call and parse getdevicelist\n  pnfsblock: merge extents\n  pnfsblock: lseg alloc and free\n  pnfsblock: remove device operations\n  pnfsblock: add device operations\n  pnfsblock: basic extent code\n  pnfsblock: use pageio_ops api\n  pnfsblock: add blocklayout Kconfig option, Makefile, and stubs\n  pnfs: cleanup_layoutcommit\n  pnfs: ask for layout_blksize and save it in nfs_server\n  ...\n"
    },
    {
      "commit": "71cdd40fd498f12679070def668f6a4719ddbd1c",
      "tree": "d9f41109c962fd2a54e16217ce8abc37c7e99918",
      "parents": [
        "31e6306a4046926b598484f1cacf69309382eac6"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Sat Jul 30 20:52:56 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:17 2011 -0400"
      },
      "message": "pnfsblock: write_pagelist handle zero invalid extents\n\nFor invalid extents, find other pages in the same fsblock and write them out.\n\n[pnfsblock: write_begin]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "31e6306a4046926b598484f1cacf69309382eac6",
      "tree": "3b71cc552cc00a37b3838c7eb0c7dd4d320fc71d",
      "parents": [
        "650e2d39bd8f6b99f39b5009dbed9fbd3bb65e54"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:55 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:17 2011 -0400"
      },
      "message": "pnfsblock: note written INVAL areas for layoutcommit\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "650e2d39bd8f6b99f39b5009dbed9fbd3bb65e54",
      "tree": "e078728da5ac6b40af0206ca9903b95e49731cb2",
      "parents": [
        "9549ec01b0dcf1c1eb277cba60067236b3f48508"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:54 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:17 2011 -0400"
      },
      "message": "pnfsblock: bl_write_pagelist\n\nNote: When upper layer\u0027s read/write request cannot be fulfilled, the block\nlayout driver shouldn\u0027t silently mark the page as error. It should do\nwhat can be done and  leave the rest to the upper layer. To do so, we\nshould set rdata/wdata-\u003eres.count properly.\n\nWhen upper layer re-send the read/write request to finish the rest\npart of the request, pgbase is the position where we should start at.\n\n[pnfsblock: bl_write_pagelist support functions]\n[pnfsblock: bl_write_pagelist adjust for missing PG_USE_PNFS]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfsblock: handle errors when read or write pagelist.]\nSigned-off-by: Zhang Jingwang \u003cyyalone@gmail.com\u003e\n[pnfs-block: use new write_pagelist api]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\n\n[SQUASHME: pnfsblock: mds_offset is set in the generic layer]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n\n[pnfsblock: mark IO error with NFS_LAYOUT_{RW|RO}_FAILED]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\n[pnfsblock: SQUASHME: adjust to API change]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfsblock: fixup blksize alignment in bl_setup_layoutcommit]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[pnfsblock: bl_write_pagelist adjust for missing PG_USE_PNFS]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfsblock: handle errors when read or write pagelist.]\nSigned-off-by: Zhang Jingwang \u003cyyalone@gmail.com\u003e\n[pnfs-block: use new write_pagelist api]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9549ec01b0dcf1c1eb277cba60067236b3f48508",
      "tree": "5f6aaeaafd088a13cf8369a11ac37367a44c2cde",
      "parents": [
        "b2be7811dd94816f3df76708c8eb7f55bf7289e2"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:53 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:17 2011 -0400"
      },
      "message": "pnfsblock: bl_read_pagelist\n\nNote: When upper layer\u0027s read/write request cannot be fulfilled, the block\nlayout driver shouldn\u0027t silently mark the page as error. It should do\nwhat can be done and  leave the rest to the upper layer. To do so, we\nshould set rdata/wdata-\u003eres.count properly.\n\nWhen upper layer re-send the read/write request to finish the rest\npart of the request, pgbase is the position where we should start at.\n\n[pnfsblock: mark IO error with NFS_LAYOUT_{RW|RO}_FAILED]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\n[pnfsblock: read path error handling]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfsblock: handle errors when read or write pagelist.]\nSigned-off-by: Zhang Jingwang \u003cyyalone@gmail.com\u003e\n[pnfs-block: use new read_pagelist api]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b2be7811dd94816f3df76708c8eb7f55bf7289e2",
      "tree": "45bd90a9b478dc0a81485cfe9ec228141d4dcbf2",
      "parents": [
        "90ace12ac42f65d1f077c5ef5ec2efafdcac338f"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:52 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:17 2011 -0400"
      },
      "message": "pnfsblock: cleanup_layoutcommit\n\nIn blocklayout driver. There are two things happening\nwhile layoutcommit/cleanup.\n1. the modified extents are encoded.\n2. On cleanup the extents are put back on the layout rw\n   extents list, for reads.\n\nIn the new system where actual xdr encoding is done in\nencode_layoutcommit() directly into xdr buffer, these are\nthe new commit stages:\n\n1. On setup_layoutcommit, the range is adjusted as before\n   and a structure is allocated for communication with\n   bl_encode_layoutcommit \u0026\u0026 bl_cleanup_layoutcommit\n   (Generic layer provides a void-star to hang it on)\n\n2. bl_encode_layoutcommit is called to do the actual\n   encoding directly into xdr. The commit-extent-list is not\n   freed and is stored on above structure.\n   FIXME: The code is not yet converted to the new XDR cleanup\n\n3. On cleanup the commit-extent-list is put back by a call\n   to set_to_rw() as before, but with no need for XDR decoding\n   of the list as before. And the commit-extent-list is freed.\n   Finally allocated structure is freed.\n\n[rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()]\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\n[pnfsblock: introduce bl_committing list]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\n[pnfsblock: SQUASHME: adjust to API change]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[blocklayout: encode_layoutcommit implementation]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[pnfsblock: fix bug setting up layoutcommit.]\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\n[pnfsblock: cleanup_layoutcommit wants a status parameter]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "90ace12ac42f65d1f077c5ef5ec2efafdcac338f",
      "tree": "b68267bbb609498f1005c56fe957251d92e14d78",
      "parents": [
        "9f3770422c771da32c1d14e650c695eec27dbd1d"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:51 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:17 2011 -0400"
      },
      "message": "pnfsblock: encode_layoutcommit\n\nIn blocklayout driver. There are two things happening\nwhile layoutcommit/cleanup.\n1. the modified extents are encoded.\n2. On cleanup the extents are put back on the layout rw\n   extents list, for reads.\n\nIn the new system where actual xdr encoding is done in\nencode_layoutcommit() directly into xdr buffer, these are\nthe new commit stages:\n\n1. On setup_layoutcommit, the range is adjusted as before\n   and a structure is allocated for communication with\n   bl_encode_layoutcommit \u0026\u0026 bl_cleanup_layoutcommit\n   (Generic layer provides a void-star to hang it on)\n\n2. bl_encode_layoutcommit is called to do the actual\n   encoding directly into xdr. The commit-extent-list is not\n   freed and is stored on above structure.\n   FIXME: The code is not yet converted to the new XDR cleanup\n\n3. On cleanup the commit-extent-list is put back by a call\n   to set_to_rw() as before, but with no need for XDR decoding\n   of the list as before. And the commit-extent-list is freed.\n   Finally allocated structure is freed.\n\n[rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()]\n[pnfsblock: get rid of deprecated xdr macros]\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[blocklayout: encode_layoutcommit implementation]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n[pnfsblock: fix bug setting up layoutcommit.]\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\n[pnfsblock: prevent commit list corruption]\n[pnfsblock: fix layoutcommit with an empty opaque]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9f3770422c771da32c1d14e650c695eec27dbd1d",
      "tree": "5c0ce4d8af872198c21c0fe3fd21fc8bf06a2d4b",
      "parents": [
        "c1c2a4cd352269f1fb585b4a5c63abe24dd946c6"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:50 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:17 2011 -0400"
      },
      "message": "pnfsblock: merge rw extents\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c1c2a4cd352269f1fb585b4a5c63abe24dd946c6",
      "tree": "0fc7470702b0fc3e7d156ac49285ec58de797fa3",
      "parents": [
        "6d742ba538f98164f3c5e05cdcadb4ec6ddf504f"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:49 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:17 2011 -0400"
      },
      "message": "pnfsblock: add extent manipulation functions\n\nAdds working implementations of various support functions\nto handle INVAL extents, needed by writes, such as\nbl_mark_sectors_init and bl_is_sector_init.\n\n[pnfsblock: fix 64-bit compiler warnings for extent manipulation]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[Implement release_inval_marks]\nSigned-off-by: Zhang Jingwang \u003czhangjingwang@nrchpc.ac.cn\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6d742ba538f98164f3c5e05cdcadb4ec6ddf504f",
      "tree": "b87c6f5d42eccfb028a207ce48dfa474c168fd1e",
      "parents": [
        "e9437ccef92a28ba4c9009404bb8c9b5672dc54a"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:48 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:16 2011 -0400"
      },
      "message": "pnfsblock: bl_find_get_extent\n\nImplement bl_find_get_extent(), one of the core extent manipulation\nroutines.\n\n[pnfsblock: Lookup list entry of layouts and tags in reverse order]\nSigned-off-by: Zhang Jingwang \u003czhangjingwang@nrchpc.ac.cn\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\n\npnfsblock: fix print format warnings for sector_t and size_t\n\ngcc spews warnings about these on x86_64, e.g.:\nfs/nfs/blocklayout/blocklayout.c:74: warning: format ‘%Lu’ expects type ‘long long unsigned int’, but argument 2 has type ‘sector_t’\nfs/nfs/blocklayout/blocklayout.c:388: warning: format ‘%d’ expects type ‘int’, but argument 5 has type ‘size_t’\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e9437ccef92a28ba4c9009404bb8c9b5672dc54a",
      "tree": "e14c1076b32c7d1ce4ba19c98beade79a74ac818",
      "parents": [
        "2f9fd182607e7b3bdca35f6ed7f2fae539f7c46b"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:47 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:16 2011 -0400"
      },
      "message": "pnfsblock: xdr decode pnfs_block_layout4\n\nXDR decodes the block layout payload sent in LAYOUTGET result, storing\nthe result in an extent list.\n\n[pnfsblock: get rid of deprecated xdr macros]\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfsblock: fix bug getting pnfs_layout_type in translate_devid().]\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2f9fd182607e7b3bdca35f6ed7f2fae539f7c46b",
      "tree": "9a61ca5ef63c4160c3b632fe333720d3927b627f",
      "parents": [
        "03341d2cc91c700fc38883e572043a6a8f17dd5c"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:46 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:16 2011 -0400"
      },
      "message": "pnfsblock: call and parse getdevicelist\n\nCall GETDEVICELIST during mount, then call and parse GETDEVICEINFO\nfor each device returned.\n\n[pnfsblock: get rid of deprecated xdr macros]\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\n[pnfsblock: fix pnfs_deviceid references]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfsblock: fix print format warnings for sector_t and size_t]\n[pnfs-block: #include \u003clinux/vmalloc.h\u003e]\n[pnfsblock: no PNFS_NFS_SERVER]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfsblock: fix bug determining size of striped volume]\n[pnfsblock: fix oops when using multiple devices]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[pnfsblock: get rid of vmap and deviceid-\u003earea structure]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "03341d2cc91c700fc38883e572043a6a8f17dd5c",
      "tree": "b5e25d8597188adac536b24158f51ed99e0b10f9",
      "parents": [
        "a60d2ebd93d3c5db5b6913c4844b8e6bd3b5538e"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:45 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:16 2011 -0400"
      },
      "message": "pnfsblock: merge extents\n\nReplace a stub, so that extents underlying the layouts are properly\nadded, merged, or ignored as necessary.\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfsblock: delete the new node before put it]\nSigned-off-by: Mingyang Guo \u003cguomingyang@nrchpc.ac.cn\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a60d2ebd93d3c5db5b6913c4844b8e6bd3b5538e",
      "tree": "34ef84344eb3cf3418c5ffe0058e65b3a3ec3dff",
      "parents": [
        "025a70ed6518f635f66f314d6959718be79638db"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:44 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:16 2011 -0400"
      },
      "message": "pnfsblock: lseg alloc and free\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfsblock: fix bug getting pnfs_layout_type in translate_devid().]\nSigned-off-by: Tao Guo \u003cguotao@nrchpc.ac.cn\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Zhang Jingwang \u003cJingwang.Zhang@emc.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "025a70ed6518f635f66f314d6959718be79638db",
      "tree": "9ad10662a6dc6d864c2459012d6751e77964794b",
      "parents": [
        "fe0a9b740881d181e3c96c1f6f6043e252692ffe"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Sat Jul 30 20:52:43 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:16 2011 -0400"
      },
      "message": "pnfsblock: remove device operations\n\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[upcall bugfixes]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fe0a9b740881d181e3c96c1f6f6043e252692ffe",
      "tree": "11dff7e25a2a9d922fba32d331530d671769c550",
      "parents": [
        "9e69296999362c4e4b2821b64389b47e86e4821b"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Sat Jul 30 20:52:42 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:16 2011 -0400"
      },
      "message": "pnfsblock: add device operations\n\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[upcall bugfixes]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9e69296999362c4e4b2821b64389b47e86e4821b",
      "tree": "e8810b4207cc054086eaeb519aa53d2af621ff0d",
      "parents": [
        "e9643fe80d1a1e0ad6acdf43138c39b5709fdbbe"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:41 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:16 2011 -0400"
      },
      "message": "pnfsblock: basic extent code\n\nAdds structures and basic create/delete code for extents.\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Zhang Jingwang \u003cJingwang.Zhang@emc.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e9643fe80d1a1e0ad6acdf43138c39b5709fdbbe",
      "tree": "294a606cf46942f33e5ffc56fa93ce620690ed55",
      "parents": [
        "155e7524f28fa374da041434085050693c3df45b"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sat Jul 30 20:52:40 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:15 2011 -0400"
      },
      "message": "pnfsblock: use pageio_ops api\n\n[pnfsblock: use pnfs_generic_pg_init_read/write]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "155e7524f28fa374da041434085050693c3df45b",
      "tree": "24a3940f5a2944754e9b631e247377cb352306b3",
      "parents": [
        "db29c089094b2e686ebc9ed9f002be4a4f94b1f8"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:39 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:15 2011 -0400"
      },
      "message": "pnfsblock: add blocklayout Kconfig option, Makefile, and stubs\n\nDefine a configuration variable to enable/disable compilation of the\nblock driver code.\n\nAdd the minimal structure for a pnfs block layout driver, and empty\nlist-heads that will hold the extent data\n\n[pnfsblock: make NFS_V4_1 select PNFS_BLOCK]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[pnfs-block: fix CONFIG_PNFS_BLOCK dependencies]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[pnfsblock: SQUASHME: adjust to API change]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfs: move pnfs_layout_type inline in nfs_inode]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\n[blocklayout: encode_layoutcommit implementation]\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[pnfsblock: layout alloc and free]\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\n[pnfs: move pnfs_layout_type inline in nfs_inode]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[pnfsblock: define module alias]\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\n[rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()]\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "db29c089094b2e686ebc9ed9f002be4a4f94b1f8",
      "tree": "1929e52e063af05032a1f95ad4d9bb49c7f609dd",
      "parents": [
        "dae100c2b1b9463996aab9162f2258145c43f7df"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sat Jul 30 20:52:38 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:15 2011 -0400"
      },
      "message": "pnfs: cleanup_layoutcommit\n\nThis gives layout driver a chance to cleanup structures they put in at\nencode_layoutcommit.\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[fixup layout header pointer for layoutcommit]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n[rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()]\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "dae100c2b1b9463996aab9162f2258145c43f7df",
      "tree": "302638375d4e6a0400964ae160216080760d984a",
      "parents": [
        "738fd0f360359aecc7fcd7604bbe9e854d81fb1f"
      ],
      "author": {
        "name": "Fred Isaman",
        "email": "iisaman@citi.umich.edu",
        "time": "Sat Jul 30 20:52:37 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:15 2011 -0400"
      },
      "message": "pnfs: ask for layout_blksize and save it in nfs_server\n\nBlock layout needs it to determine IO size.\n\nSigned-off-by: Fred Isaman \u003ciisaman@citi.umich.edu\u003e\nSigned-off-by: Tao Guo \u003cglorioustao@gmail.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "738fd0f360359aecc7fcd7604bbe9e854d81fb1f",
      "tree": "c2d7ba1680ee37383f1fd537cdafba6fef5dfd8e",
      "parents": [
        "7f11d8d38d64739e190581e015a2a2730ff54e2a"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Sat Jul 30 20:52:36 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:15 2011 -0400"
      },
      "message": "pnfs: add set-clear layoutdriver interface\n\nTo allow layout driver to issue getdevicelist at mount time, and clean up\nat umount time.\n\n[fixup non NFS_V4_1 set_pnfs_layoutdriver definition]\n[pnfs: pass mntfh down the init_pnfs path]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7f11d8d38d64739e190581e015a2a2730ff54e2a",
      "tree": "449178cb7ef4e4675cab239400f6b4e43ac83980",
      "parents": [
        "3557c6c3be5b2ca0b11365db7f8a813253eb520b"
      ],
      "author": {
        "name": "Andy Adamson",
        "email": "andros@netapp.com",
        "time": "Sat Jul 30 20:52:35 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:15 2011 -0400"
      },
      "message": "pnfs: GETDEVICELIST\n\nThe block driver uses GETDEVICELIST\n\nSigned-off-by: Andy Adamson \u003candros@netapp.com\u003e\n[pass struct nfs_server * to getdevicelist]\n[get machince creds for getdevicelist]\n[fix getdevicelist decode sizing]\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3557c6c3be5b2ca0b11365db7f8a813253eb520b",
      "tree": "f0f333f0a331c2ae2b68b73e3a9dc7e8f38feffc",
      "parents": [
        "a9bae5666d0510ad69bdb437371c9a3e6b770705"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Sat Jul 30 20:52:34 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:15 2011 -0400"
      },
      "message": "pnfs: use lwb as layoutcommit length\n\nUsing NFS4_MAX_UINT64 will break current protocol.\n\n[Needed in v3.0]\nCC: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a9bae5666d0510ad69bdb437371c9a3e6b770705",
      "tree": "5f94d5b75d7d870df9812f1bf277d91d9d7d66c1",
      "parents": [
        "9fa4075878a5faac872a63f4a97ce79c776264e9"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "peng_tao@emc.com",
        "time": "Sat Jul 30 20:52:33 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:15 2011 -0400"
      },
      "message": "pnfs: let layoutcommit handle a list of lseg\n\nThere can be multiple lseg per file, so layoutcommit should be\nable to handle it.\n\n[Needed in v3.0]\nCC: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9fa4075878a5faac872a63f4a97ce79c776264e9",
      "tree": "bcc2009c237cf5b8217ddb335f46ceed38a6e24d",
      "parents": [
        "acff5880539fe33897d016c0f3dcf062e67c61b6"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Sat Jul 30 20:52:32 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:14 2011 -0400"
      },
      "message": "pnfs: save layoutcommit cred at layout header init\n\nNo need to save it for every lseg.\nNo need to save it at every pnfs_set_layoutcommit.\n\n[Needed in v3.0]\nCC: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "acff5880539fe33897d016c0f3dcf062e67c61b6",
      "tree": "c5769a826e04e1c3b84c19d2b0f9932a2e69aa8f",
      "parents": [
        "374e4e3ec347d4f70e1417ce3e1c454f133dab72"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Sat Jul 30 20:52:31 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Jul 31 12:18:14 2011 -0400"
      },
      "message": "pnfs: save layoutcommit lwb at layout header\n\nNo need to save it for every lseg.\n\n[Needed in v3.0]\nCC: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0e995816f4fb69cef602b7fe82da68ced6be3b41",
      "tree": "841ce0af67dfaef41e5297fdbfa52255a1343f0b",
      "parents": [
        "250f8e3db646028353a2a737ddb7a894c97a1098"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Fri Jul 29 22:14:35 2011 -0600"
      },
      "committer": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Sun Jul 31 22:52:08 2011 +0800"
      },
      "message": "don\u0027t busy retry the inode on failed grab_super_passive()\n\nThis fixes a soft lockup on conditions\n\na) the flusher is working on a work by __bdi_start_writeback(), while\n\nb) someone else calls writeback_inodes_sb*() or sync_inodes_sb(), which\n   grab sb-\u003es_umount and enqueue a new work for the flusher to execute\n\nThe s_umount grabbed by (b) will fail the grab_super_passive() in (a).\nThen if the inode is requeued, wb_writeback() will busy retry on it.\nAs a result, wb_writeback() loops for ever without releasing\nwb-\u003elist_lock, which further blocks other tasks.\n\nFix the busy loop by redirtying the inode. This may undesirably delay\nthe writeback of the inode, however most likely it will be picked up\nsoon by the queued work by writeback_inodes_sb*(), sync_inodes_sb() or\neven writeback_inodes_wb().\n\nbug url: http://www.spinics.net/lists/linux-fsdevel/msg47292.html\n\nReported-by: Christoph Hellwig \u003chch@infradead.org\u003e\nTested-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "374e4e3ec347d4f70e1417ce3e1c454f133dab72",
      "tree": "9309b00af4c76c2f24854a15ce9e3d3f14741862",
      "parents": [
        "0c0308066ca53fdf1423895f3a42838b67b3a5a8"
      ],
      "author": {
        "name": "Bryan Schumaker",
        "email": "bjschuma@netapp.com",
        "time": "Fri Jul 29 11:49:06 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Jul 30 14:37:14 2011 -0400"
      },
      "message": "Additional readdir cookie loop information\n\nPrint out the name of the file that triggers the cookie loop  message to\nmake it slightly easier to track down the cause.\n\nSigned-off-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "0c0308066ca53fdf1423895f3a42838b67b3a5a8"
}
