)]}'
{
  "log": [
    {
      "commit": "fc7f99cf36ebae853639dabb43bc2f0098c59aef",
      "tree": "3ca7050397f515f91ef98f8b6293f9f7fd84ef02",
      "parents": [
        "0a492fdef8aa241f6139e6455e852cc710ae8ed1",
        "f1a3d57213fe264b4cf584e78bac36aaf9998729"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 19 09:43:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 19 09:43:06 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (205 commits)\n  ceph: update for write_inode API change\n  ceph: reset osd after relevant messages timed out\n  ceph: fix flush_dirty_caps race with caps migration\n  ceph: include migrating caps in issued set\n  ceph: fix osdmap decoding when pools include (removed) snaps\n  ceph: return EBADF if waiting for caps on closed file\n  ceph: set osd request message front length correctly\n  ceph: reset front len on return to msgpool; BUG on mismatched front iov\n  ceph: fix snaptrace decoding on cap migration between mds\n  ceph: use single osd op reply msg\n  ceph: reset bits on connection close\n  ceph: remove bogus mds forward warning\n  ceph: remove fragile __map_osds optimization\n  ceph: fix connection fault STANDBY check\n  ceph: invalidate_authorizer without con-\u003emutex held\n  ceph: don\u0027t clobber write return value when using O_SYNC\n  ceph: fix client_request_forward decoding\n  ceph: drop messages on unregistered mds sessions; cleanup\n  ceph: fix comments, locking in destroy_inode\n  ceph: move dereference after NULL test\n  ...\n\nFix trivial conflicts in Documentation/ioctl/ioctl-number.txt\n"
    },
    {
      "commit": "0a492fdef8aa241f6139e6455e852cc710ae8ed1",
      "tree": "ba86b707f99f48626824bc301a575d4ac4bd6e6a",
      "parents": [
        "39710479303fd3affb3e204e9a7a75cc676977b5",
        "8212cf7583a5ba5d213d9c9180be808222a2813f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 19 09:36:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 19 09:36:18 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: trivial white space\n  [CIFS] checkpatch cleanup\n  cifs: add cifs_revalidate_file\n  cifs: add a CIFSSMBUnixQFileInfo function\n  cifs: add a CIFSSMBQFileInfo function\n  cifs: overhaul cifs_revalidate and rename to cifs_revalidate_dentry\n"
    },
    {
      "commit": "441f4058a04b2943685ff94e0f5f1992b0b3649e",
      "tree": "80a61f6dddcf7d5831a8bd3771ffa2b430af3935",
      "parents": [
        "7c34691abe23741bfc7d2514efd5a39f0e0ecb06",
        "8ad6fcab564c5bc956bdc3dfa440ab152b6e780f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:50:55 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:50:55 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (30 commits)\n  Btrfs: fix the inode ref searches done by btrfs_search_path_in_tree\n  Btrfs: allow treeid\u003d\u003d0 in the inode lookup ioctl\n  Btrfs: return keys for large items to the search ioctl\n  Btrfs: fix key checks and advance in the search ioctl\n  Btrfs: buffer results in the space_info ioctl\n  Btrfs: use __u64 types in ioctl.h\n  Btrfs: fix search_ioctl key advance\n  Btrfs: fix gfp flags masking in the compression code\n  Btrfs: don\u0027t look at bio flags after submit_bio\n  btrfs: using btrfs_stack_device_id() get devid\n  btrfs: use memparse\n  Btrfs: add a \"df\" ioctl for btrfs\n  Btrfs: cache the extent state everywhere we possibly can V2\n  Btrfs: cache ordered extent when completing io\n  Btrfs: cache extent state in find_delalloc_range\n  Btrfs: change the ordered tree to use a spinlock instead of a mutex\n  Btrfs: finish read pages in the order they are submitted\n  btrfs: fix btrfs_mkdir goto for no free objectids\n  Btrfs: flush data on snapshot creation\n  Btrfs: make df be a little bit more understandable\n  ...\n"
    },
    {
      "commit": "7c34691abe23741bfc7d2514efd5a39f0e0ecb06",
      "tree": "f5c673eda066f4d7870d502d52d705b629eb8c03",
      "parents": [
        "5f87e54d7d6f58e8f15819cf8901860d9512e8b4",
        "cfbc0683af235106e7dabe92003870b82ad6f0ba"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:50:09 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:50:09 2010 -0700"
      },
      "message": "Merge branch \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027bugfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: ensure bdi_unregister is called on mount failure.\n  NFS: Avoid a deadlock in nfs_release_page\n  NFSv4: Don\u0027t ignore the NFS_INO_REVAL_FORCED flag in nfs_revalidate_inode()\n  nfs4: Make the v4 callback service hidden\n  nfs: fix unlikely memory leak\n  rpc client can not deal with ENOSOCK, so translate it into ENOCONN\n"
    },
    {
      "commit": "01d61d0d64065b591a3c1502d42b350b10764c54",
      "tree": "9fa05149e757d5208820afb446d962e2135f4798",
      "parents": [
        "2e0c17d100c35e843dac1e99daf19b5e2b3fe168",
        "e8c3753ce4cd6a805ebcfdb3aa6d30e6f4b8b3e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:46:05 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 18 16:46:05 2010 -0700"
      },
      "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: don\u0027t warn about page discards on shutdown\n  xfs: use scalable vmap API\n  xfs: remove old vmap cache\n"
    },
    {
      "commit": "8ad6fcab564c5bc956bdc3dfa440ab152b6e780f",
      "tree": "38670d63e5315650f3e6efe2a2a8025e945b4743",
      "parents": [
        "1b53ac4d1b75b23bdc2b54ace787b8f718a987ef"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 18 12:23:10 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 18 12:23:10 2010 -0400"
      },
      "message": "Btrfs: fix the inode ref searches done by btrfs_search_path_in_tree\n\nThis is used by the inode lookup ioctl to follow all the backrefs up\nto the subvol root.  But the search being done would sometimes land one\npast the last item in the leaf instead of finding the backref.\n\nThis changes the search to look for the highest possible backref and hop\nback one item.  It also fixes a leaked path on failure to find the root.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1b53ac4d1b75b23bdc2b54ace787b8f718a987ef",
      "tree": "4ba3bf8dc5159d4b382b1e44306eef1875203c6a",
      "parents": [
        "90fdde147fd32d18a20be5b498d5f26e56cca8a3"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 18 12:17:05 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 18 12:17:05 2010 -0400"
      },
      "message": "Btrfs: allow treeid\u003d\u003d0 in the inode lookup ioctl\n\nWhen a root id of 0 is sent to the inode lookup ioctl, it will\nuse the root of the file we\u0027re ioctling and pass the root id\nback to userland along with the results.\n\nThis allows userland to do searches based on that root later on.\n\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "90fdde147fd32d18a20be5b498d5f26e56cca8a3",
      "tree": "ab861e9190145df710345bb1e54c5f3f1d77d296",
      "parents": [
        "abc6e1341bda974e2d0eddb75f57a20ac18e9b33"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 18 12:14:54 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 18 12:14:54 2010 -0400"
      },
      "message": "Btrfs: return keys for large items to the search ioctl\n\nThe search ioctl was skipping large items entirely (ones that are too\nbig for the results buffer).  This changes things to at least copy\nthe item header so that we can send information about the item back to\nuserland.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "abc6e1341bda974e2d0eddb75f57a20ac18e9b33",
      "tree": "399e587e8e94dd4ec2894f52f377a189a21ece2a",
      "parents": [
        "7fde62bffb576d384ea49a3aed3403d5609ee5bc"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 18 12:10:08 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 18 12:10:08 2010 -0400"
      },
      "message": "Btrfs: fix key checks and advance in the search ioctl\n\nThe search ioctl was working well for finding tree roots, but using it for\ngeneric searches requires a few changes to how the keys are advanced.\nThis treats the search control min fields for objectid, type and offset\nmore like a key, where we drop the offset to zero once we bump the type,\netc.\n\nThe downside of this is that we are changing the min_type and min_offset\nfields during the search, and so the ioctl caller needs extra checks to make sure\nthe keys in the result are the ones it wanted.\n\nThis also changes key_in_sk to use btrfs_comp_cpu_keys, just to make\nthings more readable.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c4af96449e20f9245cf3d904098db508cdebcda8",
      "tree": "41b54379dbe4c432d269aaf83e013abb1f695dc2",
      "parents": [
        "bcc54e2a6d8e93ff83ec398511930b0a73e19151"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Mon Mar 15 00:35:00 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 17 18:43:47 2010 -0700"
      },
      "message": "ntfs: use bitmap_weight\n\nUse bitmap_weight() instead of doing hweight32() for each u32 element in\nthe page.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bcc54e2a6d8e93ff83ec398511930b0a73e19151",
      "tree": "7a509499223f1698cafb30b869c4261ab20b2f8c",
      "parents": [
        "e9e58a4ec3b1086d1ed8c915311aef1ae55454fd"
      ],
      "author": {
        "name": "Venkatesh Pallipadi",
        "email": "venkatesh.pallipadi@intel.com",
        "time": "Mon Mar 15 00:34:59 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 17 18:43:47 2010 -0700"
      },
      "message": "jffs2: fix up rb_root initializations to use RB_ROOT\n\njffs2 uses rb_node \u003d NULL; to zero rb_root.\n\nThe problem with this is that 17d9ddc72fb8bba0d4f678 (\"rbtree: Add\nsupport for augmented rbtrees\") in the linux-next tree adds a new field\nto that struct which needs to be NULL as well.  This patch uses RB_ROOT\nas the intializer so all of the relevant fields will be NULL\u0027d.\n\nSigned-off-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8c3753ce4cd6a805ebcfdb3aa6d30e6f4b8b3e0",
      "tree": "cf0618d802720d77a8d1910e1085e82b1dfbb588",
      "parents": [
        "8a262e573d30187b32b5534ec489446931239cc5"
      ],
      "author": {
        "name": "Dave Chinner",
        "email": "dchinner@redhat.com",
        "time": "Mon Mar 15 02:36:35 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Mar 16 15:40:53 2010 -0500"
      },
      "message": "xfs: don\u0027t warn about page discards on shutdown\n\nIf we are doing a forced shutdown, we can get lots of noise about\ndelalloc pages being discarded. This is happens by design during a\nforced shutdown, so don\u0027t spam the logs with these messages.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "8a262e573d30187b32b5534ec489446931239cc5",
      "tree": "e510327146e3329d19fac8269cc51d437c8a650f",
      "parents": [
        "cd9640a70d542ca026a812ac34733799da0a39c9"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Mar 16 18:55:56 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Mar 16 15:40:36 2010 -0500"
      },
      "message": "xfs: use scalable vmap API\n\nRe-apply a commit that had been reverted due to regressions\nthat have since been fixed.\n\n    From 95f8e302c04c0b0c6de35ab399a5551605eeb006 Mon Sep 17 00:00:00 2001\n    From: Nick Piggin \u003cnpiggin@suse.de\u003e\n    Date: Tue, 6 Jan 2009 14:43:09 +1100\n\n    Implement XFS\u0027s large buffer support with the new vmap APIs. See the vmap\n    rewrite (db64fe02) for some numbers. The biggest improvement that comes from\n    using the new APIs is avoiding the global KVA allocation lock on every call.\n\n    Signed-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n    Reviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\n    Signed-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n\nOnly modifications here were a minor reformat, plus making the patch\napply given the new use of xfs_buf_is_vmapped().\n\nModified-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "cd9640a70d542ca026a812ac34733799da0a39c9",
      "tree": "497c3ab912f25994d7adc4c7a860cf01bb78c95c",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Mar 16 18:55:54 2010 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Tue Mar 16 15:40:19 2010 -0500"
      },
      "message": "xfs: remove old vmap cache\n\nRe-apply a commit that had been reverted due to regressions\nthat have since been fixed.\n\n    Original commit: d2859751cd0bf586941ffa7308635a293f943c17\n    Author: Nick Piggin \u003cnpiggin@suse.de\u003e\n    Date: Tue, 6 Jan 2009 14:40:44 +1100\n\n    XFS\u0027s vmap batching simply defers a number (up to 64) of vunmaps,\n    and keeps track of them in a list. To purge the batch, it just goes\n    through the list and calls vunamp on each one. This is pretty poor:\n    a global TLB flush is generally still performed on each vunmap, with\n    the most expensive parts of the operation being the broadcast IPIs\n    and locking involved in the SMP callouts, and the locking involved\n    in the vmap management -- none of these are avoided by just batching\n    up the calls. I\u0027m actually surprised it ever made much difference.\n    (Now that the lazy vmap allocator is upstream, this description is\n    not quite right, but the vunmap batching still doesn\u0027t seem to do\n    much).\n\n    Rip all this logic out of XFS completely. I will improve vmap\n    performance and scalability directly in subsequent patch.\n\n    Signed-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n    Reviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\n    Signed-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n\nThe only change I made was to use the \"new\" xfs_buf_is_vmapped()\nfunction in a place it had been open-coded in the original.\n\nModified-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "7fde62bffb576d384ea49a3aed3403d5609ee5bc",
      "tree": "0fc0be615e657ed385835b56741c3a62c2c76fff",
      "parents": [
        "ce769a2904bf5a9110ef534a7702397e38e2b3e9"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 16 15:40:10 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 16 15:40:10 2010 -0400"
      },
      "message": "Btrfs: buffer results in the space_info ioctl\n\nThe space_info ioctl was using copy_to_user inside rcu_read_lock.  This\ncommit changes things to copy into a buffer first and then dump the\nresult down to userland.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ce769a2904bf5a9110ef534a7702397e38e2b3e9",
      "tree": "f783a7e8ca35053f534ad2bc64e52bf0d08442c2",
      "parents": [
        "854d2c3531e6d32e76b94ca5e096ea54c7497e40"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 16 00:02:26 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 16 14:24:27 2010 -0400"
      },
      "message": "Btrfs: use __u64 types in ioctl.h\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "854d2c3531e6d32e76b94ca5e096ea54c7497e40",
      "tree": "50775c23fe46b586b24294217e4eb81fbc0e8365",
      "parents": [
        "ef5780c018ed169a77b623f87c4ba52faa8ad0fe"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 16 00:02:25 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Mar 16 14:24:27 2010 -0400"
      },
      "message": "Btrfs: fix search_ioctl key advance\n\nkey-\u003etype is u8, not u64.\n\nfs/btrfs/ioctl.c: In function \u0027copy_to_sk\u0027:\nfs/btrfs/ioctl.c:1024: warning: comparison is always true due to limited range of data type\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "cfbc0683af235106e7dabe92003870b82ad6f0ba",
      "tree": "6668f249999c9fde9d6f97e6307e414159bacfcf",
      "parents": [
        "bb6fbc4548b9ae7ebbd06ef72f00229df259d217"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Thu Mar 11 11:20:17 2010 +1100"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 15 15:37:45 2010 -0400"
      },
      "message": "NFS: ensure bdi_unregister is called on mount failure.\n\nbdi_unregister is called by nfs_put_super which is only called by\ngeneric_shutdown_super if -\u003es_root is not NULL.  So if we error out\nin a circumstance where we called nfs_bdi_register (i.e. server !\u003d\nNULL) but have not set s_root, then we need to call bdi_unregister\nexplicitly in nfs_get_sb and various other *_get_sb() functions.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8212cf7583a5ba5d213d9c9180be808222a2813f",
      "tree": "dc62d8f4813e5af5c1b615fab059ca2b78b3aca6",
      "parents": [
        "ff215713eb33c56301cf6bfec0143ddc7f22c138"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Mar 15 11:22:26 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Mar 15 15:19:47 2010 +0000"
      },
      "message": "cifs: trivial white space\n\nI fixed the indent level.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ef5780c018ed169a77b623f87c4ba52faa8ad0fe",
      "tree": "4c93fbaa09ed4b2f4b9713ae462646d149be8550",
      "parents": [
        "5ff7ba3a797a8ffd5299b8477df2dca3c3ebd34e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Mar 15 11:05:29 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:05:57 2010 -0400"
      },
      "message": "Btrfs: fix gfp flags masking in the compression code\n\nGFP_FS must be masked out, NOFS can\u0027t be or\u0027d in.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5ff7ba3a797a8ffd5299b8477df2dca3c3ebd34e",
      "tree": "598f33540071cd31bd7738b5d6246bfbaa0d9b3b",
      "parents": [
        "a343832f1a55c74791a8a37053fc02ad80640710"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 10:21:30 2010 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:15 2010 -0400"
      },
      "message": "Btrfs: don\u0027t look at bio flags after submit_bio\n\nAfter callling submit_bio, the bio can be freed at any time.  The\nbtrfs submission thread helper was checking the bio flags too late,\nwhich might not give the correct answer.\n\nWhen CONFIG_DEBUG_PAGE_ALLOC is turned on, it can lead to oopsen.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a343832f1a55c74791a8a37053fc02ad80640710",
      "tree": "79e920025747703c06ba7a97e433a3ad307d80fe",
      "parents": [
        "91748467a5c5884e44ad5cf58630c0c28474f1f6"
      ],
      "author": {
        "name": "Xiao Guangrong",
        "email": "xiaoguangrong@cn.fujitsu.com",
        "time": "Wed Jan 06 11:48:18 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:14 2010 -0400"
      },
      "message": "btrfs: using btrfs_stack_device_id() get devid\n\nWe can use btrfs_stack_device_id() to get dev_item-\u003edevid\n\nSigned-off-by: Xiao Guangrong \u003cxiaoguangrong@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "91748467a5c5884e44ad5cf58630c0c28474f1f6",
      "tree": "593f2449e069e34fe96ba0e59efa8bf71242ad46",
      "parents": [
        "1406e4327be3a533a2b18582f715ce2cfbcf6804"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Sun Feb 28 10:59:11 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:14 2010 -0400"
      },
      "message": "btrfs: use memparse\n\nUse memparse() instead of its own private implementation.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: linux-btrfs@vger.kernel.org\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1406e4327be3a533a2b18582f715ce2cfbcf6804",
      "tree": "40cafa639095b1a652cd013746394b7a77e52b69",
      "parents": [
        "2ac55d41b5d6bf49e76bc85db5431240617e2f8f"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Jan 13 18:19:06 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:14 2010 -0400"
      },
      "message": "Btrfs: add a \"df\" ioctl for btrfs\n\ndf is a very loaded question in btrfs.  This gives us a way to get the per-space\nusage information so we can tell exactly what is in use where.  This will help\nus figure out ENOSPC problems, and help users better understand where their disk\nspace is going.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2ac55d41b5d6bf49e76bc85db5431240617e2f8f",
      "tree": "ee8e2a716ef0b50388ef5e4a86387ec0499bca89",
      "parents": [
        "5a1a3df1f6c86926cfe8657e6f9b4b4c2f467d60"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Wed Feb 03 19:33:23 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:13 2010 -0400"
      },
      "message": "Btrfs: cache the extent state everywhere we possibly can V2\n\nThis patch just goes through and fixes everybody that does\n\nlock_extent()\nblah\nunlock_extent()\n\nto use\n\nlock_extent_bits()\nblah\nunlock_extent_cached()\n\nand pass around a extent_state so we only have to do the searches once per\nfunction.  This gives me about a 3 mb/s boots on my random write test.  I have\nnot converted some things, like the relocation and ioctl\u0027s, since they aren\u0027t\nheavily used and the relocation stuff is in the middle of being re-written.  I\nalso changed the clear_extent_bit() to only unset the cached state if we are\nclearing EXTENT_LOCKED and related stuff, so we can do things like this\n\nlock_extent_bits()\nclear delalloc bits\nunlock_extent_cached()\n\nwithout losing our cached state.  I tested this thoroughly and turned on\nLEAK_DEBUG to make sure we weren\u0027t leaking extent states, everything worked out\nfine.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5a1a3df1f6c86926cfe8657e6f9b4b4c2f467d60",
      "tree": "bc73836bf0bde137da48eaff72dae75ee729aaba",
      "parents": [
        "c2a128d28a2e78e159e17e8c9274d0a9d9492555"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Feb 02 20:51:14 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:13 2010 -0400"
      },
      "message": "Btrfs: cache ordered extent when completing io\n\nWhen finishing io we run btrfs_dec_test_ordered_pending, and then immediately\nrun btrfs_lookup_ordered_extent, but btrfs_dec_test_ordered_pending does that\nalready, so we\u0027re searching twice when we don\u0027t have to.  This patch lets us\npass a btrfs_ordered_extent in to btrfs_dec_test_ordered_pending so if we do\ncomplete io on that ordered extent we can just use the one we found then instead\nof having to do another btrfs_lookup_ordered_extent.  This made my fio job with\nthe other patch go from 24 mb/s to 29 mb/s.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c2a128d28a2e78e159e17e8c9274d0a9d9492555",
      "tree": "de2a9aab9c2037aa027f598e66006de7b8cf70cd",
      "parents": [
        "49958fd7dbb83cd4d65179d025940e01fe1fbacd"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Feb 02 21:19:11 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:13 2010 -0400"
      },
      "message": "Btrfs: cache extent state in find_delalloc_range\n\nThis patch makes us cache the extent state we find in find_delalloc_range since\nwe\u0027ll have to lock the extent later on in the function.  This will keep us from\nre-searching for the rang when we try to lock the extent.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "49958fd7dbb83cd4d65179d025940e01fe1fbacd",
      "tree": "4a29e47c0935375968971450a2f2949bbd3cdd43",
      "parents": [
        "4125bf761cd0786e1163e024c7c809ce2cc625bc"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Feb 02 21:48:28 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:12 2010 -0400"
      },
      "message": "Btrfs: change the ordered tree to use a spinlock instead of a mutex\n\nThe ordered tree used to need a mutex, but currently all we use it for is to\nprotect the rb_tree, and a spin_lock is just fine for that.  Using a spin_lock\ninstead makes dbench run a little faster, 58 mb/s instead of 51 mb/s, and have\nless latency, 3445.138 ms instead of 3820.633 ms.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4125bf761cd0786e1163e024c7c809ce2cc625bc",
      "tree": "3e1b73b0db29994e8fb56c727c38c1167922f189",
      "parents": [
        "0be2e98173f8badd5ccc7c2e994891746ba1caf4"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Feb 03 18:18:45 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:12 2010 -0400"
      },
      "message": "Btrfs: finish read pages in the order they are submitted\n\nThe endio is done at reverse order of bio vectors.\n\nThat means for a sequential read, the page first submitted will finish\nlast in a bio. Considering we will do checksum (making cache hot) for\nevery page, this does introduce delay (and chance to squeeze cache used\nsoon) for pages submitted at the begining.\n\nI don\u0027t observe obvious performance difference with below patch at my\nsimple test, but seems more natural to finish read in the order they are\nsubmitted.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0be2e98173f8badd5ccc7c2e994891746ba1caf4",
      "tree": "97a8faa272d05e543ac8b26b0a4c6705ababb0c6",
      "parents": [
        "0bdb1db297ab36865a63ee722d35ff0a1f0ae522"
      ],
      "author": {
        "name": "Miao Xie",
        "email": "miaox@cn.fujitsu.com",
        "time": "Thu Feb 11 08:06:58 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:11 2010 -0400"
      },
      "message": "btrfs: fix btrfs_mkdir goto for no free objectids\n\nbtrfs_mkdir() must jump to the place of ending transaction after\nbtrfs_find_free_objectid() failed. Or this transaction can\u0027t end.\n\nSigned-off-by: Miao Xie \u003cmiaox@cn.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0bdb1db297ab36865a63ee722d35ff0a1f0ae522",
      "tree": "bd30183300d2ceaa35db1ab59adacf89e8e19d1a",
      "parents": [
        "bd4d10888990f7e3f8029205d27eb155202d6969"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Feb 19 14:13:50 2010 -0800"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:11 2010 -0400"
      },
      "message": "Btrfs: flush data on snapshot creation\n\nFlush any delalloc extents when we create a snapshot, so that recently\nwritten file data is always included in the snapshot.\n\nA later commit will add the ability to snapshot without the flush, but\nmost people expect flushing.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "bd4d10888990f7e3f8029205d27eb155202d6969",
      "tree": "dd8bfee4173f6bb5d0170768157e2a024bff34e1",
      "parents": [
        "3a0524dc054791688177544fe510d2868ee20d9f"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Mar 05 21:59:21 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:11 2010 -0400"
      },
      "message": "Btrfs: make df be a little bit more understandable\n\nThe way we report df usage is way confusing for everybody, including some other\nutilities (bacula for one).  So this patch makes df a little bit more\nunderstandable.  First we make used actually count the total amount of used\nspace in all space info\u0027s.  This will give us a real view of how much disk space\nis in use.  Second, for blocks available, only count data space.  This makes\nthings like bacula work because it says 0 when you can no longer write anymore\ndata to the disk.  I think this is a nice compromise, since you will end up with\nsomething like the following\n\n[root@alpha ~]# df -h\nFilesystem            Size  Used Avail Use% Mounted on\n/dev/mapper/VolGroup-lv_root\n                      148G   30G  111G  21% /\n/dev/sda1             194M  116M   68M  64% /boot\ntmpfs                 985M   12K  985M   1% /dev/shm\n/dev/mapper/VolGroup-LogVol02\n                      145G  140G     0 100% /mnt/btrfs-test\n\nCompare this with btrfsctl -i output\n\n[root@alpha btrfs-progs-unstable]# ./btrfsctl -i /mnt/btrfs-test/\nMetadata, DUP: total\u003d4.62GB, used\u003d2.46GB\nSystem, DUP: total\u003d8.00MB, used\u003d24.00KB\nData: total\u003d134.80GB, used\u003d134.80GB\nMetadata: total\u003d8.00MB, used\u003d0.00\nSystem: total\u003d4.00MB, used\u003d0.00\noperation complete\n\nThis way we show that there is no more data space to be used, but we have\nanother 5GB of space left for metadata.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3a0524dc054791688177544fe510d2868ee20d9f",
      "tree": "4038b649e33a7f41fd653a16af5766ca9cc6b7c5",
      "parents": [
        "1e701a3292e25a6c4939cad9f24951dc6b6ad853"
      ],
      "author": {
        "name": "TARUISI Hiroaki",
        "email": "taruishi.hiroak@jp.fujitsu.com",
        "time": "Tue Feb 09 06:36:45 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:10 2010 -0400"
      },
      "message": "btrfs: Update existing btrfs_device for renaming device\n\nWhen we scan devices in a multi-device filesystem, we memorize the original\nname.  If the device gets a new name, later scans don\u0027t update the\nin-kernel structures related to it, and we\u0027re not able to mount the\nfilesystem.\n\nThis patch updates device name during scaning.\n\nSigned-off-by: TARUISI Hiroaki \u003ctaruishi.hiroak@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1e701a3292e25a6c4939cad9f24951dc6b6ad853",
      "tree": "899887a99aae82fe113bffedccb90a76e5473f8b",
      "parents": [
        "940100a4a7b78b27e60a3e72340fb9b5397dcdb2"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Mar 11 09:42:04 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:10 2010 -0400"
      },
      "message": "Btrfs: add new defrag-range ioctl.\n\nThe btrfs defrag ioctl was limited to doing the entire file.  This\ncommit adds a new interface that can defrag a specific range inside\nthe file.\n\nIt can also force compression on the file, allowing you to selectively\ncompress individual files after they were created, even when mount -o\ncompress isn\u0027t turned on.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "940100a4a7b78b27e60a3e72340fb9b5397dcdb2",
      "tree": "8eec3d4a95cbc530ddaa82f0d2848e14519eec2a",
      "parents": [
        "51684082b11c304829ea22193d4d96a5b1663b97"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Mar 10 10:52:59 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:10 2010 -0400"
      },
      "message": "Btrfs: be more selective in the defrag ioctl\n\nThe btrfs defrag ioctl had some bugs around delalloc accounting, and it\nwasn\u0027t properly skipping pages that were not in the mapping.\n\nIt wasn\u0027t properly clearing the page checked flag, which could make the\nwriteback code ignore the page forever while pinning it as dirty.\n\nThis commit fixes those problems and makes defrag a little smarter.  It\nskips holes and it doesn\u0027t waste time defragging large extents.  If a\ntiny extent comes before a very large extent, it will defrag both of\nthem to make sure the tiny extent ends up next to something big.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "51684082b11c304829ea22193d4d96a5b1663b97",
      "tree": "cfe13e6789c90a817392af490b23a89e7924cbaf",
      "parents": [
        "4849f01d153be0f52b8191ee1be0ce492aa96811"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Mar 10 15:33:32 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:09 2010 -0400"
      },
      "message": "Btrfs: run the backing dev more often in the submit_bio helper\n\nThe submit_bio helper thread can decide to loop back around to\nservice more bios.  This commit forces it to unplug first, which helps\nreduce the latency seen by submitters.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4849f01d153be0f52b8191ee1be0ce492aa96811",
      "tree": "39da0f94d126899f095a9f2b23bb3e38aa90bf46",
      "parents": [
        "6ef5ed0d386be5c43ec66d6f2999919c0893558b"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Mon Dec 14 19:18:38 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:09 2010 -0400"
      },
      "message": "Btrfs: make subvolid\u003d0 mount the original default root\n\nSince theres not a good way to make sure the user sees the original default root\ntree id, and not to mention it\u0027s 5 so is way different than any other volume,\njust make subvol\u003d0 mount the original default root.  This makes it a bit easier\nfor users to handle in the long run.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6ef5ed0d386be5c43ec66d6f2999919c0893558b",
      "tree": "7ec391a0525506eb03bcbb0b5e19709f530b0b74",
      "parents": [
        "73f73415caddbc01d9f10c03e0a677d5b3d11569"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Dec 11 21:11:29 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 11:00:08 2010 -0400"
      },
      "message": "Btrfs: add ioctl and incompat flag to set the default mount subvol\n\nThis patch needs to go along with my previous patch.  This lets us set the\ndefault dir item\u0027s location to whatever root we want to use as our default\nmounting subvol.  With this we don\u0027t have to use mount -o subvol\u003d\u003ctree id\u003e\nanymore to mount a different subvol, we can just set the new one and it will\njust magically work.  I\u0027ve done some moderate testing with this, mostly just\nswitching the default mount around, mounting subvols and the default mount at\nthe same time and such, everything seems to work.  Thanks,\n\nOlder kernels would generally be able to still mount the filesystem with the\ndefault subvolume set, but it would result in a different volume being mounted,\nwhich could be an even more unpleasant suprise for users.  So if you set your\ndefault subvolume, you can\u0027t go back to older kernels.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "73f73415caddbc01d9f10c03e0a677d5b3d11569",
      "tree": "249ef103a73e8d99efe409b7988b694537b3d6ad",
      "parents": [
        "12534832cb7b0abc7369298246e8b7af03b863ca"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Fri Dec 04 17:38:27 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 10:58:13 2010 -0400"
      },
      "message": "Btrfs: change how we mount subvolumes\n\nThis work is in preperation for being able to set a different root as the\ndefault mounting root.\n\nThere is currently a problem with how we mount subvolumes.  We cannot currently\nmount a subvolume of a subvolume, you can only mount subvolumes/snapshots of the\ndefault subvolume.  So say you take a snapshot of the default subvolume and call\nit snap1, and then take a snapshot of snap1 and call it snap2, so now you have\n\n/\n/snap1\n/snap1/snap2\n\nas your available volumes.  Currently you can only mount / and /snap1,\nyou cannot mount /snap1/snap2.  To fix this problem instead of passing\nsubvolid\u003d\u003cname\u003e you must pass in subvolid\u003d\u003ctreeid\u003e, where \u003ctreeid\u003e is\nthe tree id that gets spit out via the subvolume listing you get from\nthe subvolume listing patches (btrfs filesystem list).  This allows us\nto mount /, /snap1 and /snap1/snap2 as the root volume.\n\nIn addition to the above, we also now read the default dir item in the\ntree root to get the root key that it points to.  For now this just\npoints at what has always been the default subvolme, but later on I plan\nto change it to point at whatever root you want to be the new default\nroot, so you can just set the default mount and not have to mount with\n-o subvolid\u003d\u003ctreeid\u003e.  I tested this out with the above scenario and it\nworked perfectly.  Thanks,\n\nmount -o subvol operates inside the selected subvolid.  For example:\n\nmount -o subvol\u003dsnap1,subvolid\u003d256 /dev/xxx /mnt\n\n/mnt will have the snap1 directory for the subvolume with id\n256.\n\nmount -o subvol\u003dsnap /dev/xxx /mnt\n\n/mnt will be the snap directory of whatever the default subvolume\nis.\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "12534832cb7b0abc7369298246e8b7af03b863ca",
      "tree": "5747e45c8bf9d37bcd5962e6e669934a951a846e",
      "parents": [
        "ac8e9819d71f907a0532b01b22c26b56bbbcbd21"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Dec 17 21:32:27 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 10:55:10 2010 -0400"
      },
      "message": "Btrfs: make set/get functions for the super compat_ro flags use compat_ro\n\nOur set/get functions for compat_ro_flags actually look at compat_flags.  This\nwill mess any attempt to use compat flags up.  The fix is obvious.  Thanks,\n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ac8e9819d71f907a0532b01b22c26b56bbbcbd21",
      "tree": "5bdebf68182139e664b59286f6f7071e3ada2b18",
      "parents": [
        "98d377a0894e6bcca44eafd4d2eee74e8af4db83"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sun Feb 28 15:39:26 2010 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 10:55:10 2010 -0400"
      },
      "message": "Btrfs: add search and inode lookup ioctls\n\nThe search ioctl is a generic tool for doing btree searches from\nuserland applications.  The first user of the search ioctl is a\nsubvolume listing feature, but we\u0027ll also use it to find new\nfiles in a subvolume.\n\nThe search ioctl allows you to specify min and max keys to search for,\nalong with min and max transid.  It returns the items along with a\nheader that includes the item key.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "98d377a0894e6bcca44eafd4d2eee74e8af4db83",
      "tree": "02b1b926812a8852397c7c6cd274943c59c65f4b",
      "parents": [
        "da495ecc0fb096b383754952a1c152147bc95b52"
      ],
      "author": {
        "name": "TARUISI Hiroaki",
        "email": "taruishi.hiroak@jp.fujitsu.com",
        "time": "Wed Nov 18 05:42:14 2009 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 15 10:55:09 2010 -0400"
      },
      "message": "Btrfs: add a function to lookup a directory path by following backrefs\n\nThis will be used by the inode lookup ioctl.\n\nSigned-off-by: TARUISI Hiroaki \u003ctaruishi.hiroak@jp.fujitsu.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "f901e753923192a7793e5d7591e2c03dcb252d68",
      "tree": "efa1224ea1c1a479e4c9a10bb27d0d8d37e26b86",
      "parents": [
        "bced86359918326a65258b1be245834e5c493c88",
        "c91cea11dfec65968ff9d1b4239c1eab63bf72fd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:13:24 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:13:24 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: remove whitespaces before quoted newlines\n  nilfs2: remove spaces before tabs\n  nilfs2: fix various typos in comments\n  nilfs2: fix typo \"cout\" -\u003e \"count\" in error message\n  nilfs2: fix function name typos in docbook comments\n  nilfs2: fix discrepancy in use of static specifier\n"
    },
    {
      "commit": "ceb804cd0f63b0e0a87b81913b66add6de03043d",
      "tree": "179d3050a8ea5fe5b8406efec64b5c391499d4d4",
      "parents": [
        "3474cbd11df8cdd6413781ea95bd51dd469098ff",
        "f78233dd44a110c574fe760ad6f9c1e8741a0d00"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:11:08 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 14 11:11:08 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: Skip check for mandatory locks when unlocking\n  9p: Fixes a simple bug enabling writes beyond 2GB.\n  9p: Change the name of new protocol from 9p2010.L to 9p2000.L\n  fs/9p: re-init the wstat in readdir loop\n  net/9p: Add sysfs mount_tag file for virtio 9P device\n  net/9p: Use the tag name in the config space for identifying mount point\n"
    },
    {
      "commit": "c91cea11dfec65968ff9d1b4239c1eab63bf72fd",
      "tree": "2749de610dd52786d7fb3ccdd3e1b5872feb544d",
      "parents": [
        "55480a06e9ee8d05d0e580bf46611df489653c76"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 04:01:27 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:51 2010 +0900"
      },
      "message": "nilfs2: remove whitespaces before quoted newlines\n\nThis kills the following checkpatch warnings:\n\n WARNING: unnecessary whitespace before a quoted newline\n #869: FILE: super.c:869:\n +     \t           \"remount to a different snapshot. \\n\",\n\n WARNING: unnecessary whitespace before a quoted newline\n #389: FILE: the_nilfs.c:389:\n +     \t    printk(KERN_ERR \"NILFS: too short segment. \\n\");\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "55480a06e9ee8d05d0e580bf46611df489653c76",
      "tree": "5e84360a299051720943a3ce0a2713f4165d1ca0",
      "parents": [
        "7a65004bbaa6a21a0438aac9c64814e46084dc3f"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 03:55:56 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:51 2010 +0900"
      },
      "message": "nilfs2: remove spaces before tabs\n\nThis kills the following checkpatch warnings:\n\n WARNING: please, no space before tabs\n #74: FILE: segment.h:74:\n +^Iunsigned ^I^Iflags;$\n\n WARNING: please, no space before tabs\n #35: FILE: segbuf.c:35:\n +^Iint ^I^I^Istart, end; /* The region to be submitted */$\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "7a65004bbaa6a21a0438aac9c64814e46084dc3f",
      "tree": "3153527bf645a5ee5865f9059b08282ec00e99f5",
      "parents": [
        "1621562b6ac55aa69239895d90276577547a5f62"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 03:32:40 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:51 2010 +0900"
      },
      "message": "nilfs2: fix various typos in comments\n\nThis fixes various typos I found in comments of nilfs2.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "1621562b6ac55aa69239895d90276577547a5f62",
      "tree": "27d33991e28ac824a8262f1beddecad52cdd304e",
      "parents": [
        "9ccf56c13831c5fe0edecd8c1184c9a6fe805d23"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 03:17:45 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:50 2010 +0900"
      },
      "message": "nilfs2: fix typo \"cout\" -\u003e \"count\" in error message\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "9ccf56c13831c5fe0edecd8c1184c9a6fe805d23",
      "tree": "f3e3810e1d12e6ba88b7dfd922f0185a90112073",
      "parents": [
        "6c477d44a7dad43a2783b4dea7f4ca3882d77126"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 03:01:03 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:29:50 2010 +0900"
      },
      "message": "nilfs2: fix function name typos in docbook comments\n\nFixes the following typos in docbook comments:\n\n nilfs_detroy_transaction_cache -\u003e nilfs_destroy_transaction_cache\n nilfs_secgtor_start_timer -\u003e nilfs_segctor_start_timer\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "6c477d44a7dad43a2783b4dea7f4ca3882d77126",
      "tree": "7a0e051ddbb9c2c0f11910983efe3d98c8bcf8c5",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 02:01:51 2010 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Mar 14 10:27:27 2010 +0900"
      },
      "message": "nilfs2: fix discrepancy in use of static specifier\n\nTwo segbuf functions, nilfs_segbuf_write and nilfs_segbuf_wait, are\ndeclared with the static storage class specifier, but their\nimplementations are not.\n\nThis fixes the discrepancy.\n\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "8cea4eb642890a1de58980e7e1617d1765ef8f7c",
      "tree": "ea43bc34715d854c599743bf226437339bed1beb",
      "parents": [
        "122ce878dc189860a380539bde19498bf93443a7",
        "720e7749279bde0d08684b1bb4e7a2eedeec6394"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:38:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 13 14:38:53 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  GFS2: Skip check for mandatory locks when unlocking\n  GFS2: Allow the number of committed revokes to temporarily be negative\n  GFS2: do not select QUOTA\n"
    },
    {
      "commit": "f78233dd44a110c574fe760ad6f9c1e8741a0d00",
      "tree": "5b38b76a9f7133cd6e86cecb66673b53fa93d85a",
      "parents": [
        "fc0f296126433e61600539325975b6c30681c07e"
      ],
      "author": {
        "name": "Sachin Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Sat Mar 13 09:03:55 2010 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 09:05:37 2010 -0600"
      },
      "message": "9p: Skip check for mandatory locks when unlocking\n\nWhile investigating a bug, I came across a possible bug in v9fs. The\nproblem is similar to the one reported for NFS by ASANO Masahiro in\nhttp://lkml.org/lkml/2005/12/21/334.\n\nv9fs_file_lock() will skip locks on file which has mode set to 02666.\nThis is a problem in cases where the mode of the file is changed after\na process has obtained a lock on the file. Such a lock will be skipped\nduring unlock and the machine will end up with a BUG in\nlocks_remove_flock().\n\nv9fs_file_lock() should skip the check for mandatory locks when\nunlocking a file.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fc0f296126433e61600539325975b6c30681c07e",
      "tree": "982db41753bc2547133c4e84ab703e24d9333010",
      "parents": [
        "45bc21edb52fa71dbb1324c6f573aa880e95519d"
      ],
      "author": {
        "name": "jvrao",
        "email": "jvrao@linux.vnet.ibm.com",
        "time": "Mon Mar 08 22:07:02 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:59:54 2010 -0600"
      },
      "message": "9p: Fixes a simple bug enabling writes beyond 2GB.\n\nFixes a simple bug so that large files beyond 2GB can be created.\n\nSigned-off-by: Venkateswararao Jujjuri \u003cjvrao@linux.vnet.ibm.com\u003e\nSigned-off-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "45bc21edb52fa71dbb1324c6f573aa880e95519d",
      "tree": "adee2b59a562679241f874c978162739e1df78bb",
      "parents": [
        "fae4528b2341f2ab0c86c191e24d9cdd93624c60"
      ],
      "author": {
        "name": "Sripathi Kodi",
        "email": "sripathik@in.ibm.com",
        "time": "Mon Mar 08 17:33:04 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:57:29 2010 -0600"
      },
      "message": "9p: Change the name of new protocol from 9p2010.L to 9p2000.L\n\nThis patch changes the name of the new 9P protocol from 9p2010.L to\n9p2000.u. This is because we learnt that the name 9p2010 is already\nbeing used by others.\n\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "fae4528b2341f2ab0c86c191e24d9cdd93624c60",
      "tree": "c60df63625d95dfa7c35fc60a671a1aff0c3e938",
      "parents": [
        "86c8437383acd85c05ec7c9a004f59fe7ac9821a"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Mar 06 04:44:16 2010 +0000"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@gmail.com",
        "time": "Sat Mar 13 08:57:29 2010 -0600"
      },
      "message": "fs/9p: re-init the wstat in readdir loop\n\nThis ensure that on failure when we free the stat buf we don\u0027t end up\nfreeing an already freed pointer in the earlier loop\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Sripathi Kodi \u003csripathik@in.ibm.com\u003e\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n"
    },
    {
      "commit": "9d85929fefd040ca84a5e04ee704d043efcc3c2e",
      "tree": "34cdd0f79f656962fe0aada6b603620a6afc294a",
      "parents": [
        "6db823cf4b44f235b5e1da8ec1fe3c3cd63647fe",
        "eeb5b4ae81f4a750355fa0c15f4fea22fdf83be1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:35:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:35:21 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: Fix stat-\u003ef_namelen\n  fat: Fix vfat_lookup()\n"
    },
    {
      "commit": "3836a03d978e68b0ae00d3589089343c998cd4ff",
      "tree": "8a7e71fa5af7d87784145e14141a997b8a5b6e3f",
      "parents": [
        "83c0fb6500b13c9b7564fe453b76356dc58415d4"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Mar 09 22:23:01 2010 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:25:23 2010 -0800"
      },
      "message": "anon_inodes: mark the anon inode private\n\nInotify was switched to use anon_inode instead of its own private filesystem\nwhich only had one inode in commit c44dcc56d2b5c7 \"switch inotify_user to\nanon_inode\"\n\nThe problem with this is that now the inotify inode is not a distinct inode\nwhich can be managed by LSMs.  userspace tools which use inotify were allowed\nto use the inotify inode but may not have had permission to do read/write type\noperations on the anon_inode.  After looking at the anon_inode and its users\nit looks like the best solution is to just mark the anon_inode as S_PRIVATE\nso the security system will ignore it.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "83c0fb6500b13c9b7564fe453b76356dc58415d4",
      "tree": "fe4c449dabb67da76ea1f6045f490c044327a46b",
      "parents": [
        "11bfe2ea732c6499c46c4f3a63d567c05b9dbafd",
        "3a065fcf9efed42ba736da7be528f2d3dec4965a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:22:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:22:50 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:\n  udf: use ext2_find_next_bit\n  udf: Do not read inode before writing it\n  udf: Fix unalloc space handling in udf_update_inode\n"
    },
    {
      "commit": "c32da02342b7521df25fefc2ef20aee0e61cf887",
      "tree": "7e38f664fa3e13602c357d37f77d8adcf82fccc2",
      "parents": [
        "dca1d9f6d7ae428c193f32bd3e9a4ca13176648b",
        "318ae2edc3b29216abd8a2510f3f80b764f06858"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:04:50 2010 -0800"
      },
      "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: (56 commits)\n  doc: fix typo in comment explaining rb_tree usage\n  Remove fs/ntfs/ChangeLog\n  doc: fix console doc typo\n  doc: cpuset: Update the cpuset flag file\n  Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed\n  Remove drivers/parport/ChangeLog\n  Remove drivers/char/ChangeLog\n  doc: typo - Table 1-2 should refer to \"status\", not \"statm\"\n  tree-wide: fix typos \"ass?o[sc]iac?te\" -\u003e \"associate\" in comments\n  No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h\n  devres/irq: Fix devm_irq_match comment\n  Remove reference to kthread_create_on_cpu\n  tree-wide: Assorted spelling fixes\n  tree-wide: fix \u0027lenght\u0027 typo in comments and code\n  drm/kms: fix spelling in error message\n  doc: capitalization and other minor fixes in pnp doc\n  devres: typo fix s/dev/devm/\n  Remove redundant trailing semicolons from macros\n  fix typo \"definetly\" -\u003e \"definitely\" in comment\n  tree-wide: s/widht/width/g typo in comments\n  ...\n\nFix trivial conflict in Documentation/laptops/00-INDEX\n"
    },
    {
      "commit": "ad25ad979a309963e580015d57e4ec7da72bb7d4",
      "tree": "4e9210ba541eceae3c5e7779e498873557fc4130",
      "parents": [
        "b3a0fd4d877fe7692901b5867ba7cbd3f6d19d22"
      ],
      "author": {
        "name": "Evgeniy Dushistov",
        "email": "dushistov@mail.ru",
        "time": "Wed Mar 10 15:21:55 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:35 2010 -0800"
      },
      "message": "ufs: make solaris fsck happy\n\nAlex Viskovatoff let me know that after copying data to solaris\u0027s ufs from\nlinux, solaris\u0027s fsck sees some errors in cylinder summary information.\nThis is because of solaris expects find some data on another places, then\ncurernt implementation save it.  This patch fixes this issue.  It is\ntested by me, and also Alex reported that it works for him.\n\nSigned-off-by: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nReported-by: Alex Viskovatoff \u003cviskovatoff@imap.cc\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3a0fd4d877fe7692901b5867ba7cbd3f6d19d22",
      "tree": "49d3fdda17a8c27f28a446112d9fc066ce11e43d",
      "parents": [
        "d7d4d849b4e3acc405ec222884936800ffb26d48"
      ],
      "author": {
        "name": "Alex Viskovatoff",
        "email": "viskovatoff@imap.cc",
        "time": "Wed Mar 10 15:21:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:35 2010 -0800"
      },
      "message": "fs/ufs: recognize Solaris-specific file system state\n\nRecent releases of Solaris set the fs_clean state of an unmounted UFS file\nsystem as FSLOG (\"logging fs\").  However, the Linux kernel currently does\nnot recognize the value which represents this state.  Thus, attempting to\nmount such a file system rw produces the message\n\nkernel: ufs_read_super: can\u0027t grok fs_clean 0xfffffffd\n\nand the file system is mounted read-only.  This patch makes the kernel\nrecognize that value.\n\nSigned-off-by: Alex Viskovatoff \u003cviskovatoff@imap.cc\u003e\nCc: Evgeniy Dushistov \u003cdushistov@mail.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d0e52830e9ae09b872567f4aca3dfb5b5918079",
      "tree": "55a199575058da551ccc837ab35a1f4826a8c5b4",
      "parents": [
        "724ee626f38feaea215a11790e1a0cb5d83b0628"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Mar 10 15:21:13 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:32 2010 -0800"
      },
      "message": "Add generic sys_old_select()\n\nAdd a generic implementation of the old select() syscall, which expects\nits argument in a memory block and switch all architectures over to use\nit.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nAcked-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nAcked-by: Greg Ungerer \u003cgerg@uclinux.org\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "019b4d123aa7b9fc135b532e021cfde85db7665d",
      "tree": "91edbae535136417bc1277dd2c40d98c7ea7ec8f",
      "parents": [
        "03affdef4fc85e416e3862abb0aa549c6034cdd0"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Wed Mar 10 15:20:33 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:27 2010 -0800"
      },
      "message": "fs: buffer_head: remove kmem_cache constructor to reduce memory usage under slub\n\nWhen using slub, having a kmem_cache constructor forces slub to add a free\npointer to the size of the cached object, which can have a significant\nimpact to the number of small objects that can fit into a slab.\n\nAs buffer_head is relatively small and we can have large numbers of them,\nremoving the constructor is a definite win.\n\nOn x86_64 removing the constructor gives me 39 objects/slab, 3 more than\nwithout the patch.  And on x86_32 73 objects/slab, which is 9 more.\n\nAs alloc_buffer_head() already initializes each new object there is very\nlittle difference in actual code run.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "03affdef4fc85e416e3862abb0aa549c6034cdd0",
      "tree": "12836f1fd356a1fd6c18a44a31f252c5deea3a66",
      "parents": [
        "522dba7134d6b2e5821d3457f7941ec34f668e6d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Mar 10 15:20:32 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:27 2010 -0800"
      },
      "message": "fs/ocfs2/cluster/tcp.c: remove use of NIPQUAD, use %pI4\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "720e7749279bde0d08684b1bb4e7a2eedeec6394",
      "tree": "894b5b4695fa6e6a7f86101bad1862a0cd623fe8",
      "parents": [
        "2e95e3f668c85276ce699993596d3b52b0fcf4c5"
      ],
      "author": {
        "name": "Sachin Prabhu",
        "email": "sprabhu@redhat.com",
        "time": "Thu Mar 11 12:24:45 2010 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 11 17:17:57 2010 +0000"
      },
      "message": "GFS2: Skip check for mandatory locks when unlocking\n\ngfs2_lock() will skip locks on file which have mode set to 02666. This is a problem in cases where the mode of the file is changed after a process has obtained a lock on the file. Such a lock will be skipped and will result in a BUG in locks_remove_flock().\n\ngfs2_lock() should skip the check for mandatory locks when unlocking a file.\n\nSigned-off-by: Sachin Prabhu \u003csprabhu@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "bb6fbc4548b9ae7ebbd06ef72f00229df259d217",
      "tree": "8125009a70bda766ac27fd4cb4368b04816f7662",
      "parents": [
        "b4d2314bb88b07e5a04e6c75b442a1dfcd60e340"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 11 09:19:35 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Mar 11 09:19:35 2010 -0500"
      },
      "message": "NFS: Avoid a deadlock in nfs_release_page\n\nJ.R. Okajima reports the following deadlock:\n\nINFO: task kswapd0:305 blocked for more than 120 seconds.\n\"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\nkswapd0       D 0000000000000001     0   305      2 0x00000000\n ffff88001f21d4f0 0000000000000046 ffff88001fdea680 ffff88001f21c000\n ffff88001f21dfd8 ffff88001f21c000 ffff88001f21dfd8 ffff88001f21dfd8\n ffff88001fdea040 0000000000014c00 0000000000000001 ffff88001fdea040\nCall Trace:\n [\u003cffffffff8146155d\u003e] io_schedule+0x4d/0x70\n [\u003cffffffff810d2be5\u003e] sync_page+0x65/0xa0\n [\u003cffffffff81461b12\u003e] __wait_on_bit_lock+0x52/0xb0\n [\u003cffffffff810d2b80\u003e] ? sync_page+0x0/0xa0\n [\u003cffffffff810d2b64\u003e] __lock_page+0x64/0x70\n [\u003cffffffff81070ce0\u003e] ? wake_bit_function+0x0/0x40\n [\u003cffffffff810df1d4\u003e] truncate_inode_pages_range+0x344/0x4a0\n [\u003cffffffff810df340\u003e] truncate_inode_pages+0x10/0x20\n [\u003cffffffff8112cbfe\u003e] generic_delete_inode+0x15e/0x190\n [\u003cffffffff8112cc8d\u003e] generic_drop_inode+0x5d/0x80\n [\u003cffffffff8112bb88\u003e] iput+0x78/0x80\n [\u003cffffffff811bc908\u003e] nfs_dentry_iput+0x38/0x50\n [\u003cffffffff811285f4\u003e] dentry_iput+0x84/0x110\n [\u003cffffffff811286ae\u003e] d_kill+0x2e/0x60\n [\u003cffffffff8112912a\u003e] dput+0x7a/0x170\n [\u003cffffffff8111e925\u003e] path_put+0x15/0x40\n [\u003cffffffff811c3a44\u003e] __put_nfs_open_context+0xa4/0xb0\n [\u003cffffffff811cb5d0\u003e] ? nfs_free_request+0x0/0x50\n [\u003cffffffff811c3b0b\u003e] put_nfs_open_context+0xb/0x10\n [\u003cffffffff811cb5f9\u003e] nfs_free_request+0x29/0x50\n [\u003cffffffff81234b7e\u003e] kref_put+0x8e/0xe0\n [\u003cffffffff811cb594\u003e] nfs_release_request+0x14/0x20\n [\u003cffffffff811cf769\u003e] nfs_find_and_lock_request+0x89/0xa0\n [\u003cffffffff811d1180\u003e] nfs_wb_page+0x80/0x110\n [\u003cffffffff811c0770\u003e] nfs_release_page+0x70/0x90\n [\u003cffffffff810d18ee\u003e] try_to_release_page+0x5e/0x80\n [\u003cffffffff810e1178\u003e] shrink_page_list+0x638/0x860\n [\u003cffffffff810e19de\u003e] shrink_zone+0x63e/0xc40\n\nWe can fix this by making the call to put_nfs_open_context() happen when we\nactually remove the write request from the inode (which is done by the\nnfsiod thread in this case).\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2e95e3f668c85276ce699993596d3b52b0fcf4c5",
      "tree": "07b4fee61babe92111e1cafb3a30e99b6bdd4934",
      "parents": [
        "e9edb1d8a345119c9baafa1b240eb1ec06a44662"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Wed Mar 10 18:10:19 2010 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Mar 11 09:50:46 2010 +0000"
      },
      "message": "GFS2: Allow the number of committed revokes to temporarily be negative\n\nGFS2 tracks the number of revokes and unrevokes that are part of committed\ntransactions via sd_log_commited_revoke. It is possible for one process to add\nrevokes during its transaction, while another process unrevokes them during its\ntransaction. If the second process finishes its transaction first,\nsd_log_commited_revoke will be decremented by the number of unrevokes that the\nsecond process did, without first being incremented by the number of revokes\nthe first process did. This is fine, since all started transactions must be\ncompleted before the journal can be flushed.  However, sd_log_commited_revoke\nis an unsigned integer, and log_refund() causes an assertion failure if it\nwould go negative at the end of a transaction.  This patch makes\nsd_log_commited_revoke a signed integer and allows it to go negative.\n__gfs2_log_flush() still checks that it mataches the actual number of revokes.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b4d2314bb88b07e5a04e6c75b442a1dfcd60e340",
      "tree": "9727944bf30a47cf02f9b9547adcaeafeee25843",
      "parents": [
        "49697ee79242d5f8ac88f1ebc62e583d16bcc687"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 10 15:21:44 2010 -0500"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Wed Mar 10 15:21:44 2010 -0500"
      },
      "message": "NFSv4: Don\u0027t ignore the NFS_INO_REVAL_FORCED flag in nfs_revalidate_inode()\n\nIf the NFS_INO_REVAL_FORCED flag is set, that means that we don\u0027t yet have\nan up to date attribute cache. Even if we hold a delegation, we must\nput a GETATTR on the wire.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "ff215713eb33c56301cf6bfec0143ddc7f22c138",
      "tree": "6b155e7d1b36b79d72f2cc67225744953e122117",
      "parents": [
        "abab095d1fd25986b910d3c46289d8fa3582cdc5"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 09 20:30:42 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 09 20:30:42 2010 +0000"
      },
      "message": "[CIFS] checkpatch cleanup\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "abab095d1fd25986b910d3c46289d8fa3582cdc5",
      "tree": "2b70291e5159f9a8332cbeb17b21999962eadad0",
      "parents": [
        "c8634fd3115497ac311f57be9c12f993437745cf"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Feb 12 07:44:18 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 09 20:22:53 2010 +0000"
      },
      "message": "cifs: add cifs_revalidate_file\n\n...to allow updating inode attributes on an existing inode by\nfilehandle. Change mmap and llseek codepaths to use that\ninstead of cifs_revalidate_dentry since they have a filehandle\nreadily available.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3a065fcf9efed42ba736da7be528f2d3dec4965a",
      "tree": "6c80bb32e7dfa546e2f4759929b3c1fd04462fdb",
      "parents": [
        "5833ded9b6d783b8446349bada08f0f5e4227895"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Feb 23 23:11:13 2010 +0900"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:18 2010 +0100"
      },
      "message": "udf: use ext2_find_next_bit\n\nUse ext2_find_next_bit (generic_find_next_le_bit) to find the set bit\nin little endian bitmap region.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5833ded9b6d783b8446349bada08f0f5e4227895",
      "tree": "6f86b88c0c446b4c62cd38b8cd9f4432331216f6",
      "parents": [
        "aae917cd188f397e9223001d9f6c0adfb339fd64"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 08 16:52:59 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:17 2010 +0100"
      },
      "message": "udf: Do not read inode before writing it\n\nWe needlessly read inode in udf_update_inode just before zeroing out the\ncontents of the buffer. Fix it.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "aae917cd188f397e9223001d9f6c0adfb339fd64",
      "tree": "7185f5f0b984145c1511ae657487e68504f185a7",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Jan 08 16:46:29 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Mar 09 17:15:17 2010 +0100"
      },
      "message": "udf: Fix unalloc space handling in udf_update_inode\n\nWriting of inode holding unallocated space info was broken because we first\ncleared the buffer and after that checked whether it contains a tag meaning the\nblock holds unallocated space information.  Fix the problem by checking\nappropriate in memory flag instead.\n\nAlso cleanup the function a bit along the way - most importantly lock buffer\nwhen modifying its contents, check for buffer_write_io_error instead of\n!buffer_uptodate, etc..\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e9edb1d8a345119c9baafa1b240eb1ec06a44662",
      "tree": "6229089205329e812cfd12387aae748c309f264c",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 08:53:51 2010 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 09 10:08:36 2010 +0000"
      },
      "message": "GFS2: do not select QUOTA\n\ngfs2 only needs the quotactl code, not the generic quota implementation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "51d0f6d1f50349579f007adf5c0b51aaedd93b94",
      "tree": "6ea3f2683c3017d63101e708309665727eb2a7cc",
      "parents": [
        "57d54889cd00db2752994b389ba714138652e60c",
        "da495ecc0fb096b383754952a1c152147bc95b52"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 08 14:07:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 08 14:07:53 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: kfree correct pointer during mount option parsing\n  Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL\n"
    },
    {
      "commit": "da495ecc0fb096b383754952a1c152147bc95b52",
      "tree": "beec70bea515038c849c1b34836bba2455d90f2b",
      "parents": [
        "6bef4d317193d3badbbfa3f3c593758ace84a629"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Thu Feb 25 20:38:35 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 08 16:26:50 2010 -0500"
      },
      "message": "Btrfs: kfree correct pointer during mount option parsing\n\nWe kstrdup the options string, but then strsep screws with the pointer,\nso when we kfree() it, we\u0027re not giving it the right pointer.\n\nTested-by: Andy Lutomirski \u003cluto@mit.edu\u003e\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6bef4d317193d3badbbfa3f3c593758ace84a629",
      "tree": "8aa9fcf3297c69033b9a9a83a27ecccaab0f9d7d",
      "parents": [
        "3f6fae9559225741c91f1320090b285da1413290"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Feb 23 19:43:04 2010 +0000"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Mar 08 16:26:50 2010 -0500"
      },
      "message": "Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL\n\nbtrfs inialize rb trees in quite a number of places by settin rb_node \u003d\nNULL;  The problem with this is that 17d9ddc72fb8bba0d4f678 in the\nlinux-next tree adds a new field to that struct which needs to be NULL for\nthe new rbtree library code to work properly.  This patch uses RB_ROOT as\nthe intializer so all of the relevant fields will be NULL\u0027d.  Without the\npatch I get a panic.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Venkatesh Pallipadi \u003cvenkatesh.pallipadi@intel.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "49697ee79242d5f8ac88f1ebc62e583d16bcc687",
      "tree": "9b607ce2c3c6a4d874f201b534b13038983af28e",
      "parents": [
        "7dd08a570dcf45d52155996fee688405635ee481"
      ],
      "author": {
        "name": "Steve Dickson",
        "email": "SteveD@redhat.com",
        "time": "Tue Oct 13 16:07:33 2009 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 08 14:56:42 2010 -0500"
      },
      "message": "nfs4: Make the v4 callback service hidden\n\nTo avoid hangs in the svc_unregister(), on version 4 mounts\n(and unmounts), when rpcbind is not running, make the nfs4 callback\nprogram an \u0027hidden\u0027 service by setting the \u0027vs_hidden\u0027 flag in the\nnfs4_callback_version structure.\n\nSigned-off-by: Steve Dickson \u003csteved@redhat.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7dd08a570dcf45d52155996fee688405635ee481",
      "tree": "7458eddbaabf695fbaadbbc35d7deb71bfa45ab5",
      "parents": [
        "5fe46e9d733f19a880ef7e516002bd4c2b833e14"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Sat Mar 06 15:02:22 2010 +0300"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Mar 08 14:10:00 2010 -0500"
      },
      "message": "nfs: fix unlikely memory leak\n\nI\u0027ll admit that it\u0027s unlikely for the first allocation to fail and\nthe second one to succeed.  I won\u0027t be offended if you ignore this\npatch.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e10154189f001b6428a83f58b03a27954f0f8022",
      "tree": "30b4ac5760c5d310e9cc2cbf8fc4b9c6f9d0e369",
      "parents": [
        "d4bab1b091be4a91a7363118c9ede3cc9a7fefd4",
        "410c17651998944630a95fbb286a50362de2dbb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 08 10:17:20 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 08 10:17:20 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (62 commits)\n  msi-laptop: depends on RFKILL\n  msi-laptop: Detect 3G device exists by standard ec command\n  msi-laptop: Add resume method for set the SCM load again\n  msi-laptop: Support some MSI 3G netbook that is need load SCM\n  msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command\n  msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook\n  Driver core: create lock/unlock functions for struct device\n  sysfs: fix for thinko with sysfs_bin_attr_init()\n  sysfs: Kill unused sysfs_sb variable.\n  sysfs: Pass super_block to sysfs_get_inode\n  driver core: Use sysfs_rename_link in device_rename\n  sysfs: Implement sysfs_rename_link\n  sysfs: Pack sysfs_dirent more tightly.\n  sysfs: Serialize updates to the vfs inode\n  sysfs: windfarm: init sysfs attributes\n  sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes\n  sysfs: Document sysfs_attr_init and sysfs_bin_attr_init\n  sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes\n  sysfs: Use one lockdep class per sysfs attribute.\n  sysfs: Only take active references on attributes.\n  ...\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "d4014030d2b2508aaf54093a5885f1c8a2275dd7",
      "tree": "1954a7500d9ab035671503fdc39f4609fa240c53",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176"
      ],
      "author": {
        "name": "Christian Kujau",
        "email": "lists@nerdbynature.de",
        "time": "Mon Mar 08 15:03:09 2010 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 08 07:32:34 2010 -0800"
      },
      "message": "FS-Cache: Remove the EXPERIMENTAL flag\n\nRemove the EXPERIMENTAL flag from FS-Cache so that Ubuntu can make use of the\nfacility.\n\nSigned-off-by: Christian Kujau \u003clists@nerdbynature.de\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f4288ec6fcc1a47d1fa0241ec1c6dacd5a09e96",
      "tree": "7112809d470a7e6dc55cd68054896beef24bc184",
      "parents": [
        "fac2622bbad4d7e3a32c53e631e018b80ec631dc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:28 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Kill unused sysfs_sb variable.\n\nNow that there are no more users we can remove\nthe sysfs_sb variable.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "fac2622bbad4d7e3a32c53e631e018b80ec631dc",
      "tree": "42e4ad2b38c6d40c86eabaff5efff2b0adeb0b40",
      "parents": [
        "2354dcc7218853a6537ec722be40fde9a11c413b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:27 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Pass super_block to sysfs_get_inode\n\nCurrently sysfs_get_inode magically returns an inode on\nsysfs_sb.  Make the super_block parameter explicit and\nthe code becomes clearer.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7cb32942d91a501b2df944928ccc9e6590ab237b",
      "tree": "7c6ff2a82705d7dda8a566702f3bab981d03bf54",
      "parents": [
        "19c38b632d4554329986021fd66bdea468cf452c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Feb 12 19:22:25 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Implement sysfs_rename_link\n\nBecause of rename ordering problems we occassionally give false\nwarnings about invalid sysfs operations.  So using sysfs_rename\ncreate a sysfs_rename_link function that doesn\u0027t need strange\nworkarounds.\n\nCc: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nCc: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "19c38b632d4554329986021fd66bdea468cf452c",
      "tree": "a724445bc46a4500ff6c4def2a6de39fc438f8b5",
      "parents": [
        "f8d4f618fed5a4978afada52166bc2efaf7656d1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Fri Feb 12 19:22:24 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Pack sysfs_dirent more tightly.\n\nPlacing the 16bit s_mode between a pointer and a long doesn\u0027t pack well\nespecailly on 64bit where we wast 48 bits.  So move s_mode and\ndeclare it as a unsigned short.  This is the sysfs backing store\nafter all we don\u0027t need fields extra large just in case someday\nwe want userspace to be able to use a larger value.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f8d4f618fed5a4978afada52166bc2efaf7656d1",
      "tree": "3247344bc9e2cb39261336f25f345740b22622d0",
      "parents": [
        "b35c74dab64f4c212f36d868419108556c9cf3e2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Fri Feb 12 19:22:23 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:52 2010 -0800"
      },
      "message": "sysfs: Serialize updates to the vfs inode\n\nThe vfs depends upon filesystem methods to update the\nvfs inode.   Sysfs adds to the normal number of places\nwhere the vfs inode is updated by also updatng the\nvfs inode in sysfs_refresh_inode.\n\nTypically the inode mutex is used to serialize updates\nto the vfs inode, but grabbing the inode mutex in\nsysfs_permission and sysfs_getattr causes deadlocks,\nbecause sometimes the vfs calls those operations with\nthe inode mutex held.  Therefore sysfs  can not use the\ninode mutex to serial updates to the vfs inode.\n\nThe sysfs_mutex is acquired in all of the routines\nwhere sysfs updates the vfs inode, and with a small\nchange we can consistently protext sysfs vfs inode\nupdates with the sysfs_mutex. To protect the sysfs\nvfs inode updates with the sysfs_mutex simply requires\nextending the scope of sysfs_mutex in sysfs_setattr\nover inode_setattr, and over inode_change_ok (so we\nhave an unchanging inode when we perform the check).\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6992f5334995af474c2b58d010d08bc597f0f2fe",
      "tree": "bef650bfb9355b8d7cbb7a5acb3632c02ec7fbe7",
      "parents": [
        "a2db6842873c8e5a70652f278d469128cb52db70"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 11 15:21:53 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Use one lockdep class per sysfs attribute.\n\nAcknowledge that the logical sysfs rwsem has one instance per\nsysfs attribute with different locking depencencies for different\nattributes.\n\nThere is a sysfs idiom where writing to one sysfs file causes the\naddition or removal of other sysfs files.   Lumping all of the\nsysfs attributes together in one lock class causes lockdep to\ngenerate lots of false positives.\n\nThis introduces the requirement that non-static sysfs attributes\nneed to be initialized with sysfs_attr_init or sysfs_bin_attr_init.\nStrictly speaking this requirement only exists when lockdep is\nenabled, and when lockdep is enabled we get a bit fat warning\nif this requirement is not met.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a2db6842873c8e5a70652f278d469128cb52db70",
      "tree": "0415c6cfb33753c7a20e05d95e3ce485a60b1f41",
      "parents": [
        "e72ceb8ccac5f770b3e696e09bb673dca7024b20"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 11 15:20:00 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Only take active references on attributes.\n\nIf we exclude directories and symlinks from the set of sysfs\ndirents where we need active references we are left with\nsysfs attributes (binary or not).\n\n- Tweak sysfs_deactivate to only do something on attributes\n- Move lockdep initialization into sysfs_file_add_mode to\n  limit it to just attributes.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@gmail.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e72ceb8ccac5f770b3e696e09bb673dca7024b20",
      "tree": "9868803df687838c3c5f6f2265ceb7532b93a5f4",
      "parents": [
        "3c31f07ad0dab02fe17195d32a965d57fd947707"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Feb 11 15:18:38 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "sysfs: Remove sysfs_get/put_active_two\n\nIt turns out that holding an active reference on a directory is\npointless.  The purpose of the active references are to allows us to\nblock when removing sysfs entries that have custom methods so we don\u0027t\nremove modules while running modular code and to keep those custom\nmethods from accessing data structures after the files have been\nremoved.  Further sysfs_remove_dir remove all elements in the\ndirectory before removing the directory itself, so there is no chance\nwe will remove a directory with active children.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "9cd43611ccfb46632bfa7d19f688924ea93f1613",
      "tree": "e11ecee403235ba9d8855892fa7ad55d9b63e221",
      "parents": [
        "985fc176a6c03836454629be2f2a611ccc7c7002"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Thu Dec 31 14:52:51 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "kobject: Constify struct kset_uevent_ops\n\nConstify struct kset_uevent_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1e5289c97bba2d8ee7239a416bc3f28743362cd9",
      "tree": "5a9c422b6dc16e4084866d548c043994da37e3d1",
      "parents": [
        "3f5468c9ae293cbca43e4ffe6ca3b3235189042a"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Jan 01 14:43:53 2010 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:48 2010 -0800"
      },
      "message": "sysfs: Cache the last sysfs_dirent to improve readdir scalability v2\n\nWhen sysfs_readdir stops short we now cache the next\nsysfs_dirent to return to user space in filp-\u003eprivate_data.\nThere is no impact on the rest of sysfs by doing this and\nin the common case it allows us to pick up exactly where\nwe left off with no seeking.\n\nAdditionally I drop and regrab the sysfs_mutex around\nfilldir to avoid a page fault abritrarily increasing the\nhold time on the sysfs_mutex.\n\nv2: Returned to using INT_MAX as the EOF condition.\n    seekdir is ambiguous unless all directory entries have\n    a unique f_pos value.\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d14949\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1c205ae18db53ff72985dd79f3baaf2dbaba6db7",
      "tree": "ba2947326f34337b33c90391496b6e40089bc2ad",
      "parents": [
        "265d2e2e31c5f6dc1b20ae1653a17fdba706f79e"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Jan 05 12:48:01 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:47 2010 -0800"
      },
      "message": "sysfs: Add sysfs_add/remove_files utility functions\n\nAdding/Removing a whole array of attributes is very common. Add a standard\nutility function to do this with a simple function call, instead of\nrequiring drivers to open code this.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "138860b95359feee49a31fb12be87825e4cd84ac",
      "tree": "5da926eb8558cc2a2e7a3d7b6e4f18892a2f7e6b",
      "parents": [
        "4a31c08d2fecc74a630653828f5388fbb037f8c2"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Mar 04 09:37:12 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 07 15:48:26 2010 -0800"
      },
      "message": "seq_file: fix new kernel-doc warnings\n\nFix kernel-doc notation in new seq-file functions and\ncorrect spelling.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Alexander Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8fa05719ba4349be80ce929237249b57886a203",
      "tree": "eb2a58ce09dc699e29e15b812f06196587aa64a3",
      "parents": [
        "4da0b66c6e9ea7ba78a19f9f186779826d89f8b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 07 09:54:44 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Mar 07 09:54:44 2010 -0800"
      },
      "message": "Revert \"lib: build list_sort() only if needed\"\n\nThis reverts commit a069c266ae5fdfbf5b4aecf2c672413aa33b2504.\n\nIt turns ou that not only was it missing a case (XFS) that needed it,\nbut perhaps more importantly, people sometimes want to enable new\nmodules that they hadn\u0027t had enabled before, and if such a module uses\nlist_sort(), it can\u0027t easily be inserted any more.\n\nSo rather than add a \"select LIST_SORT\" to the XFS case, just leave it\ncompiled in.  It\u0027s not all _that_ big, after all, and the inconvenience\nisn\u0027t worth it.\n\nRequested-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Don Mullis \u003cdon.mullis@gmail.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "66b89159c25a47d2177743526c61b5ada7acc39e",
      "tree": "b092b859ca01d7544a666c95f940144b0ef3b35b",
      "parents": [
        "87c7ae06cc50bcbcdcc60d64a959ca0b9b71f892",
        "c2f843f03d658e9ab2a1a455f2c1851fd6a869af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 13:18:03 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 13:18:03 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs:\n  [LogFS] Change magic number\n  [LogFS] Remove h_version field\n  [LogFS] Check feature flags\n  [LogFS] Only write journal if dirty\n  [LogFS] Fix bdev erases\n  [LogFS] Silence gcc\n  [LogFS] Prevent 64bit divisions in hash_index\n  [LogFS] Plug memory leak on error paths\n  [LogFS] Add MAINTAINERS entry\n  [LogFS] add new flash file system\n\nFixed up trivial conflict in lib/Kconfig, and a semantic conflict in\nfs/logfs/inode.c introduced by write_inode() being changed to use\nwriteback_control\u0027 by commit a9185b41a4f84971b930c519f0c63bd450c4810d\n(\"pass writeback_control to -\u003ewrite_inode\")\n"
    },
    {
      "commit": "66ce3cf84deba6cc71dcf43c9d56a4278e5f712d",
      "tree": "7580bcc42fc7c52620b98d78ebdc654bd7ed83ea",
      "parents": [
        "05c5cb31ec47cacf38db56d9efaa37ca9d473132",
        "9b1f56d60acfd634728f91f34922066c6f80ede6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:32:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:32:21 2010 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (21 commits)\n  xfs: return inode fork offset in bulkstat for fsr\n  xfs: Increase the default size of the reserved blocks pool\n  xfs: truncate delalloc extents when IO fails in writeback\n  xfs: check for more work before sleeping in xfssyncd\n  xfs: Fix a build warning in xfs_aops.c\n  xfs: fix locking for inode cache radix tree tag updates\n  xfs: remove xfs_ipin/xfs_iunpin\n  xfs: cleanup xfs_iunpin_wait/xfs_iunpin_nowait\n  xfs: kill xfs_lrw.h\n  xfs: factor common xfs_trans_bjoin code\n  xfs: stop passing opaque handles to xfs_log.c routines\n  xfs: split xfs_bmap_btalloc\n  xfs: fix xfs_fsblock_t tracing\n  xfs: fix inode pincount check in fsync\n  xfs: Non-blocking inode locking in IO completion\n  xfs: implement optimized fdatasync\n  xfs: remove wrapper for the fsync file operation\n  xfs: remove wrappers for read/write file operations\n  xfs: merge xfs_lrw.c into xfs_file.c\n  xfs: fix dquota trace format\n  ...\n"
    },
    {
      "commit": "05c5cb31ec47cacf38db56d9efaa37ca9d473132",
      "tree": "03f900679819abd8700d5ea93c22e3a59d3af7ca",
      "parents": [
        "4582a30c2fdca5d2b40f63a20ea082b93230ff2b",
        "4ea41e2de5bba756858bb40f964e3490b6d1a25c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:31:38 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:31:38 2010 -0800"
      },
      "message": "Merge branch \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.34\u0027 of git://linux-nfs.org/~bfields/linux: (22 commits)\n  nfsd4: fix minor memory leak\n  svcrpc: treat uid\u0027s as unsigned\n  nfsd: ensure sockets are closed on error\n  Revert \"sunrpc: move the close processing after do recvfrom method\"\n  Revert \"sunrpc: fix peername failed on closed listener\"\n  sunrpc: remove unnecessary svc_xprt_put\n  NFSD: NFSv4 callback client should use RPC_TASK_SOFTCONN\n  xfs_export_operations.commit_metadata\n  commit_metadata export operation replacing nfsd_sync_dir\n  lockd: don\u0027t clear sm_monitored on nsm_reboot_lookup\n  lockd: release reference to nsm_handle in nlm_host_rebooted\n  nfsd: Use vfs_fsync_range() in nfsd_commit\n  NFSD: Create PF_INET6 listener in write_ports\n  SUNRPC: NFS kernel APIs shouldn\u0027t return ENOENT for \"transport not found\"\n  SUNRPC: Bury \"#ifdef IPV6\" in svc_create_xprt()\n  NFSD: Support AF_INET6 in svc_addsock() function\n  SUNRPC: Use rpc_pton() in ip_map_parse()\n  nfsd: 4.1 has an rfc number\n  nfsd41: Create the recovery entry for the NFSv4.1 client\n  nfsd: use vfs_fsync for non-directories\n  ...\n"
    },
    {
      "commit": "76595f79d76fbe6267a51b3a866a028d150f06d4",
      "tree": "eff36adfb339f8cb57b07fd9f09d37d982aa354e",
      "parents": [
        "5c99cbf49a6e1a1efd25b11f4604c65c455e1612"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Fri Mar 05 13:44:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 11:26:46 2010 -0800"
      },
      "message": "coredump: suppress uid comparison test if core output files are pipes\n\nModify uid check in do_coredump so as to not apply it in the case of\npipes.\n\nThis just got noticed in testing.  The end of do_coredump validates the\nuid of the inode for the created file against the uid of the crashing\nprocess to ensure that no one can pre-create a core file with different\nownership and grab the information contained in the core when they\nshouldn\u0027 tbe able to.  This causes failures when using pipes for a core\ndumps if the crashing process is not root, which is the uid of the pipe\nwhen it is created.\n\nThe fix is simple.  Since the check for matching uid\u0027s isn\u0027t relevant for\npipes (a process can\u0027t create a pipe that the uermodehelper code will open\nanyway), we can just just skip it in the event ispipe is non-zero\n\nReverts a pipe-affecting change which was accidentally made in\n\n: commit c46f739dd39db3b07ab5deb4e3ec81e1c04a91af\n: Author:     Ingo Molnar \u003cmingo@elte.hu\u003e\n: AuthorDate: Wed Nov 28 13:59:18 2007 +0100\n: Commit:     Linus Torvalds \u003ctorvalds@woody.linux-foundation.org\u003e\n: CommitDate: Wed Nov 28 10:58:01 2007 -0800\n:\n:     vfs: coredumping fix\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    }
  ],
  "next": "5c99cbf49a6e1a1efd25b11f4604c65c455e1612"
}
