)]}'
{
  "log": [
    {
      "commit": "c28cfd60e4ec3f494b73ef7d6c661f5f491cd84f",
      "tree": "390c23c07b4f484528b6fa5a72bae1b879df35b1",
      "parents": [
        "dfa4a423cf80afe8f81a36d8e663961c4acca343",
        "44231e686b2ba3b5702db867bb84e6d76b7cf2c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 21:33:50 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 21:33:50 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd: (21 commits)\n  ore: Enable RAID5 mounts\n  exofs: Support for RAID5 read-4-write interface.\n  ore: RAID5 Write\n  ore: RAID5 read\n  fs/Makefile: Always inspect exofs/\n  ore: Make ore_calc_stripe_info EXPORT_SYMBOL\n  ore/exofs: Change ore_check_io API\n  ore/exofs: Define new ore_verify_layout\n  ore: Support for partial component table\n  ore: Support for short read/writes\n  exofs: Support for short read/writes\n  ore: Remove check for ios-\u003ekern_buff in _prepare_for_striping to later\n  ore: cleanup: Embed an ore_striping_info inside ore_io_state\n  ore: Only IO one group at a time (API change)\n  ore/exofs: Change the type of the devices array (API change)\n  ore: Make ore_striping_info and ore_calc_stripe_info public\n  exofs: Remove unused data_map member from exofs_sb_info\n  exofs: Rename struct ore_components comps \u003d\u003e oc\n  exofs/super.c: local functions should be static\n  exofs/ore.c: local functions should be static\n  ...\n"
    },
    {
      "commit": "39adff5f69d6849ca22353a88058c9f8630528c0",
      "tree": "b0c2d2de77ebc5c97fd19c29b81eeb03549553f8",
      "parents": [
        "8a4a8918ed6e4a361f4df19f199bbc2d0a89a46c",
        "e35f95b36e43f67a6f806172555a152c11ea0a78"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 17:15:03 2011 +0200"
      },
      "message": "Merge branch \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\n* \u0027timers-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)\n  time, s390: Get rid of compile warning\n  dw_apb_timer: constify clocksource name\n  time: Cleanup old CONFIG_GENERIC_TIME references that snuck in\n  time: Change jiffies_to_clock_t() argument type to unsigned long\n  alarmtimers: Fix error handling\n  clocksource: Make watchdog reset lockless\n  posix-cpu-timers: Cure SMP accounting oddities\n  s390: Use direct ktime path for s390 clockevent device\n  clockevents: Add direct ktime programming function\n  clockevents: Make minimum delay adjustments configurable\n  nohz: Remove \"Switched to NOHz mode\" debugging messages\n  proc: Consider NO_HZ when printing idle and iowait times\n  nohz: Make idle/iowait counter update conditional\n  nohz: Fix update_ts_time_stat idle accounting\n  cputime: Clean up cputime_to_usecs and usecs_to_cputime macros\n  alarmtimers: Rework RTC device selection using class interface\n  alarmtimers: Add try_to_cancel functionality\n  alarmtimers: Add more refined alarm state tracking\n  alarmtimers: Remove period from alarm structure\n  alarmtimers: Remove interval cap limit hack\n  ...\n"
    },
    {
      "commit": "e33bae14fd8da449d735552d78e6dd33ece0458c",
      "tree": "048c062c47f7bfdb0ea8ad19c5b5849a58ff3022",
      "parents": [
        "7670c7010c7b367ca40c3aba02afb36149764a6e",
        "14211d026dad4641d4dffd7a4c520bcaa8fd4a65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:20:53 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 14:20:53 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://github.com/ericvh/linux\n\n* \u0027for-linus\u0027 of git://github.com/ericvh/linux:\n  9p: fix 9p.txt to advertise msize instead of maxdata\n  net/9p: Convert net/9p protocol dumps to tracepoints\n  fs/9p: change an int to unsigned int\n  fs/9p: Cleanup option parsing in 9p\n  9p: move dereference after NULL check\n  fs/9p: inode file operation is properly initialized init_special_inode\n  fs/9p: Update zero-copy implementation in 9p\n"
    },
    {
      "commit": "ef78cc75f11ba3b085b105209cbfc6666ee10499",
      "tree": "1820dbd8ebb422b0a5751981cdfb6a2ecd30e20b",
      "parents": [
        "1442d1678ca7e53574fd403ba7bee6f4125d920c",
        "940aab490215424a269f93d2eba2794fc8b3e269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:44:06 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:44:06 2011 +0200"
      },
      "message": "Merge branch \u0027nfs-for-3.2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs\n\n* \u0027nfs-for-3.2\u0027 of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (26 commits)\n  Check validity of cl_rpcclient in nfs_server_list_show\n  NFS: Get rid of the nfs_rdata_mempool\n  NFS: Don\u0027t rely on PageError in nfs_readpage_release_partial\n  NFS: Get rid of unnecessary calls to ClearPageError() in read code\n  NFS: Get rid of nfs_restart_rpc()\n  NFS: Get rid of the unused nfs_write_data-\u003eflags field\n  NFS: Get rid of the unused nfs_read_data-\u003eflags field\n  NFSv4: Translate NFS4ERR_BADNAME into ENOENT when applied to a lookup\n  NFS: Remove the unused \"lookupfh()\" version of nfs4_proc_lookup()\n  NFS: Use the inode-\u003ei_version to cache NFSv4 change attribute information\n  SUNRPC: Remove unnecessary export of rpc_sockaddr2uaddr\n  SUNRPC: Fix rpc_sockaddr2uaddr\n  nfs/super.c: local functions should be static\n  pnfsblock: fix writeback deadlock\n  pnfsblock: fix NULL pointer dereference\n  pnfs: recoalesce when ld read pagelist fails\n  pnfs: recoalesce when ld write pagelist fails\n  pnfs: make _set_lo_fail generic\n  pnfsblock: add missing rpc_put_mount and path_put\n  SUNRPC/NFS: make rpc pipe upcall generic\n  ...\n"
    },
    {
      "commit": "1442d1678ca7e53574fd403ba7bee6f4125d920c",
      "tree": "fd053a849158d2c5b8345ced8982108825b85736",
      "parents": [
        "7e0bb71e75020348bee523720a0c2f04cc72f540",
        "345c284290cabb5484df909303e73d6def8ec8ec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:42:01 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:42:01 2011 +0200"
      },
      "message": "Merge branch \u0027for-3.2\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-3.2\u0027 of git://linux-nfs.org/~bfields/linux: (103 commits)\n  nfs41: implement DESTROY_CLIENTID operation\n  nfsd4: typo logical vs bitwise negate for want_mask\n  nfsd4: allow NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL | NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED\n  nfsd4: seq-\u003estatus_flags may be used unitialized\n  nfsd41: use SEQ4_STATUS_BACKCHANNEL_FAULT when cb_sequence is invalid\n  nfsd4: implement new 4.1 open reclaim types\n  nfsd4: remove unneeded CLAIM_DELEGATE_CUR workaround\n  nfsd4: warn on open failure after create\n  nfsd4: preallocate open stateid in process_open1()\n  nfsd4: do idr preallocation with stateid allocation\n  nfsd4: preallocate nfs4_file in process_open1()\n  nfsd4: clean up open owners on OPEN failure\n  nfsd4: simplify process_open1 logic\n  nfsd4: make is_open_owner boolean\n  nfsd4: centralize renew_client() calls\n  nfsd4: typo logical vs bitwise negate\n  nfs: fix bug about IPv6 address scope checking\n  nfsd4: more robust ignoring of WANT bits in OPEN\n  nfsd4: move name-length checks to xdr\n  nfsd4: move access/deny validity checks to xdr code\n  ...\n"
    },
    {
      "commit": "b9e2780d576a010d4aba1e69f247170bf3718d6b",
      "tree": "54755015072a0200218b2cbd4e29e1495d398fc9",
      "parents": [
        "c9d6329c35869ebf2ff88a5831e8073d3365e8bd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Oct 25 05:38:41 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 15:10:28 2011 +0200"
      },
      "message": "sysfs: Remove support for tagged directories with untagged members (again)\n\nIn commit 8a9ea3237e7e (\"Merge git://.../davem/net-next\") where my sysfs\nchanges from the net tree merged with the sysfs rbtree changes from\nMickulas Patocka the conflict resolution failed to preserve the\nsimplified property that was the point of my changes.\n\nThat is sysfs_find_dirent can now say something is a match if and only\ns_name and s_ns match what we are looking for, and sysfs_readdir can\nsimply return all of the directory entries where s_ns matches the\ndirectory that we should be returning.\n\nNow that we are back to exact matches we can tweak sysfs_find_dirent and\nthe name rb_tree to order sysfs_dirents by s_ns s_name and remove the\nsecond loop in sysfs_find_dirent.  However that change seems a bit much\nfor a conflict resolution so it can come later.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8a9ea3237e7eb5c25f09e429ad242ae5a3d5ea22",
      "tree": "a0a63398a9983667d52cbbbf4e2405b4f22b1d83",
      "parents": [
        "1be025d3cb40cd295123af2c394f7229ef9b30ca",
        "8b3408f8ee994973869d8ba32c5bf482bc4ddca4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 13:25:22 2011 +0200"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1745 commits)\n  dp83640: free packet queues on remove\n  dp83640: use proper function to free transmit time stamping packets\n  ipv6: Do not use routes from locally generated RAs\n  |PATCH net-next] tg3: add tx_dropped counter\n  be2net: don\u0027t create multiple RX/TX rings in multi channel mode\n  be2net: don\u0027t create multiple TXQs in BE2\n  be2net: refactor VF setup/teardown code into be_vf_setup/clear()\n  be2net: add vlan/rx-mode/flow-control config to be_setup()\n  net_sched: cls_flow: use skb_header_pointer()\n  ipv4: avoid useless call of the function check_peer_pmtu\n  TCP: remove TCP_DEBUG\n  net: Fix driver name for mdio-gpio.c\n  ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT\n  rtnetlink: Add missing manual netlink notification in dev_change_net_namespaces\n  ipv4: fix ipsec forward performance regression\n  jme: fix irq storm after suspend/resume\n  route: fix ICMP redirect validation\n  net: hold sock reference while processing tx timestamps\n  tcp: md5: add more const attributes\n  Add ethtool -g support to virtio_net\n  ...\n\nFix up conflicts in:\n - drivers/net/Kconfig:\n\tThe split-up generated a trivial conflict with removal of a\n\tstale reference to Documentation/networking/net-modules.txt.\n\tRemove it from the new location instead.\n - fs/sysfs/dir.c:\n\tFairly nasty conflicts with the sysfs rb-tree usage, conflicting\n\twith Eric Biederman\u0027s changes for tagged directories.\n"
    },
    {
      "commit": "2d03423b2319cc854adeb28a03f65de5b5e0ab63",
      "tree": "20d9ddb661f3247f5dfaa6da8212123ed14a24c4",
      "parents": [
        "59e52534172d845ebffb0d7e85fc56fb7b857051",
        "2bbcb8788311a40714b585fc11b51da6ffa2ab92"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:13:59 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:13:59 2011 +0200"
      },
      "message": "Merge branch \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\n* \u0027driver-core-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (38 commits)\n  mm: memory hotplug: Check if pages are correctly reserved on a per-section basis\n  Revert \"memory hotplug: Correct page reservation checking\"\n  Update email address for stable patch submission\n  dynamic_debug: fix undefined reference to `__netdev_printk\u0027\n  dynamic_debug: use a single printk() to emit messages\n  dynamic_debug: remove num_enabled accounting\n  dynamic_debug: consolidate repetitive struct _ddebug descriptor definitions\n  uio: Support physical addresses \u003e32 bits on 32-bit systems\n  sysfs: add unsigned long cast to prevent compile warning\n  drivers: base: print rejected matches with DEBUG_DRIVER\n  memory hotplug: Correct page reservation checking\n  memory hotplug: Refuse to add unaligned memory regions\n  remove the messy code file Documentation/zh_CN/SubmitChecklist\n  ARM: mxc: convert device creation to use platform_device_register_full\n  new helper to create platform devices with dma mask\n  docs/driver-model: Update device class docs\n  docs/driver-model: Document device.groups\n  kobj_uevent: Ignore if some listeners cannot handle message\n  dynamic_debug: make netif_dbg() call __netdev_printk()\n  dynamic_debug: make netdev_dbg() call __netdev_printk()\n  ...\n"
    },
    {
      "commit": "59e52534172d845ebffb0d7e85fc56fb7b857051",
      "tree": "49552e03f1bdb413cd8b5f7542e91770688d7047",
      "parents": [
        "73692d9bb58ecc2fa73f4b2bfcf6eadaa6d49a26",
        "0d89e54c8249645404283436d952afc261a04e1e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 12:11:02 2011 +0200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)\n  MAINTAINERS: linux-m32r is moderated for non-subscribers\n  linux@lists.openrisc.net is moderated for non-subscribers\n  Drop default from \"DM365 codec select\" choice\n  parisc: Kconfig: cleanup Kernel page size default\n  Kconfig: remove redundant CONFIG_ prefix on two symbols\n  cris: remove arch/cris/arch-v32/lib/nand_init.S\n  microblaze: add missing CONFIG_ prefixes\n  h8300: drop puzzling Kconfig dependencies\n  MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers\n  tty: drop superfluous dependency in Kconfig\n  ARM: mxc: fix Kconfig typo \u0027i.MX51\u0027\n  Fix file references in Kconfig files\n  aic7xxx: fix Kconfig references to READMEs\n  Fix file references in drivers/ide/\n  thinkpad_acpi: Fix printk typo \u0027bluestooth\u0027\n  bcmring: drop commented out line in Kconfig\n  btmrvl_sdio: fix typo \u0027btmrvl_sdio_sd6888\u0027\n  doc: raw1394: Trivial typo fix\n  CIFS: Don\u0027t free volume_info-\u003eUNC until we are entirely done with it.\n  treewide: Correct spelling of successfully in comments\n  ...\n"
    },
    {
      "commit": "36b8d186e6cc8e32cb5227f5645a58e1bc0af190",
      "tree": "1000ad26e189e6ff2c53fb7eeff605f59c7ad94e",
      "parents": [
        "cd85b557414fe4cd44ea6608825e96612a5fe2b2",
        "c45ed235abf1b0b6666417e3c394f18717976acd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 09:45:31 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 25 09:45:31 2011 +0200"
      },
      "message": "Merge branch \u0027next\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027next\u0027 of git://selinuxproject.org/~jmorris/linux-security: (95 commits)\n  TOMOYO: Fix incomplete read after seek.\n  Smack: allow to access /smack/access as normal user\n  TOMOYO: Fix unused kernel config option.\n  Smack: fix: invalid length set for the result of /smack/access\n  Smack: compilation fix\n  Smack: fix for /smack/access output, use string instead of byte\n  Smack: domain transition protections (v3)\n  Smack: Provide information for UDS getsockopt(SO_PEERCRED)\n  Smack: Clean up comments\n  Smack: Repair processing of fcntl\n  Smack: Rule list lookup performance\n  Smack: check permissions from user space (v2)\n  TOMOYO: Fix quota and garbage collector.\n  TOMOYO: Remove redundant tasklist_lock.\n  TOMOYO: Fix domain transition failure warning.\n  TOMOYO: Remove tomoyo_policy_memory_lock spinlock.\n  TOMOYO: Simplify garbage collector.\n  TOMOYO: Fix make namespacecheck warnings.\n  target: check hex2bin result\n  encrypted-keys: check hex2bin result\n  ...\n"
    },
    {
      "commit": "44231e686b2ba3b5702db867bb84e6d76b7cf2c7",
      "tree": "ba99b8cf458a8c24264bfe3826d44610861a283a",
      "parents": [
        "dd296619974c50c46c67e58f355a7e85ef3f0c01"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Nov 21 20:03:24 2010 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 24 17:22:29 2011 -0700"
      },
      "message": "ore: Enable RAID5 mounts\n\nNow that we support raid5 Enable it at mount. Raid6 will come next\nraid4 is not demanded for so it will probably not be enabled.\n(Until some one wants it)\n\nNOTE: That mkfs.exofs had support for raid5/6 since long time\nago. (Making an empty raidX FS is just as easy as raid0 ;-} )\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "dd296619974c50c46c67e58f355a7e85ef3f0c01",
      "tree": "516eb00e50add1fe1cce74e8967857af5d41083e",
      "parents": [
        "769ba8d92025fa390f3097e658b8ed6e032d68e9"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Oct 12 15:42:07 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 24 17:22:28 2011 -0700"
      },
      "message": "exofs: Support for RAID5 read-4-write interface.\n\nThe ore need suplied a r4w_get_page/r4w_put_page API\nfrom Filesystem so it can get cache pages to read-into when\nwriting parial stripes.\n\nAlso I commented out and NULLed the .writepage (singular)\nvector. Because it gives terrible write pattern to raid\nand is apparently not needed. Even in OOM conditions the\nsystem copes (even better) with out it.\n\nTODO: How to specify to write_cache_pages() to start\n      or include a certain page?\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "769ba8d92025fa390f3097e658b8ed6e032d68e9",
      "tree": "eec1a556d6b3796f702c96e7f97ce94ba7d9d410",
      "parents": [
        "a1fec1dbbc8db974d2582e4040590cebe72171e4"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 15:33:51 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 24 17:15:33 2011 -0700"
      },
      "message": "ore: RAID5 Write\n\nThis is finally the RAID5 Write support.\n\nThe bigger part of this patch is not the XOR engine itself, But the\nread4write logic, which is a complete mini prepare_for_striping\nreading engine that can read scattered pages of a stripe into cache\nso it can be used for XOR calculation. That is, if the write was not\nstripe aligned.\n\nThe main algorithm behind the XOR engine is the 2 dimensional array:\n\tstruct __stripe_pages_2d.\nA drawing might save 1000 words\n---\n\n__stripe_pages_2d\n       |\n n \u003d pages_in_stripe_unit;\n w \u003d group_width - parity;\n       |                            pages array presented to the XOR lib\n       |                                                |\n       V                                                |\n __1_page_stripe[0].pages --\u003e [c0][c1]..[cw][c_par] \u003c---|\n       |                                                |\n __1_page_stripe[1].pages --\u003e [c0][c1]..[cw][c_par] \u003c---\n       |\n...    |                         ...\n       |\n __1_page_stripe[n].pages --\u003e [c0][c1]..[cw][c_par]\n                               ^\n                               |\n           data added columns first then row\n\n---\nThe pages are put on this array columns first. .i.e:\n\tp0-of-c0, p1-of-c0, ... pn-of-c0, p0-of-c1, ...\nSo we are doing a corner turn of the pages.\n\nNote that pages will zigzag down and left. but are put sequentially\nin growing order. So when the time comes to XOR the stripe, only the\nbeginning and end of the array need be checked. We scan the array\nand any NULL spot will be field by pages-to-be-read.\n\nThe FS that wants to support RAID5 needs to supply an\noperations-vector that searches a given page in cache, and specifies\nif the page is uptodate or need reading. All these pages to be read\nare put on a slave ore_io_state and synchronously read. All the pages\nof a stripe are read in one IO, using the scatter gather mechanism.\n\nIn write we constrain our IO to only be incomplete on a single\nstripe. Meaning either the complete IO is within a single stripe so\nwe might have pages to read from both beginning  or end of the\nstrip. Or we have some reading to do at beginning but end at strip\nboundary. The left over pages are pushed to the next IO by the API\nalready established by previous work, where an IO offset/length\ncombination presented to the ORE might get the length truncated and\nthe user must re-submit the leftover pages. (Both exofs and NFS\nsupport this)\n\nBut any ORE user should make it\u0027s best effort to align it\u0027s IO\nbefore hand and avoid complications. A cached ore_layout-\u003estripe_size\nmember can be used for that calculation. (NOTE: that ORE demands\nthat stripe_size may not be bigger then 32bit)\n\nWhat else? Well read it and tell me.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "a1fec1dbbc8db974d2582e4040590cebe72171e4",
      "tree": "9dcbe1933b7f40256f40393f3c86dbb16e8fb953",
      "parents": [
        "3e335672e018c06e007f85a5d54afd721fb3d6d5"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Oct 12 18:42:22 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 24 16:55:36 2011 -0700"
      },
      "message": "ore: RAID5 read\n\nThis patch introduces the first stage of RAID5 support\nmainly the skip-over-raid-units when reading. For\nwrites it inserts BLANK units, into where XOR blocks\nshould be calculated and written to.\n\nIt introduces the new \"general raid maths\", and the main\nadditional parameters and components needed for raid5.\n\nSince at this stage it could corrupt future version that\nactually do support raid5. The enablement of raid5\nmounting and setting of parity-count \u003e 0 is disabled. So\nthe raid5 code will never be used. Mounting of raid5 is\nonly enabled later once the basic XOR write is also in.\nBut if the patch \"enable RAID5\" is applied this code has\nbeen tested to be able to properly read raid5 volumes\nand is according to standard.\n\nAlso it has been tested that the new maths still properly\nsupports RAID0 and grouping code just as before.\n(BTW: I have found more bugs in the pnfs-obj RAID math\n fixed here)\n\nThe ore.c file is getting too big, so new ore_raid.[hc]\nfiles are added that will include the special raid stuff\nthat are not used in striping and mirrors. In future write\nsupport these will get bigger.\nWhen adding the ore_raid.c to Kbuild file I was forced to\nrename ore.ko to libore.ko. Is it possible to keep source\nfile, say ore.c and module file ore.ko the same even if there\nare multiple files inside ore.ko?\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "3e335672e018c06e007f85a5d54afd721fb3d6d5",
      "tree": "80cb2e8a90b66bc575fdc0c823c5008113262711",
      "parents": [
        "611d7a5dc6f2a1a0cfd8cc07b9d15f794cbe5f98"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 24 16:36:33 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 24 16:36:33 2011 -0700"
      },
      "message": "fs/Makefile: Always inspect exofs/\n\nfs/exofs directory has multiple targets now, of which the\nore.ko will be needed by the pnfs-objects-layout-driver\n(fs/nfs/objlayout).\n\nAs suggested by: Michal Marek \u003cmmarek@suse.cz\u003e  convert\ninclusion of exofs/ from obj-$(CONFIG_EXOFS_FS) \u003d\u003e obj-$(y).\nSo ORE can be selected also from fs/nfs/Kconfig\n\nCC: Michal Marek \u003cmmarek@suse.cz\u003e\nCC: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "611d7a5dc6f2a1a0cfd8cc07b9d15f794cbe5f98",
      "tree": "14227c7f62331a977e1979d1011b1bc85b6e102e",
      "parents": [
        "4b46c9f5cf69505f0bc708995b88b0cc60317ffd"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Oct 04 14:20:17 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 24 16:30:08 2011 -0700"
      },
      "message": "ore: Make ore_calc_stripe_info EXPORT_SYMBOL\n\nore_calc_stripe_info is needed by exofs::export.c\nfor the layout calculations. Make it exportable\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "1805b2f04855f07afe3a71d620a68f483b0ed74f",
      "tree": "b823b90f37f5404fcaef70f785c70112ca74a329",
      "parents": [
        "78d81d15b74246c7cedf84894434890b33da3907",
        "f42af6c486aa5ca6ee62800cb45c5b252020509d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "348b59012e5c6402741d067cf6eeeb6271999d06",
      "tree": "38041cac7af6f020fa2756eded6a2d9f31132ffc",
      "parents": [
        "ef6b0807e2c986d5f1cb878e1b32a7cf4c32b4c8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Aug 07 00:46:59 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 24 11:13:12 2011 -0500"
      },
      "message": "net/9p: Convert net/9p protocol dumps to tracepoints\n\nThis helps in more control over debugging.\nroot@qemu-img-64:~# ls /pass/123\nls: cannot access /pass/123: No such file or directory\nroot@qemu-img-64:~# cat /sys/kernel/debug/tracing/trace\n# tracer: nop\n#\n#           TASK-PID    CPU#    TIMESTAMP  FUNCTION\n#              | |       |          |         |\n              ls-1536  [001]    70.928584: 9p_protocol_dump: clnt 18446612132784021504 P9_TWALK(tag \u003d 1)\n000: 16 00 00 00 6e 01 00 01 00 00 00 02 00 00 00 01\n010: 00 03 00 31 32 33 00 00 00 ff ff ff ff 00 00 00\n\n              ls-1536  [001]    70.928587: \u003cstack trace\u003e\n \u003d\u003e trace_9p_protocol_dump\n \u003d\u003e p9pdu_finalize\n \u003d\u003e p9_client_rpc\n \u003d\u003e p9_client_walk\n \u003d\u003e v9fs_vfs_lookup\n \u003d\u003e d_alloc_and_lookup\n \u003d\u003e walk_component\n \u003d\u003e path_lookupat\n              ls-1536  [000]    70.929696: 9p_protocol_dump: clnt 18446612132784021504 P9_RLERROR(tag \u003d 1)\n000: 0b 00 00 00 07 01 00 02 00 00 00 4e 03 00 02 00\n010: 00 00 00 00 03 00 02 00 00 00 00 00 ff 43 00 00\n\n              ls-1536  [000]    70.929697: \u003cstack trace\u003e\n \u003d\u003e trace_9p_protocol_dump\n \u003d\u003e p9_client_rpc\n \u003d\u003e p9_client_walk\n \u003d\u003e v9fs_vfs_lookup\n \u003d\u003e d_alloc_and_lookup\n \u003d\u003e walk_component\n \u003d\u003e path_lookupat\n \u003d\u003e do_path_lookup\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "4d5077f1b2aa502a0ca98b450d1b16fbccfe9c63",
      "tree": "dab8859206b0e198a2d0862a1228d8342073e659",
      "parents": [
        "5635fd0ccf4ce90a9ecf8fa48f5f031f5f73e6f5"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Aug 30 12:19:34 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 24 11:13:12 2011 -0500"
      },
      "message": "fs/9p: Cleanup option parsing in 9p\n\nInstead of saying all integer argument option should be listed in the beginning\nmove integer parsing to each option type.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "464f5ecf00bb4513ba257520678f5168452f67ba",
      "tree": "33d21ae3efb9c7a333de00281d2c059fbfd8c912",
      "parents": [
        "abfa034e4b8ed0046fa589769e9840af645bc4ba"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Aug 30 11:31:21 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 24 11:13:11 2011 -0500"
      },
      "message": "fs/9p: inode file operation is properly initialized init_special_inode\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "abfa034e4b8ed0046fa589769e9840af645bc4ba",
      "tree": "146195e891a2fd63e3fc91f803547abb904b2087",
      "parents": [
        "c3b92c8787367a8bb53d57d9789b558f1295cc96"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Aug 16 10:50:10 2011 +0530"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Mon Oct 24 11:13:11 2011 -0500"
      },
      "message": "fs/9p: Update zero-copy implementation in 9p\n\n* remove lot of update to different data structure\n* add a seperate callback for zero copy request.\n* above makes non zero copy code path simpler\n* remove conditionalizing TREAD/TREADDIR/TWRITE in the zero copy path\n* Fix the dotu p9_check_errors with zero copy. Add sufficient doc around\n* Add support for both in and output buffers in zero copy callback\n* pin and unpin pages in the same context\n* use helpers instead of defining page offset and rest of page ourself\n* Fix mem leak in p9_check_errors\n* Remove \u0027E\u0027 and \u0027F\u0027 in p9pdu_vwritef\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "345c284290cabb5484df909303e73d6def8ec8ec",
      "tree": "1a853fe648230fefee758e36bd1ab141639c0b83",
      "parents": [
        "92bac8c5d60623167c6802b1f125e6d623708185"
      ],
      "author": {
        "name": "Mi Jinlong",
        "email": "mijinlong@cn.fujitsu.com",
        "time": "Thu Oct 20 17:51:39 2011 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 24 04:24:30 2011 -0400"
      },
      "message": "nfs41: implement DESTROY_CLIENTID operation\n\nAccording to rfc5661 18.50, implement DESTROY_CLIENTID operation.\n\nSigned-off-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "92bac8c5d60623167c6802b1f125e6d623708185",
      "tree": "63d91f06ad66ea362e588dbf29aed6ba075fa992",
      "parents": [
        "c668fc6dfcce98f8222ce1c997f4e5c4ac63f3d0"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@tonian.com",
        "time": "Wed Oct 19 19:13:29 2011 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 24 04:24:29 2011 -0400"
      },
      "message": "nfsd4: typo logical vs bitwise negate for want_mask\n\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c668fc6dfcce98f8222ce1c997f4e5c4ac63f3d0",
      "tree": "5e4b637fbe6e0a060fe9c22fe9167caec8b66d27",
      "parents": [
        "fc0c3dd13bac0675cdedc4e0d0641aa8a22e82de"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@tonian.com",
        "time": "Wed Oct 19 19:13:13 2011 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 24 04:24:28 2011 -0400"
      },
      "message": "nfsd4: allow NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL | NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED\n\nRFC5661 says:\n   The client may set one or both of\n   OPEN4_SHARE_ACCESS_WANT_SIGNAL_DELEG_WHEN_RESRC_AVAIL and\n   OPEN4_SHARE_ACCESS_WANT_PUSH_DELEG_WHEN_UNCONTENDED.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "fc0c3dd13bac0675cdedc4e0d0641aa8a22e82de",
      "tree": "e5762e78be340718fc90aa1fc8660124293460e3",
      "parents": [
        "5423732a71577f7860c56a4eea2c34ff162ddd73"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@tonian.com",
        "time": "Wed Oct 19 19:13:06 2011 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 24 04:24:28 2011 -0400"
      },
      "message": "nfsd4: seq-\u003estatus_flags may be used unitialized\n\nReported-by: Gopala Suryanarayana \u003cgsuryanarayana@vmware.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "5423732a71577f7860c56a4eea2c34ff162ddd73",
      "tree": "5d7af992af7ff974796288272ce2604dad8f1284",
      "parents": [
        "8b289b2c2355c3bea75f3e499b4aa251a3191382"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Wed Oct 19 19:12:58 2011 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 24 04:24:27 2011 -0400"
      },
      "message": "nfsd41: use SEQ4_STATUS_BACKCHANNEL_FAULT when cb_sequence is invalid\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "940aab490215424a269f93d2eba2794fc8b3e269",
      "tree": "6dec5a3d9476fd3c409d7a73040e0eafb1eba756",
      "parents": [
        "b6ee8cd2642f6d822dd1a4ba62298b65ff99b72e"
      ],
      "author": {
        "name": "Malahal Naineni",
        "email": "malahal@us.ibm.com",
        "time": "Tue Sep 20 17:27:14 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 20 18:44:04 2011 -0500"
      },
      "message": "Check validity of cl_rpcclient in nfs_server_list_show\n\nAs soon as the nfs_client gets created, its cl_rpcclient is set to\nERR_PTR(-EINVAL). The rpc client structure is allocated later. Check\nif the client is ready before using the cl_rpcclient pointer.\n\nSigned-off-by: Malahal Naineni \u003cmalahal@us.ibm.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "903e21e2eea036f6947f523f732e28b33a63ed0f",
      "tree": "e63059c0acbfde6eca66cd9c293a984e64d6cab8",
      "parents": [
        "23396180a9770df2c6a694bbb689c12bdf792f94"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 12 22:02:43 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 19:24:16 2011 -0400"
      },
      "message": "sysfs: Reject with a warning invalid uses of tagged directories.\n\nsysfs is a core piece of ifrastructure that many people use and\nfew people have all of the rules in their head on how to use\nit correctly.  Add warnings for people using tagged directories\nimproperly to that any misuses can be caught and diagnosed quickly.\n\nA single inexpensive test in sysfs_find_dirent is almost sufficient\nto catch all possible misuses.  An additional warning is needed\nin sysfs_add_dirent so that we actually fail when attempting to\nadd an untagged dirent in a tagged directory.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23396180a9770df2c6a694bbb689c12bdf792f94",
      "tree": "a943f113f6532b04fcef1673113493cf44ac2365",
      "parents": [
        "4c22400ab64d434a00ecbe0c655a16956c902aa8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 12 22:01:34 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 19:24:15 2011 -0400"
      },
      "message": "sysfs: Remove support for tagged directories with untagged members.\n\nNow that /sys/class/net/bonding_masters is implemented as a tagged sysfs\nfile we can remove support for untagged files in tagged directories.\n\nThis change removes any ambiguity of what a NULL namespace value\nmeans.  A NULL namespace parameter after this patch means\nthat we are talking about an untagged sysfs dirent.\n\nThis makes the sysfs code much less prone to mistakes when during\nmaintenance.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "487505c257021fc06a7d05753cf27b011487f1dc",
      "tree": "4fedc207c7e3d21bd394d9187fd1cc9f65768e2c",
      "parents": [
        "d5edf2906e0a251ddddd76caeb1b79de8bb5e3b8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 12 21:53:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 19 19:24:14 2011 -0400"
      },
      "message": "sysfs: Implement support for tagged files in sysfs.\n\nLooking up files in sysfs is hard to understand and analyize because we\ncurrently allow placing untagged files in tagged directories.  In the\nimplementation of that we have two subtly different meanings of NULL.\nNULL meaning there is no tag on a directory entry and NULL meaning\nwe don\u0027t care which namespace the lookup is performed for.  This\nmultiple uses of NULL have resulted in subtle bugs (since fixed)\nin the code.\n\nCurrently it is only the bonding driver that needs to have an untagged\nfile in a tagged directory.\n\nTo untagle this mess I am adding support for tagged files to sysfs.\nModifying the bonding driver to implement bonding_masters as a tagged\nfile.  Registering bonding_masters once for each network namespace.\nThen I am removing support for untagged entries in tagged sysfs\ndirectories.\n\nResulting in code that is much easier to reason about.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6ee8cd2642f6d822dd1a4ba62298b65ff99b72e",
      "tree": "7396c32b86b417b3a7158599bbd2aa0889c86c48",
      "parents": [
        "fba730050d1246d0e6ef44e026e0b584732fec2b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 12:17:29 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 13:58:38 2011 -0700"
      },
      "message": "NFS: Get rid of the nfs_rdata_mempool\n\nWe don\u0027t need a mempool in order to guarantee reliable NFS read performance.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fba730050d1246d0e6ef44e026e0b584732fec2b",
      "tree": "0f82efd65d61d40e6cc994fd8e69b9db0a2e6cb1",
      "parents": [
        "fbb5a9abf0d589e9471dc93b18025b7b921d22c9"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 12:17:29 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 13:58:38 2011 -0700"
      },
      "message": "NFS: Don\u0027t rely on PageError in nfs_readpage_release_partial\n\nDon\u0027t rely on the PageError flag to tell us if one of the partial reads of\nthe page failed. Instead, replace that with a dedicated flag in the\nstruct nfs_page.\n\nThen clean out redundant uses of the PageError flag: the VM no longer\nchecks it for reads.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fbb5a9abf0d589e9471dc93b18025b7b921d22c9",
      "tree": "0f9ad68b242159289fd57b39dddd5fb4da7ea708",
      "parents": [
        "d00c5d43866720963a265fa3129f3203cac35b8e"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 12:17:29 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 13:58:37 2011 -0700"
      },
      "message": "NFS: Get rid of unnecessary calls to ClearPageError() in read code\n\nThe generic file read code does that for us anyway.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "d00c5d43866720963a265fa3129f3203cac35b8e",
      "tree": "0121c93156007c7764a818cc70b6864614e40536",
      "parents": [
        "b8ef70639b609c5d12c618f1d9ffae6ac13aebe3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 12:17:29 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Oct 19 13:58:30 2011 -0700"
      },
      "message": "NFS: Get rid of nfs_restart_rpc()\n\nIt can trivially be replaced with rpc_restart_call_prepare.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8b289b2c2355c3bea75f3e499b4aa251a3191382",
      "tree": "1811962d5409e5585d9e21921080bf007dfe554b",
      "parents": [
        "a8d86cd75b709a9c9402c46674ea188493c53901"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Oct 19 11:52:12 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Oct 19 11:52:12 2011 -0400"
      },
      "message": "nfsd4: implement new 4.1 open reclaim types\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a8d86cd75b709a9c9402c46674ea188493c53901",
      "tree": "54db34075031aff286004d5c8161731ef59f7b28",
      "parents": [
        "856121b2e83bd64bffdc8de449d24c9295e92ff3"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Oct 19 11:42:03 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Oct 19 11:42:03 2011 -0400"
      },
      "message": "nfsd4: remove unneeded CLAIM_DELEGATE_CUR workaround\n\n0c12eaffdf09466f36a9ffe970dda8f4aeb6efc0 \"nfsd: don\u0027t break lease on\nCLAIM_DELEGATE_CUR\" was a temporary workaround for a problem fixed\nproperly in the vfs layer by 778fc546f749c588aa2f6cd50215d2715c374252\n\"locks: fix tracking of inprogress lease breaks\", so we can revert that\nchange (but keeping some minor cleanup from that commit).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "08ef7bd3bc04261d14d570ac7eaac3eac947b1ba",
      "tree": "cc64173b71d4df4a8da4fd2230ae121828fd5443",
      "parents": [
        "0c2e53f11a6dae9e3af5f50f5ad0382e7c3e0cfa"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 16:11:49 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 16:13:51 2011 -0700"
      },
      "message": "NFSv4: Translate NFS4ERR_BADNAME into ENOENT when applied to a lookup\n\nBoth LOOKUP and OPEN operations may return NFS4ERR_BADNAME if we send a\nan invalid name as a filename argument. As far as the application is\nconcerned, it just has to know that the file doesn\u0027t exist, and so\nENOENT would be the appropriate reply. We should only return EINVAL\nif the filename is being used to _create_ a new object on the\nremote filesystem.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0c2e53f11a6dae9e3af5f50f5ad0382e7c3e0cfa",
      "tree": "a79761d89ca6ca2c9018724a6245b3a7566c89a9",
      "parents": [
        "a9a4a87a5942e9271523197a90aaa82349c818fb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 16:11:22 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 16:13:51 2011 -0700"
      },
      "message": "NFS: Remove the unused \"lookupfh()\" version of nfs4_proc_lookup()\n\n...and also remove the associated nfs_v4_clientops entry.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "a9a4a87a5942e9271523197a90aaa82349c818fb",
      "tree": "88001fc58944798ff41d36a08ccf2bdace2cda6e",
      "parents": [
        "919066d690541f4bd727b0e0fc2f7a20a7e3b3a7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 17 16:08:46 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:14:34 2011 -0700"
      },
      "message": "NFS: Use the inode-\u003ei_version to cache NFSv4 change attribute information\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "45402c38eec740f52422aafc92937c6a4a8c8c0e",
      "tree": "c5ca2061deba7b2a1cc8b923ef781d8c3cdee011",
      "parents": [
        "7542274519b3ba87555410c66e8356ac1e3bc9b3"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Sep 02 14:39:12 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:15 2011 -0700"
      },
      "message": "nfs/super.c: local functions should be static\n\ncommit ae50c0b5 \"pnfs: client stats\" added additional information to\nthe output of /proc/self/mountstats. The new functions introduced are\nonly used in this file and should be marked static.\n\nIf CONFIG_NFS_V4_1 is not defined, empty stub functions are used.  If\nCONFIG_NFS_V4 is not defined these stub functions are not used at all.\nAdding static for the functions results in compile warnings:\n\nfs/nfs/super.c:743: warning: \u0027show_sessions\u0027 defined but not used\nfs/nfs/super.c:756: warning: \u0027show_pnfs\u0027 defined but not used\n\nFix this by adding a #ifdef CONFIG_NFS_V4 guard around the two\nshow_ functions.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7542274519b3ba87555410c66e8356ac1e3bc9b3",
      "tree": "9245c8fde7984b4338a341033c9caa5c9f128dd4",
      "parents": [
        "e6d05a757c314ad88d0649d3835a8a1daa964236"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:17 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:15 2011 -0700"
      },
      "message": "pnfsblock: fix writeback deadlock\n\nWe should check if the sector is already initialized before\ntrying to grab the page from page cache. Otherwise when two\npages of the same block are written back by two threads each\ncalling from writepage_locked, it can cause deadlock like bellow.\n\n [ 1080.972099] INFO: task kswapd0:25 blocked for more than 120 seconds.\n [ 1080.972377] \"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n [ 1080.972812] kswapd0         D ffff88000c4926c0     0    25      2 0x00000000\n [ 1080.972816]  ffff88000df276b0 0000000000000046 ffff88000df27640 ffffffff81013ba7\n [ 1080.972821]  ffff88000c492310 ffff88000df27fd8 ffff88000df27fd8 00000000001d3440\n [ 1080.972824]  ffff88000c378000 ffff88000c492310 ffff8800175d3d40 ffff880017fc75a8\n [ 1080.972828] Call Trace:\n [ 1080.972860]  [\u003cffffffff81013ba7\u003e] ? read_tsc+0x9/0x19\n [ 1080.972877]  [\u003cffffffff810e0b23\u003e] ? lock_page+0x2b/0x2b\n [ 1080.972899]  [\u003cffffffff81475a1d\u003e] io_schedule+0x63/0x7e\n [ 1080.972902]  [\u003cffffffff810e0b31\u003e] sleep_on_page+0xe/0x12\n [ 1080.972905]  [\u003cffffffff81475fe8\u003e] __wait_on_bit_lock+0x46/0x8f\n [ 1080.972916]  [\u003cffffffff810822d7\u003e] ? lock_release_holdtime.part.7+0x6b/0x72\n [ 1080.972919]  [\u003cffffffff810e0af6\u003e] __lock_page+0x66/0x68\n [ 1080.972928]  [\u003cffffffff81072705\u003e] ? autoremove_wake_function+0x3d/0x3d\n [ 1080.972932]  [\u003cffffffff810e0b1f\u003e] lock_page+0x27/0x2b\n [ 1080.972934]  [\u003cffffffff810e0bcf\u003e] find_lock_page+0x34/0x57\n [ 1080.972937]  [\u003cffffffff810e1738\u003e] find_or_create_page+0x34/0x8a\n [ 1080.972947]  [\u003cffffffffa034245b\u003e] bl_write_pagelist+0x205/0x6da [blocklayoutdriver]\n [ 1080.972951]  [\u003cffffffffa034145d\u003e] ? bl_free_lseg+0x38/0x38 [blocklayoutdriver]\n [ 1080.972995]  [\u003cffffffffa02e27b9\u003e] ? nfs_write_rpcsetup+0x118/0x123 [nfs]\n [ 1080.973033]  [\u003cffffffffa030246b\u003e] pnfs_generic_pg_writepages+0x10b/0x1f4 [nfs]\n [ 1080.973089]  [\u003cffffffffa02deaae\u003e] nfs_pageio_doio+0x1a/0x43 [nfs]\n [ 1080.973098]  [\u003cffffffffa02df035\u003e] nfs_pageio_complete+0x16/0x2d [nfs]\n [ 1080.973108]  [\u003cffffffffa02e2d8f\u003e] nfs_writepage_locked+0xa0/0xbf [nfs]\n [ 1080.973119]  [\u003cffffffffa02e36a1\u003e] nfs_writepage+0x16/0x2b [nfs]\n [ 1080.973122]  [\u003cffffffff810e8762\u003e] ? clear_page_dirty_for_io+0x87/0x9a\n [ 1080.973133]  [\u003cffffffff810efc5b\u003e] shrink_page_list+0x39b/0x6c8\n [ 1080.973139]  [\u003cffffffff810f03bb\u003e] shrink_inactive_list+0x22c/0x39e\n [ 1080.973144]  [\u003cffffffff810822d7\u003e] ? lock_release_holdtime.part.7+0x6b/0x72\n [ 1080.973148]  [\u003cffffffff810f0c33\u003e] shrink_zone+0x445/0x588\n [ 1080.973152]  [\u003cffffffff810f1a11\u003e] balance_pgdat+0x2c2/0x56b\n [ 1080.973170]  [\u003cffffffff81254208\u003e] ? __bitmap_weight+0x34/0x80\n [ 1080.973175]  [\u003cffffffff810f1f78\u003e] kswapd+0x2be/0x2fa\n [ 1080.973179]  [\u003cffffffff810726c8\u003e] ? __init_waitqueue_head+0x4b/0x4b\n [ 1080.973183]  [\u003cffffffff810f1cba\u003e] ? balance_pgdat+0x56b/0x56b\n [ 1080.973187]  [\u003cffffffff81071f69\u003e] kthread+0xa8/0xb0\n [ 1080.973200]  [\u003cffffffff814806b4\u003e] kernel_thread_helper+0x4/0x10\n [ 1080.973205]  [\u003cffffffff81071ec1\u003e] ? __init_kthread_worker+0x5a/0x5a\n [ 1080.973210]  [\u003cffffffff814806b0\u003e] ? gs_change+0x13/0x13\n [ 1080.973213] no locks held by kswapd0/25.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6d05a757c314ad88d0649d3835a8a1daa964236",
      "tree": "f900bf7912f5eb2546769f19fdfacccbc36e6b59",
      "parents": [
        "9b7eecdcfeb943f130d86bbc249fde4994b6fe30"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:16 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:14 2011 -0700"
      },
      "message": "pnfsblock: fix NULL pointer dereference\n\nbl_add_page_to_bio returns error pointer. bio should be reset to\nNULL in failure cases as the out path always calls bl_submit_bio.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9b7eecdcfeb943f130d86bbc249fde4994b6fe30",
      "tree": "8aacc21981ce4f482bb5bab7f4e5fc546b6b99ff",
      "parents": [
        "8ce160c5ef06cc89c2b6b26bfa5ef7a5ce2c93e0"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:15 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:14 2011 -0700"
      },
      "message": "pnfs: recoalesce when ld read pagelist fails\n\nFor pnfs pagelist read failure, we need to pg_recoalesce and resend IO to\nmds.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8ce160c5ef06cc89c2b6b26bfa5ef7a5ce2c93e0",
      "tree": "3f9bc67bba0f7cac91677759ed0eceefbf74984e",
      "parents": [
        "1b0ae068779874f54b55aac3a2a992bcf3f2c3c4"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:14 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:13 2011 -0700"
      },
      "message": "pnfs: recoalesce when ld write pagelist fails\n\nFor pnfs pagelist write failure, we need to pg_recoalesce and resend IO to\nmds.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1b0ae068779874f54b55aac3a2a992bcf3f2c3c4",
      "tree": "2cfc6f406312ca02704fedb9675a02a5ec2993bf",
      "parents": [
        "760383f1ee4d14b0e0bdf0cddee648d9b8633429"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:12 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:13 2011 -0700"
      },
      "message": "pnfs: make _set_lo_fail generic\n\nfile layout and block layout both use it to set mark layout io failure\nbit. So make it generic.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "760383f1ee4d14b0e0bdf0cddee648d9b8633429",
      "tree": "8297364891043bf07938a97018ea763afbd9298f",
      "parents": [
        "c1225158a8dad9e9d5eee8a17dbbd9c7cda05ab9"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:11 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:12 2011 -0700"
      },
      "message": "pnfsblock: add missing rpc_put_mount and path_put\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "c1225158a8dad9e9d5eee8a17dbbd9c7cda05ab9",
      "tree": "ed543930670a47c3cb911d5580941584509b73f2",
      "parents": [
        "fdc17abbc4b6094b34ee8ff5d91eaba8637594a2"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Thu Sep 22 21:50:10 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:12 2011 -0700"
      },
      "message": "SUNRPC/NFS: make rpc pipe upcall generic\n\nThe same function is used by idmap, gss and blocklayout code. Make it\ngeneric.\n\nSigned-off-by: Peng Tao \u003cpeng_tao@emc.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "fdc17abbc4b6094b34ee8ff5d91eaba8637594a2",
      "tree": "e69fd0ed928128eac8adb4ea5ab523410d9eb276",
      "parents": [
        "516f2e24faa7548a61d9ba790958528469c2e284"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Thu Sep 22 21:50:09 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:11 2011 -0700"
      },
      "message": "pnfsblock: fix size of upcall message\n\nMake the status field explicitly 32 bits.  \"...it\u0027s unlikely that the kernel\nand userspace would differ on the size of an int here, but it might be a\ngood idea to go ahead and make that explicitly 32 bits in case we end up\ndealing with more exotic arches at some point in the future.\"\n\nSuggested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "516f2e24faa7548a61d9ba790958528469c2e284",
      "tree": "d4aa8a2fe75ada9a1af5257be8d14cb3b13fef65",
      "parents": [
        "2da956523526e440ef4f4dd174e26f5ac06fe011"
      ],
      "author": {
        "name": "Jim Rees",
        "email": "rees@umich.edu",
        "time": "Thu Sep 22 21:50:08 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:11 2011 -0700"
      },
      "message": "pnfsblock: fix return code confusion\n\nAlways return PTR_ERR, not NULL, from nfs4_blk_get_deviceinfo and\nnfs4_blk_decode_device.\n\nCheck for IS_ERR, not NULL, in bl_set_layoutdriver when calling\nnfs4_blk_get_deviceinfo.\n\nSigned-off-by: Jim Rees \u003crees@umich.edu\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\nCc: stable@kernel.org [3.0]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "2da956523526e440ef4f4dd174e26f5ac06fe011",
      "tree": "718d8edd26d3eb59727dea97075ff59ba4d068fa",
      "parents": [
        "b9dd3abbbc708da5e3c53424a5b2c66ab580f97e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 12 10:57:42 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:11 2011 -0700"
      },
      "message": "nfs: don\u0027t try to migrate pages with active requests\n\nnfs_find_and_lock_request will take a reference to the nfs_page and\nwill then put it if the req is already locked. It\u0027s possible though\nthat the reference will be the last one. That put then can kick off\na whole series of reference puts:\n\nnfs_page\n   nfs_open_context\n      dentry\n          inode\n\nIf the inode ends up being deleted, then the VFS will call\ntruncate_inode_pages. That function will try to take the page lock, but\nit was already locked when migrate_page was called. The code\ndeadlocks.\n\nFix this by simply refusing the migration request if PagePrivate is\nalready set, indicating that the page is already associated with an\nactive read or write request.\n\nWe\u0027ve had a customer test a backported version of this patch and\nthe preliminary results seem good.\n\nCc: stable@kernel.org\nCc: Andrea Arcangeli \u003caarcange@redhat.com\u003e\nReported-by: Harshula Jayasuriya \u003charshula@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b9dd3abbbc708da5e3c53424a5b2c66ab580f97e",
      "tree": "f24b18e9651fd93aaf871c3de99a8903a6c36826",
      "parents": [
        "3236c3e1adc0c7ec83eaff1de2d06746b7c5bb28"
      ],
      "author": {
        "name": "Mi Jinlong",
        "email": "mijinlong@cn.fujitsu.com",
        "time": "Wed Oct 12 15:09:34 2011 +0800"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:10 2011 -0700"
      },
      "message": "nfs: fix bug about IPv6 address scope checking\n\nThe result from ipv6_addr_scope() always not be a single SCOPE,\nso we can\u0027t use equal to compare the result with IPV6_ADDR_SCOPE_LINKLOCAL\nat nfs_sockaddr_match_ipaddr6.\n\nThis patch fixs the problem, and lets checking address before scope_id.\n\nSigned-off-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3236c3e1adc0c7ec83eaff1de2d06746b7c5bb28",
      "tree": "56f360348d301c7f238a7bac464440f84930e293",
      "parents": [
        "59b7c05fffba030e5d9e72324691e2f99aa69b79"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Oct 11 09:49:21 2011 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:10 2011 -0700"
      },
      "message": "nfs: don\u0027t redirty inode when ncommit \u003d\u003d 0 in nfs_commit_unstable_pages\n\ncommit 420e3646 allowed the kernel to reduce the number of unnecessary\ncommit calls by skipping the commit when there are a large number of\noutstanding pages.\n\nHowever, the current test in nfs_commit_unstable_pages does not handle\nthe edge condition properly. When ncommit \u003d\u003d 0, then that means that the\nkernel doesn\u0027t need to do anything more for the inode. The current test\nthough in the WB_SYNC_NONE case will return true, and the inode will end\nup being marked dirty. Once that happens the inode will never be clean\nuntil there\u0027s a WB_SYNC_ALL flush.\n\nFix this by immediately returning from nfs_commit_unstable_pages when\nncommit \u003d\u003d 0.\n\nMike noticed this problem initially in RHEL5 (2.6.18-based kernel) which\nhas a backported version of 420e3646. The inode cache there was growing\nvery large. The inode cache was unable to be shrunk since the inodes\nwere all marked dirty. Calling sync() would essentially \"fix\" the\nproblem -- the WB_SYNC_ALL flush would result in the inodes all being\nmarked clean.\n\nWhat I\u0027m not clear on is how big a problem this is in mainline kernels\nas the writeback code there is very different. Either way, it seems\nincorrect to re-mark the inode dirty in this case.\n\nReported-by: Mike McLean \u003cmikem@redhat.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: stable@kernel.org [2.6.34+]\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "59b7c05fffba030e5d9e72324691e2f99aa69b79",
      "tree": "20736d2dede2244fa76413302db0d89c43b8ee70",
      "parents": [
        "899e3ee404961a90b828ad527573aaaac39f0ab1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Oct 17 18:22:55 2011 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 09:08:09 2011 -0700"
      },
      "message": "Revert \"NFS: Ensure that writeback_single_inode() calls write_inode() when syncing\"\n\nThis reverts commit b80c3cb628f0ebc241b02e38dd028969fb8026a2.\n\nThe reverted commit was rendered obsolete by a VFS fix: commit\n5547e8aac6f71505d621a612de2fca0dd988b439 (writeback: Update dirty flags in\ntwo steps). We now no longer need to worry about writeback_single_inode()\nmissing our marking the inode for COMMIT in \u0027do_writepages()\u0027 call.\n\nReverting this patch, fixes a performance regression in which the inode\nwould continuously get queued to the dirty list, causing the writeback\ncode to unnecessarily try to send a COMMIT.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust\u003e\nTested-by: Simon Kirby \u003csim@hostway.ca\u003e\nCc: stable@kernel.org [2.6.35+]\n"
    },
    {
      "commit": "856121b2e83bd64bffdc8de449d24c9295e92ff3",
      "tree": "d60a777368fa48120a878407dd7abdcc780d2eba",
      "parents": [
        "4cdc951b8611de4ce25e35c9fb8c0656150c9245"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 13 11:37:11 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 17:50:08 2011 -0400"
      },
      "message": "nfsd4: warn on open failure after create\n\nIf we create the object and then return failure to the client, we\u0027re\nleft with an unexpected file in the filesystem.\n\nI\u0027m trying to eliminate such cases but not 100% sure I have so an\nassertion might be helpful for now.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4cdc951b8611de4ce25e35c9fb8c0656150c9245",
      "tree": "bd5fafca3ae02390d2f096c631ffd34eb98b4913",
      "parents": [
        "996e09385c364f97a89648b401409521e2a3a094"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 15:57:47 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 17:50:07 2011 -0400"
      },
      "message": "nfsd4: preallocate open stateid in process_open1()\n\nAs with the nfs4_file, we\u0027d prefer to find out about any failure before\ncreating a new file rather than after.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "996e09385c364f97a89648b401409521e2a3a094",
      "tree": "ab1f76e385a3e66e070eb87e170288f99d6a1b64",
      "parents": [
        "32513b40efdc693b3675f1c691ab901518fbcb6a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 11:14:48 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 17:50:07 2011 -0400"
      },
      "message": "nfsd4: do idr preallocation with stateid allocation\n\nMove idr preallocation out of stateid initialization, into stateid\nallocation, so that we no longer have to handle any errors from the\nformer.\n\nThis is a little subtle due to the way the idr code manages these\npreallocated items--document that in comments.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "32513b40efdc693b3675f1c691ab901518fbcb6a",
      "tree": "7d39ddbe4e421061f96d3dd5d64866b27117fd90",
      "parents": [
        "d29b20cd589128a599e5045d4effc2d7dbc388f5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 13 16:00:16 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 17:50:00 2011 -0400"
      },
      "message": "nfsd4: preallocate nfs4_file in process_open1()\n\nCreating a new file is an irrevocable step--once it\u0027s visible in the\nfilesystem, other processes may have seen it and done something with it,\nand unlinking it wouldn\u0027t simply undo the effects of the create.\n\nTherefore, in the case where OPEN creates a new file, we shouldn\u0027t do\nthe create until we know that the rest of the OPEN processing will\nsucceed.\n\nFor example, we should preallocate a struct file in case we need it\nuntil waiting to allocate it till process_open2(), which is already too\nlate.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "d29b20cd589128a599e5045d4effc2d7dbc388f5",
      "tree": "48794b614b23f4159f2edeef484b1ff9c93ffbd7",
      "parents": [
        "bcf130f9dfbaccf91376a44b18f51ed8007840d6"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Thu Oct 13 15:12:59 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 17:33:57 2011 -0400"
      },
      "message": "nfsd4: clean up open owners on OPEN failure\n\nIf process_open1() creates a new open owner, but the open later fails,\nthe current code will leave the open owner around.  It won\u0027t be on the\nclose_lru list, and the client isn\u0027t expected to send a CLOSE, so it\nwill hang around as long as the client does.\n\nSimilarly, if process_open1() removes an existing open owner from the\nclose lru, anticipating that an open owner that previously had no\nassociated stateid\u0027s now will, but the open subsequently fails, then\nwe\u0027ll again be left with the same leak.\n\nFix both problems.\n\nReported-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "bcf130f9dfbaccf91376a44b18f51ed8007840d6",
      "tree": "10968f17eca54e8316936763299694d43d1b2be8",
      "parents": [
        "3557e43b8f78e5c2347bab31626fdb4d09220ae7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Oct 12 20:44:20 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 17:33:51 2011 -0400"
      },
      "message": "nfsd4: simplify process_open1 logic\n\nNo change in behavior.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "3557e43b8f78e5c2347bab31626fdb4d09220ae7",
      "tree": "68ec566deffd794f74554ba06c776de0be088048",
      "parents": [
        "a50d2ad1721c0c785e9a74c0003ca044de6868a5"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Oct 12 16:58:21 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 17:09:37 2011 -0400"
      },
      "message": "nfsd4: make is_open_owner boolean\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a50d2ad1721c0c785e9a74c0003ca044de6868a5",
      "tree": "2664edfe88903ea29c1b195b46442cac950e0a30",
      "parents": [
        "01cd4afadbf376de07d364a632cc82a0fc5e8655"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Oct 12 16:24:27 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 17:09:37 2011 -0400"
      },
      "message": "nfsd4: centralize renew_client() calls\n\nThere doesn\u0027t seem to be any harm to renewing the client a bit earlier,\nwhen it is looked up.  That saves us from having to sprinkle\nrenew_client calls over quite so many places.\n\nAlso remove a redundant comment and do a little cleanup.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "01cd4afadbf376de07d364a632cc82a0fc5e8655",
      "tree": "c0069f6d750ea4fc87fff12e2e5fff28eb9be8ce",
      "parents": [
        "5703728ac1194baee554163180415baf4ccd9996"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Mon Oct 17 10:41:17 2011 +0300"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 17 08:35:09 2011 -0400"
      },
      "message": "nfsd4: typo logical vs bitwise negate\n\nThis should be a bitwise negate here.  It silences a Sparse warning:\nfs/nfsd/nfs4xdr.c:693:16: warning: dubious: x \u0026 !y\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "4b46c9f5cf69505f0bc708995b88b0cc60317ffd",
      "tree": "e5369fe948509c230470f922a0cd89cda60f2692",
      "parents": [
        "5a51c0c7e9a913649aa65d8233470682bcbb7694"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Sep 28 13:25:50 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 18:54:42 2011 +0200"
      },
      "message": "ore/exofs: Change ore_check_io API\n\nCurrent ore_check_io API receives a residual\npointer, to report partial IO. But it is actually\nnot used, because in a multiple devices IO there\nis never a linearity in the IO failure.\n\nOn the other hand if every failing device is reported\nthrough a received callback measures can be taken to\nhandle only failed devices. One at a time.\n\nThis will also be needed by the objects-layout-driver\nfor it\u0027s error reporting facility.\n\nExofs is not currently using the new information and\nkeeps the old behaviour of failing the complete IO in\ncase of an error. (No partial completion)\n\nTODO: Use an ore_check_io callback to set_page_error only\nthe failing pages. And re-dirty write pages.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "5a51c0c7e9a913649aa65d8233470682bcbb7694",
      "tree": "4ed43b3a2f9fade227e098771a5bed66f6a71dc4",
      "parents": [
        "3bd9856857339d7ee8c4ad50030583f1b9415c39"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Sep 28 13:18:45 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 18:54:41 2011 +0200"
      },
      "message": "ore/exofs: Define new ore_verify_layout\n\nAll users of the ore will need to check if current code\nsupports the given layout. For example RAID5/6 is not\ncurrently supported.\n\nSo move all the checks from exofs/super.c to a new\nore_verify_layout() to be used by ore users.\n\nNote that any new layout should be passed through the\nore_verify_layout() because the ore engine will prepare\nand verify some internal members of ore_layout, and\nassumes it\u0027s called.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "3bd9856857339d7ee8c4ad50030583f1b9415c39",
      "tree": "fa5d950b9beffa2a10bc698d452ae50b8e195d5e",
      "parents": [
        "bbf9a31bba8c985780fe94da059cc5813a7920f5"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Sep 28 12:04:23 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 18:54:41 2011 +0200"
      },
      "message": "ore: Support for partial component table\n\nUsers like the objlayout-driver would like to only pass\na partial device table that covers the IO in question.\nFor example exofs divides the file into raid-group-sized\nchunks and only serves group_width number of devices at\na time.\n\nThe partiality is communicated by setting\nore_componets-\u003efirst_dev and the array covers all logical\ndevices from oc-\u003efirst_dev upto (oc-\u003efirst_dev + oc-\u003enumdevs)\n\nThe ore_comp_dev() API receives a logical device index\nand returns the actual present device in the table.\nAn out-of-range dev_index will BUG.\n\nLogical device index is the theoretical device index as if\nall the devices of a file are present. .i.e:\n\ttotal_devs \u003d group_width * mirror_p1 * group_count\n\t0 \u003c\u003d dev_index \u003c total_devs\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "bbf9a31bba8c985780fe94da059cc5813a7920f5",
      "tree": "882d91f165dad978295f14fb8226a1296ca72073",
      "parents": [
        "154a9300cd87eee7538f356c9d339f06b0b1d257"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Aug 26 21:04:52 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 18:54:40 2011 +0200"
      },
      "message": "ore: Support for short read/writes\n\nMemory conditions and max_bio constraints might cause us to\nnot comply to the full length of the requested IO. Instead of\nfailing the complete IO we can issue a shorter read/write and\nreport how much was actually executed in the ios-\u003elength\nmember.\n\nAll users must check ios-\u003elength at IO_done or upon return of\nore_read/write and re-issue the reminder of the bytes. Because\nother wise there is no error returned like before.\n\nThis is part of the effort to support the pnfs-obj layout driver.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "154a9300cd87eee7538f356c9d339f06b0b1d257",
      "tree": "fc8f427a2db1a3817883f35048f0a62751083c36",
      "parents": [
        "6851a5e5c12b35f8bb8986d0ff16ca9be4cf2c09"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Aug 26 21:00:32 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 18:54:39 2011 +0200"
      },
      "message": "exofs: Support for short read/writes\n\nIf at read/write_done the actual IO was shorter then requested,\nreported in returned ios-\u003elength. It is not an error. The reminder\nof the pages should just be unlocked but not marked uptodate or\nend_page_writeback. They will be re issued later by the VFS.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "6851a5e5c12b35f8bb8986d0ff16ca9be4cf2c09",
      "tree": "7c9a96e87d7789a830512240473e30ffc671a386",
      "parents": [
        "98260754046eee4cc7d75751a4a20182ade39f58"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Aug 24 18:10:49 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 18:53:55 2011 +0200"
      },
      "message": "ore: Remove check for ios-\u003ekern_buff in _prepare_for_striping to later\n\nMove the check and preparation of the ios-\u003ekern_buff case to\nlater inside _write_mirror().\n\nSince read was never used with ios-\u003ekern_buff its support is removed\ninstead of fixed.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "98260754046eee4cc7d75751a4a20182ade39f58",
      "tree": "550d555ffbb51dde9a5fce2ecea1f19385de069e",
      "parents": [
        "b916c5cd4d895a27b47a652648958f73e4f23ac6"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Oct 02 15:32:50 2011 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 18:53:54 2011 +0200"
      },
      "message": "ore: cleanup: Embed an ore_striping_info inside ore_io_state\n\nNow that each ore_io_state covers only a single raid group.\nA single striping_info math is needed. Embed one inside\nore_io_state to cache the calculation results and eliminate\nan extra call.\n\nAlso the outer _prepare_for_striping is removed since it does nothing.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "b916c5cd4d895a27b47a652648958f73e4f23ac6",
      "tree": "9fe6e59edd44119c79a18b9df0b02a0c4dacb6d1",
      "parents": [
        "d866d875f68fdeae63df334d291fe138dc636d96"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Sep 28 11:55:51 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Fri Oct 14 18:52:50 2011 +0200"
      },
      "message": "ore: Only IO one group at a time (API change)\n\nUsually a single IO is confined to one group of devices\n(group_width) and at the boundary of a raid group it can\nspill into a second group. Current code would allocate a\nfull device_table size array at each io_state so it can\ncomply to requests that span two groups. Needless to say\nthat is very wasteful, specially when device_table count\ncan get very large (hundreds even thousands), while a\ngroup_width is usually 8 or 10.\n\n* Change ore API to trim on IO that spans two raid groups.\n  The user passes offset+length to ore_get_rw_state, the\n  ore might trim on that length if spanning a group boundary.\n  The user must check ios-\u003elength or ios-\u003enrpages to see\n  how much IO will be preformed. It is the responsibility\n  of the user to re-issue the reminder of the IO.\n\n* Modify exofs To copy spilled pages on to the next IO.\n  This means one last kick is needed after all coalescing\n  of pages is done.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "480082968a78151e731ebd304eeb6cada61a1cd1",
      "tree": "263179c267b99763cb4fd952b24870cca28d14a7",
      "parents": [
        "95bc156c62a57cda1b225e03ae23eb2764ee1046",
        "0030807c66f058230bcb20d2573bcaf28852e804"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 14 17:06:39 2011 +1200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 14 17:06:39 2011 +1200"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: revert to using a kthread for AIL pushing\n  xfs: force the log if we encounter pinned buffers in .iop_pushbuf\n  xfs: do not update xa_last_pushed_lsn for locked items\n"
    },
    {
      "commit": "b2f9452bd5234d573898bbda52a410b154f8f510",
      "tree": "b2599fdd3247befb52f9b5c64b99aed6f6db195e",
      "parents": [
        "65112dccf8a113737684366349d7f9ec373ddc47",
        "f7f43cc84152e53b5687cd0eb8823310ba065524"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 13 18:20:40 2011 +1200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 13 18:20:40 2011 +1200"
      },
      "message": "Merge branch \u0027btrfs-3.0\u0027 of git://github.com/chrismason/linux\n\n* \u0027btrfs-3.0\u0027 of git://github.com/chrismason/linux:\n  Btrfs: make sure not to defrag extents past i_size\n  Btrfs: fix recursive auto-defrag\n"
    },
    {
      "commit": "5703728ac1194baee554163180415baf4ccd9996",
      "tree": "721eff2e021212310ebb22518c7b0d3d8a5bf1cc",
      "parents": [
        "b6d2f1ca3c1162f51098969e9c52fd099720416a"
      ],
      "author": {
        "name": "Mi Jinlong",
        "email": "mijinlong@cn.fujitsu.com",
        "time": "Wed Oct 12 15:09:34 2011 +0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Oct 12 10:30:29 2011 -0400"
      },
      "message": "nfs: fix bug about IPv6 address scope checking\n\nThe result from ipv6_addr_scope() is a set of flags, not a single value,\nso we can\u0027t just compare the result with  IPV6_ADDR_SCOPE_LINKLOCAL.\n\nThis patch fixs the problem, and checks for unequal addresses before\nscope_id.\n\nSigned-off-by: Mi Jinlong \u003cmijinlong@cn.fujitsu.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b6d2f1ca3c1162f51098969e9c52fd099720416a",
      "tree": "bf8fa7abd3b601902ac034248a07b274b33e45fd",
      "parents": [
        "a084daf512bb66fa3c8e21c7027daea521179cd0"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 17:44:19 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 11 12:15:15 2011 -0400"
      },
      "message": "nfsd4: more robust ignoring of WANT bits in OPEN\n\nMask out the WANT bits right at the start instead of on each use.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "a084daf512bb66fa3c8e21c7027daea521179cd0",
      "tree": "ae3432178013d3b474adac890dad3fb7262f9746",
      "parents": [
        "04f9e664b21c4440daf4d08f31db9b18517e4b8d"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 15:07:40 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 11 12:15:01 2011 -0400"
      },
      "message": "nfsd4: move name-length checks to xdr\n\nAgain, these checks are better in the xdr code.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "0030807c66f058230bcb20d2573bcaf28852e804",
      "tree": "40c98d94085b6556cbbb33a7f5fca5a2cce153a2",
      "parents": [
        "17b38471c3c07a49f0bbc2ecc2e92050c164e226"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 11 11:14:10 2011 -0400"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 11 11:02:49 2011 -0500"
      },
      "message": "xfs: revert to using a kthread for AIL pushing\n\nCurrently we have a few issues with the way the workqueue code is used to\nimplement AIL pushing:\n\n - it accidentally uses the same workqueue as the syncer action, and thus\n   can be prevented from running if there are enough sync actions active\n   in the system.\n - it doesn\u0027t use the HIGHPRI flag to queue at the head of the queue of\n   work items\n\nAt this point I\u0027m not confident enough in getting all the workqueue flags and\ntweaks right to provide a perfectly reliable execution context for AIL\npushing, which is the most important piece in XFS to make forward progress\nwhen the log fills.\n\nRevert back to use a kthread per filesystem which fixes all the above issues\nat the cost of having a task struct and stack around for each mounted\nfilesystem.  In addition this also gives us much better ways to diagnose\nany issues involving hung AIL pushing and removes a small amount of code.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Stefan Priebe \u003cs.priebe@profihost.ag\u003e\nTested-by: Stefan Priebe \u003cs.priebe@profihost.ag\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n\n"
    },
    {
      "commit": "17b38471c3c07a49f0bbc2ecc2e92050c164e226",
      "tree": "163e112a5736240efc29dab83d0603c931dff98f",
      "parents": [
        "bc6e588a8971aa74c02e42db4d6e0248679f3738"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 11 15:14:09 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 11 11:02:48 2011 -0500"
      },
      "message": "xfs: force the log if we encounter pinned buffers in .iop_pushbuf\n\nWe need to check for pinned buffers even in .iop_pushbuf given that inode\nitems flush into the same buffers that may be pinned directly due operations\non the unlinked inode list operating directly on buffers.  To do this add a\nreturn value to .iop_pushbuf that tells the AIL push about this and use\nthe existing log force mechanisms to unpin it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Stefan Priebe \u003cs.priebe@profihost.ag\u003e\nTested-by: Stefan Priebe \u003cs.priebe@profihost.ag\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n\n\n"
    },
    {
      "commit": "bc6e588a8971aa74c02e42db4d6e0248679f3738",
      "tree": "a9c8361b9f2d5b0364f5f4c3433e413b8f434dac",
      "parents": [
        "65112dccf8a113737684366349d7f9ec373ddc47"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Oct 11 15:14:08 2011 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Oct 11 11:02:48 2011 -0500"
      },
      "message": "xfs: do not update xa_last_pushed_lsn for locked items\n\nIf an item was locked we should not update xa_last_pushed_lsn and thus skip\nit when restarting the AIL scan as we need to be able to lock and write it\nout as soon as possible.  Otherwise heavy lock contention might starve AIL\npushing too easily, especially given the larger backoff once we moved\nxa_last_pushed_lsn all the way to the target lsn.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Stefan Priebe \u003cs.priebe@profihost.ag\u003e\nTested-by: Stefan Priebe \u003cs.priebe@profihost.ag\u003e\nReviewed-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n\n\n"
    },
    {
      "commit": "f7f43cc84152e53b5687cd0eb8823310ba065524",
      "tree": "2ae66461455a750baa970d02589cb393d27ffbd1",
      "parents": [
        "2a0f7f5769992bae5b3f97157fd80b2b943be485"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 11 11:41:40 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Oct 11 11:45:55 2011 -0400"
      },
      "message": "Btrfs: make sure not to defrag extents past i_size\n\nThe btrfs file defrag code will loop through the extents and\nforce COW on them.  But there is a concurrent truncate in the middle of\nthe defrag, it might end up defragging the same range over and over\nagain.\n\nThe problem is that writepage won\u0027t go through and do anything on pages\npast i_size, so the cow won\u0027t happen, so the file will appear to still\nbe fragmented.  defrag will end up hitting the same extents again and\nagain.\n\nIn the worst case, the truncate can actually live lock with the defrag\nbecause the defrag keeps creating new ordered extents which the truncate\ncode keeps waiting on.\n\nThe fix here is to make defrag check for i_size inside the main loop,\ninstead of just once before the looping starts.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "04f9e664b21c4440daf4d08f31db9b18517e4b8d",
      "tree": "ea47eaac63adcff1771acc697a76d0635ae4b9a4",
      "parents": [
        "c30e92df30d7d5fe65262fbce5d1b7de675fe34e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 14:37:13 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Oct 11 08:53:12 2011 -0400"
      },
      "message": "nfsd4: move access/deny validity checks to xdr code\n\nI\u0027d rather put more of these sorts of checks into standardized xdr\ndecoders for the various types rather than have them cluttering up the\ncore logic in nfs4proc.c and nfs4state.c.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "c30e92df30d7d5fe65262fbce5d1b7de675fe34e",
      "tree": "cc7c7bc1a9200de0cc2c123cd204b2fc6c6a3e14",
      "parents": [
        "dcbf8c30344dfa01915c34f88318d464e116f004"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 17:34:31 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 18:05:20 2011 -0400"
      },
      "message": "nfsd4: ignore WANT bits in open downgrade\n\nWe don\u0027t use WANT bits yet--and sending them can probably trigger a\nBUG() further down.\n\nCc: stable@kernel.org\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "b31b30e5c76b7653b4434fcdc3c5d2b46a367c2a",
      "tree": "8a1d42f6e7f8e7a74ba300f98fff24d7da1f0c8c",
      "parents": [
        "6409a5a65d2b959c3f5e2b8adfa67c349e294652"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Sep 28 11:47:20 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 18:04:46 2011 -0400"
      },
      "message": "nfsd4: cleanup state.h comments\n\nThese comments are mostly out of date.\n\nReported-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\n"
    },
    {
      "commit": "6409a5a65d2b959c3f5e2b8adfa67c349e294652",
      "tree": "82a765fd44662f4c334d0e639aa2e86341b847ba",
      "parents": [
        "71c3bcd71393a9e67d5b77597a612537f89c30ed"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Wed Sep 28 11:37:56 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 18:04:45 2011 -0400"
      },
      "message": "nfsd4: clean up downgrading code\n\nIn response to some review comments, get rid of the somewhat obscure\nfor-loop with bitops, and improve a comment.\n\nReported-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "71c3bcd71393a9e67d5b77597a612537f89c30ed",
      "tree": "bb47b74ebf2b0477c5c74449aae241003dbe9e8d",
      "parents": [
        "38c2f4b12a455cb3a108fd5c79a10df2ba3ec9a7"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Tue Sep 27 21:42:29 2011 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@redhat.com",
        "time": "Mon Oct 10 18:04:45 2011 -0400"
      },
      "message": "nfsd4: fix state lock usage in LOCKU\n\nIn commit 5ec094c1096ab3bb795651855d53f18daa26afde \"nfsd4: extend state\nlock over seqid replay logic\" I modified the exit logic of all the\nseqid-based procedures except nfsd4_locku().  Fix the oversight.\n\nThe result of the bug was a double-unlock while handling the LOCKU\nprocedure, and a warning like:\n\n[  142.150014] WARNING: at kernel/mutex-debug.c:78 debug_mutex_unlock+0xda/0xe0()\n...\n[  142.152927] Pid: 742, comm: nfsd Not tainted 3.1.0-rc1-SLIM+ #9\n[  142.152927] Call Trace:\n[  142.152927]  [\u003cffffffff8105fa4f\u003e] warn_slowpath_common+0x7f/0xc0\n[  142.152927]  [\u003cffffffff8105faaa\u003e] warn_slowpath_null+0x1a/0x20\n[  142.152927]  [\u003cffffffff810960ca\u003e] debug_mutex_unlock+0xda/0xe0\n[  142.152927]  [\u003cffffffff813e4200\u003e] __mutex_unlock_slowpath+0x80/0x140\n[  142.152927]  [\u003cffffffff813e42ce\u003e] mutex_unlock+0xe/0x10\n[  142.152927]  [\u003cffffffffa03bd3f5\u003e] nfs4_lock_state+0x35/0x40 [nfsd]\n[  142.152927]  [\u003cffffffffa03b0b71\u003e] nfsd4_proc_compound+0x2a1/0x690\n[nfsd]\n[  142.152927]  [\u003cffffffffa039f9fb\u003e] nfsd_dispatch+0xeb/0x230 [nfsd]\n[  142.152927]  [\u003cffffffffa02b1055\u003e] svc_process_common+0x345/0x690\n[sunrpc]\n[  142.152927]  [\u003cffffffff81058d10\u003e] ? try_to_wake_up+0x280/0x280\n[  142.152927]  [\u003cffffffffa02b16e2\u003e] svc_process+0x102/0x150 [sunrpc]\n[  142.152927]  [\u003cffffffffa039f0bd\u003e] nfsd+0xbd/0x160 [nfsd]\n[  142.152927]  [\u003cffffffffa039f000\u003e] ? 0xffffffffa039efff\n[  142.152927]  [\u003cffffffff8108230c\u003e] kthread+0x8c/0xa0\n[  142.152927]  [\u003cffffffff813e8694\u003e] kernel_thread_helper+0x4/0x10\n[  142.152927]  [\u003cffffffff81082280\u003e] ? kthread_worker_fn+0x190/0x190\n[  142.152927]  [\u003cffffffff813e8690\u003e] ? gs_change+0x13/0x13\n\nReported-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nTested-by: Bryan Schumaker \u003cbjschuma@netapp.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@redhat.com\u003e\n"
    },
    {
      "commit": "2a0f7f5769992bae5b3f97157fd80b2b943be485",
      "tree": "ee19a5470211f13d1e53a311cb0d9e2ccc2988fc",
      "parents": [
        "b6316429af7f365f307dfd2b6a7a42f2563aef19"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Mon Oct 10 15:43:34 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Oct 10 15:43:34 2011 -0400"
      },
      "message": "Btrfs: fix recursive auto-defrag\n\nFollow those steps:\n\n  # mount -o autodefrag /dev/sda7 /mnt\n  # dd if\u003d/dev/urandom of\u003d/mnt/tmp bs\u003d200K count\u003d1\n  # sync\n  # dd if\u003d/dev/urandom of\u003d/mnt/tmp bs\u003d8K count\u003d1 conv\u003dnotrunc\n\nand then it\u0027ll go into a loop: writeback -\u003e defrag -\u003e writeback ...\n\nIt\u0027s because writeback writes [8K, 200K] and then writes [0, 8K].\n\nI tried to make writeback know if the pages are dirtied by defrag,\nbut the patch was a bit intrusive. Here I simply set writeback_index\nwhen we defrag a file.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "65112dccf8a113737684366349d7f9ec373ddc47",
      "tree": "4aaaffb4cfd48954ba8e0c174a2a963ad012295a",
      "parents": [
        "bbf5e9743fd6c9b4ef8a34db8a9502baf4191524",
        "9d1e397b7bafe843564eab26ed3f682637159c6c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 10 14:53:11 2011 +1200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 10 14:53:11 2011 +1200"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  [CIFS] Fix first time message on mount, ntlmv2 upgrade delayed to 3.2\n"
    },
    {
      "commit": "9d1e397b7bafe843564eab26ed3f682637159c6c",
      "tree": "217e76cf72f55b98e6185c43200e2f8ca1549f72",
      "parents": [
        "2838888f3f268344d42ac088c8abcff91c505ced"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 06 23:14:07 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Oct 07 20:17:56 2011 -0500"
      },
      "message": "[CIFS] Fix first time message on mount, ntlmv2 upgrade delayed to 3.2\n\nMicrosoft has a bug with ntlmv2 that requires use of ntlmssp, but\nwe didn\u0027t get the required information on when/how to use ntlmssp to\nold (but once very popular) legacy servers (various NT4 fixpacks\nfor example) until too late to merge for 3.1.  Will upgrade\nto NTLMv2 in NTLMSSP in 3.2\n\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "d866d875f68fdeae63df334d291fe138dc636d96",
      "tree": "9606674db2311ab869640526ef245aaa7fbf4ea8",
      "parents": [
        "eb507bc18969f63b8968034144fd69706c492516"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Sep 28 14:43:09 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Oct 04 12:13:59 2011 +0200"
      },
      "message": "ore/exofs: Change the type of the devices array (API change)\n\nIn the pNFS obj-LD the device table at the layout level needs\nto point to a device_cache node, where it is possible and likely\nthat many layouts will point to the same device-nodes.\n\nIn Exofs we have a more orderly structure where we have a single\narray of devices that repeats twice for a round-robin view of the\ndevice table\n\nThis patch moves to a model that can be used by the pNFS obj-LD\nwhere struct ore_components holds an array of ore_dev-pointers.\n(ore_dev is newly defined and contains a struct osd_dev *od\n member)\n\nEach pointer in the array of pointers will point to a bigger\nuser-defined dev_struct. That can be accessed by use of the\ncontainer_of macro.\n\nIn Exofs an __alloc_dev_table() function allocates the\nore_dev-pointers array as well as an exofs_dev array, in one\nallocation and does the addresses dance to set everything pointing\ncorrectly. It still keeps the double allocation trick for the\ninodes round-robin view of the table.\n\nThe device table is always allocated dynamically, also for the\nsingle device case. So it is unconditionally freed at umount.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "7fd21be75dce605e7cf273bd64b6d733d422fb04",
      "tree": "4a75560e71e10fb773d4ed367bcf0dd23be147c8",
      "parents": [
        "9b13776977d45505469edc6decc93e9e3799afe2",
        "b6316429af7f365f307dfd2b6a7a42f2563aef19"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 03 12:17:44 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 03 12:17:44 2011 -0700"
      },
      "message": "Merge branch \u0027btrfs-3.0\u0027 of git://github.com/chrismason/linux\n\n* \u0027btrfs-3.0\u0027 of git://github.com/chrismason/linux:\n  Btrfs: force a page fault if we have a shorty copy on a page boundary\n"
    },
    {
      "commit": "eb507bc18969f63b8968034144fd69706c492516",
      "tree": "6f5606ce9af0636316683a03ed4f993afa10ed2d",
      "parents": [
        "8d2d83a8352b0f9c1da82c36f741722f2960feea"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Aug 10 14:17:28 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 03 17:07:51 2011 +0200"
      },
      "message": "ore: Make ore_striping_info and ore_calc_stripe_info public\n\nThe struct ore_striping_info will be used later in other\nstructures. And ore_calc_stripe_info as well. Rename them\nmake struct ore_striping_info public. ore_calc_stripe_info\nis still static, will be made public on first use.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "8d2d83a8352b0f9c1da82c36f741722f2960feea",
      "tree": "4a96539dce29c654def762d502b41da8de7cbce7",
      "parents": [
        "5bf696dad4beecb6174e701c97e1f2574e6a2c96"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Aug 10 14:15:02 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 03 17:07:51 2011 +0200"
      },
      "message": "exofs: Remove unused data_map member from exofs_sb_info\n\nThe struct pnfs_osd_data_map data_map member of exofs_sb_info was\nnever used after mount. In fact all it\u0027s members were duplicated\nby the ore_layout structure. So just remove the duplicated information.\n\nAlso removed some stupid, but perfectly supported, restrictions on\nlayout parameters. The case where num_devices is not divisible by\nmirror_count+1 is perfectly fine since the rotating device view\nwill eventually use all the devices it can get.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@tonian.com\u003e\n"
    },
    {
      "commit": "5bf696dad4beecb6174e701c97e1f2574e6a2c96",
      "tree": "b4cfd7e00a61310aaf5ac90e670c840184fc115d",
      "parents": [
        "de74b05ace743b4a7aefad9e9b33ff899979b34a"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Wed Sep 28 11:39:59 2011 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 03 17:07:50 2011 +0200"
      },
      "message": "exofs: Rename struct ore_components comps \u003d\u003e oc\n\nore_components already has a comps member so this leads\nto things like comps-\u003ecomps which is annoying. the name oc\nwas already used in new code. So rename all old usage of\nore_components comps \u003d\u003e ore_components oc.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "de74b05ace743b4a7aefad9e9b33ff899979b34a",
      "tree": "9f62853e67803cf406eaf35238a429128f2272d3",
      "parents": [
        "1958c7c284298f0d17a1ab3820c77c40ea3d3711"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Sep 23 13:46:51 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 03 17:07:29 2011 +0200"
      },
      "message": "exofs/super.c: local functions should be static\n\nThis quiets the following sparse noise:\n\nwarning: symbol \u0027exofs_sync_fs\u0027 was not declared. Should it be static?\nwarning: symbol \u0027exofs_free_sbi\u0027 was not declared. Should it be static?\nwarning: symbol \u0027exofs_get_parent\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "1958c7c284298f0d17a1ab3820c77c40ea3d3711",
      "tree": "38941a12ab5c7e01613c2436bd5470142c3eb7d1",
      "parents": [
        "a8f8c45082cb78489c5e6050c372ddac73ae439e"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Fri Sep 23 13:42:43 2011 -0700"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Oct 03 17:06:47 2011 +0200"
      },
      "message": "exofs/ore.c: local functions should be static\n\nThis quiets the sparse noise:\n\nwarning: symbol \u0027_calc_trunk_info\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "b6316429af7f365f307dfd2b6a7a42f2563aef19",
      "tree": "f445576e448d3287d56650775bb7d0bc5a7d37c7",
      "parents": [
        "b6f3409b2197e8fcedb43e6600e37b7cfbe0715b"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Sep 30 15:23:54 2011 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Sep 30 15:23:54 2011 -0400"
      },
      "message": "Btrfs: force a page fault if we have a shorty copy on a page boundary\n\nA user reported a problem where ceph was getting into 100% cpu usage while doing\nsome writing.  It turns out it\u0027s because we were doing a short write on a not\nuptodate page, which means we\u0027d fall back at one page at a time and fault the\npage in.  The problem is our position is on the page boundary, so our fault in\nlogic wasn\u0027t actually reading the page, so we\u0027d just spin forever or until the\npage got read in by somebody else.  This will force a readpage if we end up\ndoing a short copy.  Alexandre could reproduce this easily with ceph and reports\nit fixes his problem.  I also wrote a reproducer that no longer hangs my box\nwith this patch.  Thanks,\n\nReported-and-tested-by: Alexandre Oliva \u003caoliva@redhat.com\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "95c754545353ca7db2e12485546eac626f8461f9",
      "tree": "e923f1bf64bd74fc09ba9960777f437952029431",
      "parents": [
        "bfb9035c98906aafcd3cf22694fba2550997bf53"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Sat Aug 27 18:58:34 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Sep 27 18:08:04 2011 +0200"
      },
      "message": "CIFS: Don\u0027t free volume_info-\u003eUNC until we are entirely done with it.\n\nIn cleanup_volume_info_contents() we kfree(volume_info-\u003eUNC); and then\nproceed to use that variable on the very next line.\nThis causes (at least) Coverity Prevent to complain about use-after-free\nof that variable (and I guess other checkers may do that as well).\nThere\u0027s not any /real/ problem here since we are just using the value of\nthe pointer, not actually dereferencing it, but it\u0027s still trivial to\nsilence the tool, so why not?\nTo me at least it also just seems nicer to defer freeing the variable\nuntil we are entirely done with it in all respects.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "395cf9691d72173d8cdaa613c5f0255f993af94b",
      "tree": "813be524794fe1c0850805d7faca90e45fd0e60b",
      "parents": [
        "e060c38434b2caa78efe7cedaff4191040b65a15"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Mon Aug 15 02:02:26 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Sep 27 18:08:04 2011 +0200"
      },
      "message": "doc: fix broken references\n\nThere are numerous broken references to Documentation files (in other\nDocumentation files, in comments, etc.). These broken references are\ncaused by typo\u0027s in the references, and by renames or removals of the\nDocumentation files. Some broken references are simply odd.\n\nFix these broken references, sometimes by dropping the irrelevant text\nthey were part of.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "b6c8069d3577481390b3f24a8434ad72a3235594",
      "tree": "43133cbf05bacec887cf010db32589e726a87154",
      "parents": [
        "815d405ceff0d6964683f033e18b9b23a88fba87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 27 08:12:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 27 08:12:33 2011 -0700"
      },
      "message": "vfs: remove LOOKUP_NO_AUTOMOUNT flag\n\nThat flag no longer makes sense, since we don\u0027t look up automount points\nas eagerly any more.  Additionally, it turns out that the NO_AUTOMOUNT\nhandling was buggy to begin with: it would avoid automounting even for\ncases where we really *needed* to do the automount handling, and could\nreturn ENOENT for autofs entries that hadn\u0027t been instantiated yet.\n\nWith our new non-eager automount semantics, one discussion has been\nabout adding a AT_AUTOMOUNT flag to vfs_fstatat (and thus the\nnewfstatat() and fstatat64() system calls), but it\u0027s probably not worth\nit: you can always force at least directory automounting by simply\nadding the final \u0027/\u0027 to the filename, which works for *all* of the stat\nfamily system calls, old and new.\n\nSo AT_NO_AUTOMOUNT (and thus LOOKUP_NO_AUTOMOUNT) really were just a\nresult of our bad default behavior.\n\nAcked-by: Ian Kent \u003craven@themaw.net\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "815d405ceff0d6964683f033e18b9b23a88fba87",
      "tree": "2bec24a44bc3edbdcedf8ae65256a0533ce4e46a",
      "parents": [
        "d94c177beeb4469cd4f6e83354ab0223353e98ed"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Sep 26 20:36:09 2011 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 26 19:16:46 2011 -0700"
      },
      "message": "VFS: Fix the remaining automounter semantics regressions\n\nThe concensus seems to be that system calls such as stat() etc should\nnot trigger an automount.  Neither should the l* versions.\n\nThis patch therefore adds a LOOKUP_AUTOMOUNT flag to tag those lookups\nthat _should_ trigger an automount on the last path element.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n[ Edited to leave out the cases that are already covered by LOOKUP_OPEN,\n  LOOKUP_DIRECTORY and LOOKUP_CREATE - all of which also fundamentally\n  force automounting for their own reasons   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d94c177beeb4469cd4f6e83354ab0223353e98ed",
      "tree": "0ce1b8a3d9d35afd3df533ce58eb8d1f2f401f81",
      "parents": [
        "858b1814b89d043a3866299c258ccdc27eb2538c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 26 17:44:55 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 26 17:44:55 2011 -0700"
      },
      "message": "vfs pathname lookup: Add LOOKUP_AUTOMOUNT flag\n\nSince we\u0027ve now turned around and made LOOKUP_FOLLOW *not* force an\nautomount, we want to add the ability to force an automount event on\nlookup even if we don\u0027t happen to have one of the other flags that force\nit implicitly (LOOKUP_OPEN, LOOKUP_DIRECTORY, LOOKUP_PARENT..)\n\nMost cases will never want to use this, since you\u0027d normally want to\ndelay automounting as long as possible, which usually implies\nLOOKUP_OPEN (when we open a file or directory, we really cannot avoid\nthe automount any more).\n\nBut Trond argued sufficiently forcefully that at a minimum bind mounting\na file and quotactl will want to force the automount lookup.  Some other\ncases (like nfs_follow_remote_path()) could use it too, although\nLOOKUP_DIRECTORY would work there as well.\n\nThis commit just adds the flag and logic, no users yet, though.  It also\ndoesn\u0027t actually touch the LOOKUP_NO_AUTOMOUNT flag that is related, and\nwas made irrelevant by the same change that made us not follow on\nLOOKUP_FOLLOW.\n\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "c4253cb0748cd50060d04d838c38b07f1ad0e6e5"
}
