)]}'
{
  "log": [
    {
      "commit": "db2dbb12dc47a50c7a4c5678f526014063e486f6",
      "tree": "8bfa3fe41e674f584eb37a7767c008d609b41d75",
      "parents": [
        "db29a6b49674085f136331014ba0eee249c16a2c"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Wed Apr 22 14:08:13 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 28 07:37:33 2009 +0200"
      },
      "message": "block: implement blkdev_readpages\n\nDoing a proper block dev -\u003ereadpages() speeds up the crazy dump(8)\napproach of using interleaved process IO.\n\nSigned-off-by: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4b2b0b9753194cad44d7295c32044b89710efd70",
      "tree": "7ff42b7aa3f05bcf61cfdb7abb2c23418b218291",
      "parents": [
        "84baf74bf23bbe9f3deafb5d2f27e2b5dc0bc052"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 23 16:41:18 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 13:28:31 2009 -0700"
      },
      "message": "ROMFS: Advance destination buffer pointer when reading from a blockdev\n\nRomFS should advance the destination buffer pointer when reading data from a\nblockdev source (the data may be split over multiple blocks, each requiring its\nown sb_read() call).  Without this, all the data is copied to the beginning of\nthe output buffer.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "84baf74bf23bbe9f3deafb5d2f27e2b5dc0bc052",
      "tree": "45af84d051ca760a9f9f24aa3775e5505ccd3627",
      "parents": [
        "a5422a5111811401f7756345e4c237ff06cf6d1e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Apr 23 16:41:13 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 13:28:31 2009 -0700"
      },
      "message": "ROMFS: romfs_lookup() shouldn\u0027t be doing a partial name comparison\n\nromfs_lookup() should be using a routine akin to strcmp() on the backing store,\nrather than one akin to strncmp().  If it uses the latter, it\u0027s liable to match\n/bin/shutdown when looking up /bin/sh.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a4277bf122e907e4fec509fc0bd9bf5fde30b14e",
      "tree": "b359e8b0f7895acda1d6331332e69ea5b14d5f0d",
      "parents": [
        "6ae85d6db4871d8dbcb5cc0e9056f97f1ca07061",
        "b5451f7b2694b04d9f912f6cf09db1729f291996"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:37:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:37:40 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext4: Fix potential inode allocation soft lockup in Orlov allocator\n  ext4: Make the extent validity check more paranoid\n  jbd: use SWRITE_SYNC_PLUG when writing synchronous revoke records\n  jbd2: use SWRITE_SYNC_PLUG when writing synchronous revoke records\n  ext4: really print the find_group_flex fallback warning only once\n"
    },
    {
      "commit": "ff91fad2db543325d7221c26ff42d7df3c574064",
      "tree": "81a61647a9c3f98acdae1e93e22d6628f76a4042",
      "parents": [
        "198aa045601d20f39658c892dc626e16993bae78",
        "3a6b42cadc112b01daf0525e5fcd90bb333a5bb3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:32:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:32:44 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:\n  eCryptfs: Larger buffer for encrypted symlink targets\n  eCryptfs: Lock lower directory inode mutex during lookup\n  eCryptfs: Remove ecryptfs_unlink_sigs warnings\n  eCryptfs: Fix data corruption when using ecryptfs_passthrough\n  eCryptfs: Print FNEK sig properly in /proc/mounts\n  eCryptfs: NULL pointer dereference in ecryptfs_send_miscdev()\n  eCryptfs: Copy lower inode attrs before dentry instantiation\n"
    },
    {
      "commit": "58be18c4de37b9277b045c0b5bb123a664dac9ed",
      "tree": "370d55da6958b7b31aeaffc278512fea1111134d",
      "parents": [
        "12bac708e6242b0ccd969519582b2938d78289bb",
        "e655dc8873b2390d92888095af6adad822a8b386"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:28:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:28:27 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] update default configuration.\n  [S390] omit frame pointers on s390 when possible\n  [S390] Use tape_generic_offline directly.\n  [S390] /proc/stat idle field for idle cpus\n  [S390] appldata: avoid deadlock with appldata_mem\n  [S390] ipl: fix compile breakage\n"
    },
    {
      "commit": "12bac708e6242b0ccd969519582b2938d78289bb",
      "tree": "4cf804bcf1a3afb90044f8b33405ea6713c8731e",
      "parents": [
        "60911731fe7fd4ec4d088fc1a48a56c9fb14103f",
        "d9ba7615bfd8bb06f79c853f9dfff9e93a837941"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:27:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 08:27:02 2009 -0700"
      },
      "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: Ensure that the inode goal block settings are updated\n  GFS2: Fix bug in block allocation\n  bitops: Add __ffs64 bitop\n"
    },
    {
      "commit": "97c68d00dbb2decda4b3dce79ce55df04246a834",
      "tree": "f7c2f3185e4dfb073f6d268b4aa0a4d9a0015ece",
      "parents": [
        "596a5c4e43b08e90c0cd788861f859bf7ed6eddc",
        "f2d1f0ae7851be5ebd9613a80dac139270938809"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:48:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:48:24 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  cfq-iosched: cache prio_tree root in cfqq-\u003ep_root\n  cfq-iosched: fix bug with aliased request and cooperation detection\n  cfq-iosched: clear -\u003eprio_trees[] on cfqd alloc\n  block: fix intermittent dm timeout based oops\n  umem: fix request_queue lock warning\n  block: simplify I/O stat accounting\n  pktcdvd.h should include mempool.h\n  cfq-iosched: use the default seek distance when there aren\u0027t enough seek samples\n  cfq-iosched: make seek_mean converge more quickly\n  block: make blk_abort_queue() ignore non-request based devices\n  block: include empty disks in /proc/diskstats\n  bio: use bio_kmalloc() in copy/map functions\n  bio: fix bio_kmalloc()\n  block: fix queue bounce limit setting\n  block: fix SG_IO vector request data length handling\n  scatterlist: make sure sg_miter_next() doesn\u0027t return 0 sized mappings\n"
    },
    {
      "commit": "437f7fdb607f32b737e4da9f14bebcfdac2c90c3",
      "tree": "2064149ad4406774bd3b1ade60782980206f2e82",
      "parents": [
        "8c652f96d3852b97a49c331cd0bb02d22f3cb31b"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Apr 24 01:02:45 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:39:45 2009 -0700"
      },
      "message": "check_unsafe_exec: s/lock_task_sighand/rcu_read_lock/\n\nwrite_lock(\u0026current-\u003efs-\u003elock) guarantees we can\u0027t wrongly miss\nLSM_UNSAFE_SHARE, this is what we care about. Use rcu_read_lock()\ninstead of -\u003esiglock to iterate over the sub-threads. We must see\nall CLONE_THREAD|CLONE_FS threads which didn\u0027t pass exit_fs(), it\ntakes fs-\u003elock too.\n\nWith or without this patch we can miss the freshly cloned thread\nand set LSM_UNSAFE_SHARE, we don\u0027t care.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\n[ Fixed lock/unlock typo  - Hugh ]\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c652f96d3852b97a49c331cd0bb02d22f3cb31b",
      "tree": "9752969f2ae7312026bb4037ecd950dafd403d9b",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri Apr 24 01:01:56 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 24 07:39:45 2009 -0700"
      },
      "message": "do_execve() must not clear fs-\u003ein_exec if it was set by another thread\n\nIf do_execve() fails after check_unsafe_exec(), it clears fs-\u003ein_exec\nunconditionally. This is wrong if we race with our sub-thread which\nalso does do_execve:\n\n\tTwo threads T1 and T2 and another process P, all share the same\n\t-\u003efs.\n\n\tT1 starts do_execve(BAD_FILE). It calls check_unsafe_exec(), since\n\t-\u003efs is shared, we set LSM_UNSAFE but not -\u003ein_exec.\n\n\tP exits and decrements fs-\u003eusers.\n\n\tT2 starts do_execve(), calls check_unsafe_exec(), now -\u003efs is not\n\tshared, we set fs-\u003ein_exec.\n\n\tT1 continues, open_exec(BAD_FILE) fails, we clear -\u003ein_exec and\n\treturn to the user-space.\n\n\tT1 does clone(CLONE_FS /* without CLONE_THREAD */).\n\n\tT2 continues without LSM_UNSAFE_SHARE while -\u003efs is shared with\n\tanother process.\n\nChange check_unsafe_exec() to return res \u003d 1 if we set -\u003ein_exec, and change\ndo_execve() to clear -\u003ein_exec depending on res.\n\nWhen do_execve() suceeds, it is safe to clear -\u003ein_exec unconditionally.\nIt can be set only if we don\u0027t share -\u003efs with another process, and since\nwe already killed all sub-threads either -\u003ein_exec \u003d\u003d 0 or we are the\nonly user of this -\u003efs.\n\nAlso, we do not need fs-\u003elock to clear fs-\u003ein_exec.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1c805309d19c69d4ebeac38724076fa86feacdf",
      "tree": "73886783aac7c489a29f3e5eec56cbc2371a12dd",
      "parents": [
        "b1ad171efa089ae26aba750d747d8149a4f860d5"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Apr 23 13:58:08 2009 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Apr 23 13:58:17 2009 +0200"
      },
      "message": "[S390] /proc/stat idle field for idle cpus\n\nThe cpu idle field in the output of /proc/stat is too small for cpus\nthat have been idle for more than a tick. Add the architecture hook\narch_idle_time that allows to add the not accounted idle time of a\nsleeping cpu without waking the cpu.\n\nThe s390 implementation of arch_idle_time uses the already existing\ns390_idle_data per_cpu variable to find the sleep time of a neighboring\nidle cpu.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d9ba7615bfd8bb06f79c853f9dfff9e93a837941",
      "tree": "647f6078a7804a53b4902b90942864942e9d425b",
      "parents": [
        "d8bd504ab800c8e9aadb983914a33e7166320bec"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 23 08:59:41 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 23 10:07:37 2009 +0100"
      },
      "message": "GFS2: Ensure that the inode goal block settings are updated\n\nGFS2 has a goal block associated with each inode indicating the\nsearch start position for future block allocations (in fact there\nare two, but thats for backward compatibility with GFS1 as they\nare set to identical locations in GFS2).\n\nIn some circumstances, depending on the ordering of updates to\nthe inode it was possible for the goal block settings to not\nbe updated on disk. This patch ensures that the goal block will\nalways get updated, thus reducing the potential for searching\nthe same (already allocated) blocks again when looking for free\nspace during block allocation.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "d8bd504ab800c8e9aadb983914a33e7166320bec",
      "tree": "72b45fe08363441d53c5e464daa6886a6e11a8b8",
      "parents": [
        "952043ac12a117d8e94bddd9088338d7ad20ca7d"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 23 08:54:02 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Apr 23 10:07:16 2009 +0100"
      },
      "message": "GFS2: Fix bug in block allocation\n\nThe new bitfit algorithm was counting from the wrong end of\n64 bit words in the bitfield. This fixes it by using __ffs64\ninstead of fls64\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "b5451f7b2694b04d9f912f6cf09db1729f291996",
      "tree": "a1221f12730bc54357fc7600de2b5fbcce97cac3",
      "parents": [
        "e84a26ce178345498a7eca0590852bcc36f1092f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Apr 22 21:00:36 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Apr 22 21:00:36 2009 -0400"
      },
      "message": "ext4: Fix potential inode allocation soft lockup in Orlov allocator\n\nIf the Orlov allocator is having trouble finding an appropriate block\ngroup, the fallback code could loop forever, causing a soft lockup\nwarning in find_group_orlov():\n\nBUG: soft lockup - CPU#0 stuck for 61s! [cp:11728]\n     ...\nPid: 11728, comm: cp Not tainted (2.6.30-rc1-dirty #77) Lenovo          \nEIP: 0060:[\u003cc021650e\u003e] EFLAGS: 00000246 CPU: 0\nEIP is at ext4_get_group_desc+0x54/0x9d\n    ...\nCall Trace:\n [\u003cc0218021\u003e] find_group_orlov+0x2ee/0x334\n [\u003cc0120a5f\u003e] ? sched_clock+0x8/0xb\n [\u003cc02188e3\u003e] ext4_new_inode+0x2cf/0xb1a\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e84a26ce178345498a7eca0590852bcc36f1092f",
      "tree": "dcd2f95c9f73ffb8d2020fe89bb1c30785e0fa78",
      "parents": [
        "38d726d153cfe5efe5fe22d28d36ab382dda3a5c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Apr 22 20:52:25 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Apr 22 20:52:25 2009 -0400"
      },
      "message": "ext4: Make the extent validity check more paranoid\n\nInstead of just checking that the extent block number is greater or\nequal than s_first_data_block, make sure it it is not pointing into\nthe block group descriptors, since that is clearly wrong.  This helps\nprevent filesystem from getting very badly corrupted in case an extent\nblock is corrupted.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3a6b42cadc112b01daf0525e5fcd90bb333a5bb3",
      "tree": "78cd37050a80e5c99eaa3ee97e20af834026c4d1",
      "parents": [
        "ca8e34f2b05a8289b47907b083dc01dd654ecbde"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Apr 16 18:35:37 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 17:02:46 2009 -0500"
      },
      "message": "eCryptfs: Larger buffer for encrypted symlink targets\n\nWhen using filename encryption with eCryptfs, the value of the symlink\nin the lower filesystem is encrypted and stored as a Tag 70 packet.\nThis results in a longer symlink target than if the target value wasn\u0027t\nencrypted.\n\nUsers were reporting these messages in their syslog:\n\n[ 45.653441] ecryptfs_parse_tag_70_packet: max_packet_size is [56]; real\npacket size is [51]\n[ 45.653444] ecryptfs_decode_and_decrypt_filename: Could not parse tag\n70 packet from filename; copying through filename as-is\n\nThis was due to bufsiz, one the arguments in readlink(), being used to\nwhen allocating the buffer passed to the lower inode\u0027s readlink().\nThat symlink target may be very large, but when decoded and decrypted,\ncould end up being smaller than bufsize.\n\nTo fix this, the buffer passed to the lower inode\u0027s readlink() will\nalways be PATH_MAX in size when filename encryption is enabled.  Any\nnecessary truncation occurs after the decoding and decrypting.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ca8e34f2b05a8289b47907b083dc01dd654ecbde",
      "tree": "eeedcd559c8add0b8ebc87489f8daf78258d59a1",
      "parents": [
        "e77cc8d243f9f1e1d3f0799e23cc14e837ccc8c6"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 16:27:12 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 16:27:12 2009 -0500"
      },
      "message": "eCryptfs: Lock lower directory inode mutex during lookup\n\nThis patch locks the lower directory inode\u0027s i_mutex before calling\nlookup_one_len() to find the appropriate dentry in the lower filesystem.\nThis bug was found thanks to the warning set in commit 2f9092e1.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "e77cc8d243f9f1e1d3f0799e23cc14e837ccc8c6",
      "tree": "e71815e09c73e33bdd2c687f7508e3720c4d3ed7",
      "parents": [
        "13a791b4e63eb0537a7f804a340d6527485983b4"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 04:08:46 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 04:08:46 2009 -0500"
      },
      "message": "eCryptfs: Remove ecryptfs_unlink_sigs warnings\n\nA feature was added to the eCryptfs umount helper to automatically\nunlink the keys used for an eCryptfs mount from the kernel keyring upon\numount.  This patch keeps the unrecognized mount option warnings for\necryptfs_unlink_sigs out of the logs.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "13a791b4e63eb0537a7f804a340d6527485983b4",
      "tree": "ad3c74093e8efe0da14644a0dc16ac0c61b2e6e5",
      "parents": [
        "3a5203ab3c0c31e0f1434c69e893bfb85c6e6657"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Apr 13 15:29:27 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 03:54:13 2009 -0500"
      },
      "message": "eCryptfs: Fix data corruption when using ecryptfs_passthrough\n\necryptfs_passthrough is a mount option that allows eCryptfs to allow\ndata to be written to non-eCryptfs files in the lower filesystem.  The\npassthrough option was causing data corruption due to it not always\nbeing treated as a non-eCryptfs file.\n\nThe first 8 bytes of an eCryptfs file contains the decrypted file size.\nThis value was being written to the non-eCryptfs files, too.  Also,\nextra 0x00 characters were being written to make the file size a\nmultiple of PAGE_CACHE_SIZE.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "3a5203ab3c0c31e0f1434c69e893bfb85c6e6657",
      "tree": "76edf493f4737f57448e5705cd7d29fddeb4a66a",
      "parents": [
        "57ea34d19963781d05eb12f9b31bd4f70d61ec16"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Mon Mar 16 12:35:12 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 03:54:13 2009 -0500"
      },
      "message": "eCryptfs: Print FNEK sig properly in /proc/mounts\n\nThe filename encryption key signature is not properly displayed in\n/proc/mounts.  The \"ecryptfs_sig\u003d\" mount option name is displayed for\nall global authentication tokens, included those for filename keys.\n\nThis patch checks the global authentication token flags to determine if\nthe key is a FEKEK or FNEK and prints the appropriate mount option name\nbefore the signature.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "57ea34d19963781d05eb12f9b31bd4f70d61ec16",
      "tree": "5a912a7515234eb73147c32197ecbc7ca429bde8",
      "parents": [
        "ae6e84596e7b321d9a08e81679c6a3f799634636"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Sun Mar 15 14:17:01 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 03:54:13 2009 -0500"
      },
      "message": "eCryptfs: NULL pointer dereference in ecryptfs_send_miscdev()\n\nIf data is NULL, msg_ctx-\u003emsg is set to NULL and then dereferenced\nafterwards.  ecryptfs_send_raw_message() is the only place that\necryptfs_send_miscdev() is called with data being NULL, but the only\ncaller of that function (ecryptfs_process_helo()) is never called.  In\nshort, there is currently no way to trigger the NULL pointer\ndereference.\n\nThis patch removes the two unused functions and modifies\necryptfs_send_miscdev() to remove the NULL dereferences.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ae6e84596e7b321d9a08e81679c6a3f799634636",
      "tree": "a81baed56b7384321cf3d282e2d41f785fe30853",
      "parents": [
        "091069740304c979f957ceacec39c461d0192158"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Thu Mar 12 00:19:46 2009 -0500"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@linux.vnet.ibm.com",
        "time": "Wed Apr 22 03:54:12 2009 -0500"
      },
      "message": "eCryptfs: Copy lower inode attrs before dentry instantiation\n\nCopies the lower inode attributes to the upper inode before passing the\nupper inode to d_instantiate().  This is important for\nsecurity_d_instantiate().\n\nThe problem was discovered by a user seeing SELinux denials like so:\n\ntype\u003dAVC msg\u003daudit(1236812817.898:47): avc:  denied  { 0x100000 } for\npid\u003d3584 comm\u003d\"httpd\" name\u003d\"testdir\" dev\u003decryptfs ino\u003d943872\nscontext\u003droot:system_r:httpd_t:s0\ntcontext\u003droot:object_r:httpd_sys_content_t:s0 tclass\u003dfile\n\nNotice target class is file while testdir is really a directory,\nconfusing the permission translation (0x100000) due to the wrong i_mode.\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "a9e9dc24bbc3e084450a22cf4fb82f5f5d4cbeea",
      "tree": "c6d18d969b76f61ebbfa777caf2706af5873a98f",
      "parents": [
        "451a9ebf653d28337ba53ed5b4b70b0b9543cca1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Apr 15 22:10:27 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 22 08:35:10 2009 +0200"
      },
      "message": "bio: use bio_kmalloc() in copy/map functions\n\nImpact: remove possible deadlock condition\n\nThere is no reason to use mempool backed allocation for map functions.\nAlso, because kern mapping is used inside LLDs (e.g. for EH), using\nmempool backed allocation can lead to deadlock under extreme\nconditions (mempool already consumed by the time a request reached EH\nand requests are blocked on EH).\n\nSwitch copy/map functions to bio_kmalloc().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "451a9ebf653d28337ba53ed5b4b70b0b9543cca1",
      "tree": "ab203dfb628623483a1aeb7ead564ea35ad21d29",
      "parents": [
        "cd0aca2d550f238d80ba58e7dcade4ea3d0a3aa7"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Apr 15 19:50:51 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 22 08:35:10 2009 +0200"
      },
      "message": "bio: fix bio_kmalloc()\n\nImpact: fix bio_kmalloc() and its destruction path\n\nbio_kmalloc() was broken in two ways.\n\n* bvec_alloc_bs() first allocates bvec using kmalloc() and then\n  ignores it and allocates again like non-kmalloc bvecs.\n\n* bio_kmalloc_destructor() didn\u0027t check for and free bio integrity\n  data.\n\nThis patch fixes the above problems.  kmalloc patch is separated out\nfrom bio_alloc_bioset() and allocates the requested number of bvecs as\ninline bvecs.\n\n* bio_alloc_bioset() no longer takes NULL @bs.  None other than\n  bio_kmalloc() used it and outside users can\u0027t know how it was\n  allocated anyway.\n\n* Define and use BIO_POOL_NONE so that pool index check in\n  bvec_free_bs() triggers if inline or kmalloc allocated bvec gets\n  there.\n\n* Relocate destructors on top of each allocation function so that how\n  they\u0027re used is more clear.\n\nJens Axboe suggested allocating bvecs inline.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ccc5ff94c66e628d3c501b26ace5d4339667715d",
      "tree": "41ca2f1552864cc86bd5735c1b05d0de2898bb05",
      "parents": [
        "c19c6c32dcccfc89216bd579c0cb12d2dd45098f",
        "546888da82082555a56528730a83f0afd12f33bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 14:12:58 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 14:12:58 2009 -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:\n  Btrfs: fix btrfs fallocate oops and deadlock\n  Btrfs: use the right node in reada_for_balance\n  Btrfs: fix oops on page-\u003emapping-\u003ehost during writepage\n  Btrfs: add a priority queue to the async thread helpers\n  Btrfs: use WRITE_SYNC for synchronous writes\n"
    },
    {
      "commit": "c12ddba09394c60e1120e6997794fa6ed52da884",
      "tree": "7848a312993bee19c0096b2e4cb08b15140fd08c",
      "parents": [
        "4dec302ff71ebf48f5784a2d2fc5e3745e6d4d52"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Tue Apr 21 12:24:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 13:41:48 2009 -0700"
      },
      "message": "hugetlbfs: return negative error code for bad mount option\n\nThis fixes the following BUG:\n\n  # mount -o size\u003dMM -t hugetlbfs none /huge\n  hugetlbfs: Bad value \u0027MM\u0027 for mount option \u0027size\u003dMM\u0027\n  ------------[ cut here ]------------\n  kernel BUG at fs/super.c:996!\n\nDue to\n\n\tBUG_ON(!mnt-\u003emnt_sb);\n\nin vfs_kern_mount().\n\nAlso, remove unused #include \u003clinux/quotaops.h\u003e\n\nCc: William Irwin \u003cwli@holomorphy.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "546888da82082555a56528730a83f0afd12f33bf",
      "tree": "98ee868d1b8a4bd390a980fed707f91419b79fb5",
      "parents": [
        "8c594ea81d7abbbffdda447b127f8ba8d76f319d"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 21 11:53:38 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Apr 21 12:45:12 2009 -0400"
      },
      "message": "Btrfs: fix btrfs fallocate oops and deadlock\n\nBtrfs fallocate was incorrectly starting a transaction with a lock held\non the extent_io tree for the file, which could deadlock.  Strictly\nspeaking it was using join_transaction which would be safe, but it is better\nto move the transaction outside of the lock.\n\nWhen preallocated extents are overwritten, btrfs_mark_buffer_dirty was\nbeing called on an unlocked buffer.  This was triggering an assertion and\noops because the lock is supposed to be held.\n\nThe bug was calling btrfs_mark_buffer_dirty on a leaf after btrfs_del_item had\nbeen run.  btrfs_del_item takes care of dirtying things, so the solution is a\nto skip the btrfs_mark_buffer_dirty call in this case.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b33ecba033ca649f6350696a3057d916a23a775a",
      "tree": "c73dec9bdacace464a6df43b14c4f0dfc0d2a607",
      "parents": [
        "81ca98036985559c49480007371af94aa6e85dc0",
        "e56985da455b9dc0591b8cb2006cc94b6f4fb0f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 08:27:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 08:27:30 2009 -0700"
      },
      "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: Fix page_mkwrite() return code\n  GFS2: Clear dirty bit at end of inode glock sync\n"
    },
    {
      "commit": "9a41fe3415bbef2c0c08ac232dc3a17add0dee58",
      "tree": "6c2440e3dd3babd4643396de9ba44303d8d3a7b4",
      "parents": [
        "8b9cf76d0fa6cd98fe42dd2f86460d6ede55fed8",
        "be9208dff23af904655807672dd8235abf6ac039"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 07:56:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 07:56:17 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  reiserfs: fix j_last_flush_trans_id type\n  fs: Mark get_filesystem_list() as __init function.\n  kill vfs_stat_fd / vfs_lstat_fd\n  Separate out common fstatat code into vfs_fstatat\n  ecryptfs: use memdup_user()\n  ncpfs: use memdup_user()\n  xfs: use memdup_user()\n  sysfs: use memdup_user()\n  btrfs: use memdup_user()\n  xattr: use memdup_user()\n  autofs4: use memchr() in invalid_string()\n  Documentation/filesystems: remove out of date reference to BKL being held\n  Fix i_mutex vs. readdir handling in nfsd\n  fs/compat_ioctl: fix build when !BLOCK\n  Fix autofs_expire()\n  No need for crossing to mountpoint in audit_tag_tree()\n  Safer nfsd_cross_mnt()\n  Touch all affected namespaces on propagation of mount\n  Fix AUTOFS_DEV_IOCTL_REQUESTER_CMD\n"
    },
    {
      "commit": "8340437210390676f687633a80e3748c40885dc8",
      "tree": "844b16bd6c152c8632b6a5f032c36d09bd1baf18",
      "parents": [
        "608faf1ff2341dd89307eea649c8efaa6d08b911"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Apr 20 14:58:35 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 21 07:46:49 2009 -0700"
      },
      "message": "NFS: Fix the XDR iovec calculation in nfs3_xdr_setaclargs\n\nCommit ae46141ff08f1965b17c531b571953c39ce8b9e2 (NFSv3: Fix posix ACL code)\nintroduces a bug in the calculation of the XDR header iovec. In the case\nwhere we are inlining the acls, we need to adjust the length of the iovec\nreq-\u003erq_svec, in addition to adjusting the total buffer length.\n\nTested-by: Leonardo Chiquitto \u003cleonardo.lists@gmail.com\u003e\nTested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "38e23c95f92a84fb8505a9f572b8a209c9c372c1",
      "tree": "3caa1061a8c6a831935ce3fa7209cc2db1ea3e0d",
      "parents": [
        "2eae7a1874ca5be3232765d89e0250a449f1bc90"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Thu Apr 09 20:17:52 2009 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:52 2009 -0400"
      },
      "message": "fs: Mark get_filesystem_list() as __init function.\n\n\"int get_filesystem_list(char * buf)\" is called by only\n\"static void __init get_fs_names(char *page)\".\nWe can mark get_filesystem_list() as \"__init\".\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2eae7a1874ca5be3232765d89e0250a449f1bc90",
      "tree": "571f62f170623b98ab7b673fb18ea1c2c2582604",
      "parents": [
        "0112fc2229847feb6c4eb011e6833d8f1742a375"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Apr 08 16:34:03 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:52 2009 -0400"
      },
      "message": "kill vfs_stat_fd / vfs_lstat_fd\n\nThere\u0027s really no reason to keep vfs_stat_fd and vfs_lstat_fd with\nOleg\u0027s vfs_fstatat.  Use vfs_fstatat for the few cases having the\ndirectory fd, and switch all others to vfs_stat / vfs_lstat.\n\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0112fc2229847feb6c4eb011e6833d8f1742a375",
      "tree": "c5bda0b4f5a5f942478faf2fb5961df7fbd15546",
      "parents": [
        "fd56d242b3b80b6f2ca174272b20029aae61df75"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Wed Apr 08 20:05:42 2009 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "Separate out common fstatat code into vfs_fstatat\n\nThis is a version incorporating Christoph\u0027s suggestion.\n\nSeparate out common *fstatat functionality into a single function\ninstead of duplicating it all over the code.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fd56d242b3b80b6f2ca174272b20029aae61df75",
      "tree": "57f51b3471dc6fdb8bcb92bff5bfdc8f4c441cd1",
      "parents": [
        "a9482ebcdedbc5872ed34a266e6a45c35116f264"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:09:29 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "ecryptfs: use memdup_user()\n\nRemove open-coded memdup_user().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9482ebcdedbc5872ed34a266e6a45c35116f264",
      "tree": "2a4e82f04bce55bdd02beb39319f691ff9533fe3",
      "parents": [
        "0e639bdeef26faf287db77a15530f3f295a4ae04"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:08:53 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "ncpfs: use memdup_user()\n\nRemove open-coded memdup_user()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "0e639bdeef26faf287db77a15530f3f295a4ae04",
      "tree": "b5f15e44cd974561a426fc2e07c792255b1328cb",
      "parents": [
        "1c8542c7bb239ef02fe21477acd9cdac04c1b640"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:08:04 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:51 2009 -0400"
      },
      "message": "xfs: use memdup_user()\n\nRemove open-coded memdup_user()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1c8542c7bb239ef02fe21477acd9cdac04c1b640",
      "tree": "45d9f29f241203608866f8246a699bc00b6ecf6b",
      "parents": [
        "dae7b665cf6d6e6e733f1c9c16cf55547dd37e33"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:07:30 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "sysfs: use memdup_user()\n\nRemove open-coded memdup_user().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dae7b665cf6d6e6e733f1c9c16cf55547dd37e33",
      "tree": "ab7f9fc54bcf735c7f331f78858ec0db7f634cdd",
      "parents": [
        "3939fcde24473dc09ce16e922c88df9b3bee45d9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:06:54 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "btrfs: use memdup_user()\n\nRemove open-coded memdup_user().\n\nNote this changes some GFP_NOFS to GFP_KERNEL, since copy_from_user() may\ncause pagefault, it\u0027s pointless to pass GFP_NOFS to kmalloc().\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3939fcde24473dc09ce16e922c88df9b3bee45d9",
      "tree": "fe1525d311cad56f25323a659e6c1811b22c0a8d",
      "parents": [
        "3eac8778a237d83a1e553eba0c6f4fd4b39eeec0"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Apr 08 15:06:12 2009 +0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "xattr: use memdup_user()\n\nRemove open-coded memdup_user()\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3eac8778a237d83a1e553eba0c6f4fd4b39eeec0",
      "tree": "0a546e57929310f0968d5e9b43afec08b86aeed5",
      "parents": [
        "66672fefaa91802fec51c3fe0cc55bc9baea5a2d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 07 11:12:46 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:02:50 2009 -0400"
      },
      "message": "autofs4: use memchr() in invalid_string()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2f9092e1020246168b1309b35e085ecd7ff9ff72",
      "tree": "f8318c1e62e789718ae7637869f6c075b815bcb2",
      "parents": [
        "1ba0c7dbbbc24230394100c5f0d0df38cb400cff"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Apr 20 23:18:37 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:16 2009 -0400"
      },
      "message": "Fix i_mutex vs. readdir handling in nfsd\n\nCommit 14f7dd63 (\"Copy XFS readdir hack into nfsd code\") introduced a\nbug to generic code which had been extant for a long time in the XFS\nversion -- it started to call through into lookup_one_len() and hence\ninto the file systems\u0027 -\u003elookup() methods without i_mutex held on the\ndirectory.\n\nThis patch fixes it by locking the directory\u0027s i_mutex again before\ncalling the filldir functions. The original deadlocks which commit\n14f7dd63 was designed to avoid are still avoided, because they were due\nto fs-internal locking, not i_mutex.\n\nWhile we\u0027re at it, fix the return type of nfsd_buffered_readdir() which\nshould be a __be32 not an int -- it\u0027s an NFS errno, not a Linux errno.\nAnd return nfserrno(-ENOMEM) when allocation fails, not just -ENOMEM.\nSparse would have caught that, if it wasn\u0027t so busy bitching about\n__cold__.\n\nCommit 05f4f678 (\"nfsd4: don\u0027t do lookup within readdir in recovery\ncode\") introduced a similar problem with calling lookup_one_len()\nwithout i_mutex, which this patch also addresses. To fix that, it was\nnecessary to fix the called functions so that they expect i_mutex to be\nheld; that part was done by J. Bruce Fields.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nUmm-I-can-live-with-that-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nReported-by: J. R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nTested-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nLKML-Reference: \u003c8036.1237474444@jrobl\u003e\nCc: stable@kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ba0c7dbbbc24230394100c5f0d0df38cb400cff",
      "tree": "4515c03337286c7d2a5ae1c7976b7b742b3a7e1a",
      "parents": [
        "117aff744a20a2a04ccdb36cd5978316e1af0c3a"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Mon Apr 20 12:23:02 2009 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:16 2009 -0400"
      },
      "message": "fs/compat_ioctl: fix build when !BLOCK\n\nIn file included from fs/compat_ioctl.c:61:\ninclude/linux/loop.h:59: error: field \u0027lo_bio_list\u0027 has incomplete type\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "117aff744a20a2a04ccdb36cd5978316e1af0c3a",
      "tree": "1f96bb44bf67a7737d233831399ab58d9fa842bf",
      "parents": [
        "24b6f16ecf37f918a1934d590e9e71c100d6388f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 11:19:26 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "Fix autofs_expire()\n\nmnt should remain the same for all iterations through the list;\nas it is, if we have a busy mount, mnt follows into it and isn\u0027t\nrestored for the next iteration.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "24b6f16ecf37f918a1934d590e9e71c100d6388f",
      "tree": "14ea0e7f399c1608d0401e87655cc9332a3b9f33",
      "parents": [
        "1644ccc8a99ae73859c39372f96afdbf03c9f80d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 03:25:41 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "No need for crossing to mountpoint in audit_tag_tree()\n\nis_under() will DTRT anyway.  And yes, is_subdir() behaviour\nis intentional.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1644ccc8a99ae73859c39372f96afdbf03c9f80d",
      "tree": "27b568d2fcc00738a505fd562d7fa4728aa43d7f",
      "parents": [
        "e5d67f0715bc60f6c19abdd86d007d7bb29c9951"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 18 02:32:31 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "Safer nfsd_cross_mnt()\n\nAFAICS, we have a subtle bug there: if we have crossed mountpoint\n*and* it got mount --move\u0027d away, we\u0027ll be holding only one\nreference to fs containing dentry - exp-\u003eex_path.mnt.  IOW, we\nought to dput() before exp_put().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e5d67f0715bc60f6c19abdd86d007d7bb29c9951",
      "tree": "8de787c36ea21736434e7c4442a41527fc33bdbe",
      "parents": [
        "cf2706a340ae98616d4e2a54900393e0e0b6b72c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 07 12:15:39 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "Touch all affected namespaces on propagation of mount\n\nWe shouldn\u0027t just touch the namespace of current process\n\nCaught-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cf2706a340ae98616d4e2a54900393e0e0b6b72c",
      "tree": "85a925228256ccdc1eb4453fefa3e09215dccee0",
      "parents": [
        "a939b96cccdb65df80a52447ec8e4a6d79c56dbb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Apr 07 09:03:30 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 20 23:01:15 2009 -0400"
      },
      "message": "Fix AUTOFS_DEV_IOCTL_REQUESTER_CMD\n\nMissing conversion from kernel to userland dev_t; this sucker\nbreaks as soon as we get sufficiently many autofs mounts for\nnew_encode_dev(s_dev) !\u003d s_dev.\n\nNote: this is the minimal fix.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c594ea81d7abbbffdda447b127f8ba8d76f319d",
      "tree": "3f18a865e9795e40e2f4b086a01022accb1070b7",
      "parents": [
        "11c8349b4eb68f2b04cd8ece577377e6c0e5dd4b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 20 15:50:10 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 20 15:53:09 2009 -0400"
      },
      "message": "Btrfs: use the right node in reada_for_balance\n\nreada_for_balance was using the wrong index into the path node array,\nso it wasn\u0027t reading the right blocks.  We never directly used the\nresults of the read done by this function because the btree search is\nstarted over at the end.\n\nThis fixes reada_for_balance to reada in the correct node and to\navoid searching past the last slot in the node.  It also makes sure to\nhold the parent lock while we are finding the nodes to read.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "11c8349b4eb68f2b04cd8ece577377e6c0e5dd4b",
      "tree": "baeaabbe0a10d903ba3e0d6ff90ae9934912fc21",
      "parents": [
        "d313d7a31a752c88f7288692bd98e66d0789779b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 20 15:50:09 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 20 15:53:09 2009 -0400"
      },
      "message": "Btrfs: fix oops on page-\u003emapping-\u003ehost during writepage\n\nThe extent_io writepage call updates the writepage index in the inode\nas it makes progress.  But, it was doing the update after unlocking the page,\nwhich isn\u0027t legal because page-\u003emapping can\u0027t be trusted once the page\nis unlocked.\n\nThis lead to an oops, especially common with compression turned on.  The\nfix here is to update the writeback index before unlocking the page.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d313d7a31a752c88f7288692bd98e66d0789779b",
      "tree": "e26f332abd22d3bf5a57f09f94ad883d0f0c54c2",
      "parents": [
        "ffbd517d5a8c8e93ddd11046434fb029f3df73aa"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 20 15:50:09 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 20 15:53:08 2009 -0400"
      },
      "message": "Btrfs: add a priority queue to the async thread helpers\n\nBtrfs is using WRITE_SYNC_PLUG to send down synchronous IOs with a\nhigher priority.  But, the checksumming helper threads prevent it\nfrom being fully effective.\n\nThere are two problems.  First, a big queue of pending checksumming\nwill delay the synchronous IO behind other lower priority writes.  Second,\nthe checksumming uses an ordered async work queue.  The ordering makes sure\nthat IOs are sent to the block layer in the same order they are sent\nto the checksumming threads.  Usually this gives us less seeky IO.\n\nBut, when we start mixing IO priorities, the lower priority IO can delay\nthe higher priority IO.\n\nThis patch solves both problems by adding a high priority list to the async\nhelper threads, and a new btrfs_set_work_high_prio(), which is used\nto make put a new async work item onto the higher priority list.\n\nThe ordering is still done on high priority IO, but all of the high\npriority bios are ordered separately from the low priority bios.  This\nordering is purely an IO optimization, it is not involved in data\nor metadata integrity.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "ffbd517d5a8c8e93ddd11046434fb029f3df73aa",
      "tree": "9ec7b7f2efbb8950ca2654235a899398e82a68b5",
      "parents": [
        "0882e8dd3aad33eca41696d463bb896e6c8817eb"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 20 15:50:09 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Apr 20 15:53:08 2009 -0400"
      },
      "message": "Btrfs: use WRITE_SYNC for synchronous writes\n\nPart of reducing fsync/O_SYNC/O_DIRECT latencies is using WRITE_SYNC for\nwrites we plan on waiting on in the near future.  This patch\nmirrors recent changes in other filesystems and the generic code to\nuse WRITE_SYNC when WB_SYNC_ALL is passed and to use WRITE_SYNC for\nother latency critical writes.\n\nBtrfs uses async worker threads for checksumming before the write is done,\nand then again to actually submit the bios.  The bio submission code just\nruns a per-device list of bios that need to be sent down the pipe.\n\nThis list is split into low priority and high priority lists so the\nWRITE_SYNC IO happens first.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e56985da455b9dc0591b8cb2006cc94b6f4fb0f4",
      "tree": "0ae2bf7a5001fbf9fdc9dc027c03e63670303b85",
      "parents": [
        "52fcd11c0900b0cbc584eeda12a6e27dd6c9d046"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 20 09:45:54 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 20 16:02:02 2009 +0100"
      },
      "message": "GFS2: Fix page_mkwrite() return code\n\nThis allows for the possibility of returning VM_FAULT_OOM as\nwell as VM_FAULT_SIGBUS. This ensures that the correct action\nis taken.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "52fcd11c0900b0cbc584eeda12a6e27dd6c9d046",
      "tree": "29ab55d89da3c559d9ce3d0fbe53bbd41c9f1701",
      "parents": [
        "3ee8da87ba6151ec91b2b8bbd27633bb248ea0d5"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 20 08:58:45 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Apr 20 09:05:21 2009 +0100"
      },
      "message": "GFS2: Clear dirty bit at end of inode glock sync\n\nThe dirty bit can get set during the inode glock sync. Its too\ncomplicated to change that at the moment, so this is the quick\nfix - to clear the bit again at the end of the function.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "613cbe3d4870429bf2e816d4bbe3146d157ee5c1",
      "tree": "52031a08d45201164ca6b8a126b3a0c4af2ecb43",
      "parents": [
        "ff54250a0ebab7f90a5f848a0ba63f999830c872"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Sun Apr 19 18:40:43 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 19 10:46:47 2009 -0700"
      },
      "message": "Don\u0027t set relatime when noatime is specified\n\nSince commit 0a1c01c9477602ee8b44548a9405b2c1d587b5a2 (\"Make relatime\ndefault\") when a file system is mounted explicitely with noatime it gets\nboth the MNT_RELATIME and MNT_NOATIME bits set.\n\nThis shows up like this in /proc/mounts:\n\n  /dev/xxx /yyy ext3 rw,noatime,relatime,errors\u003dcontinue,data\u003dwriteback 0 0\n\nThat looks strange.  The VFS uses noatime in this case, but both flags\nare set.  So it\u0027s more a cosmetic issue, but still better to fix.\n\nCc: mjg@redhat.com\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d4ab5daca4b3bf9c9166908db0c436722d52e77",
      "tree": "5f665412bc57f2eb854e80c42549eff98da350dd",
      "parents": [
        "df89f1ba971b3df2b7e1bc46ca7ce867539186fa",
        "fc6f394332ef1bf6ff5fbeaba0f2cd7a3c7971b6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 21:37:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 18 21:37:07 2009 -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: when renaming don\u0027t try to unlink negative dentry\n  cifs: remove unneeded bcc_ptr update in CIFSTCon\n  cifs: add cFYI messages with some of the saved strings from ssetup/tcon\n  cifs: fix buffer size for tcon-\u003enativeFileSystem field\n  cifs: fix unicode string area word alignment in session setup\n  [CIFS] Fix build break caused by change to new current_umask helper function\n  [CIFS] Fix sparse warnings\n  [CIFS] Add support for posix open during lookup\n  cifs: no need to use rcu_assign_pointer on immutable keys\n  cifs: remove dnotify thread code\n  [CIFS] remove some build warnings\n  cifs: vary timeout on writes past EOF based on offset (try #5)\n  [CIFS] Fix build break from recent DFS patch when DFS support not enabled\n  Remote DFS root support.\n  [CIFS] Endian convert UniqueId when reporting inode numbers from server files\n  cifs: remove some pointless conditionals before kfree()\n  cifs: flush data on any setattr\n"
    },
    {
      "commit": "fc6f394332ef1bf6ff5fbeaba0f2cd7a3c7971b6",
      "tree": "86cccb6f28f84355d348bad27fa55d5c377d6660",
      "parents": [
        "22c9d52bc03b880045ab1081890a38f11b272ae7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Apr 17 11:45:30 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 21:08:15 2009 +0000"
      },
      "message": "cifs: when renaming don\u0027t try to unlink negative dentry\n\nWhen attempting to rename a file on a read-only share, the kernel can\ncall cifs_unlink on a negative dentry, which causes an oops. Only try\nto unlink the file if it\u0027s a positive dentry.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nCC: Stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "74a205a3f1a07cf0b72bf7816d75735a0d9c4c6b",
      "tree": "d977fe81c74a0728130c7e212f2c27eef8146e91",
      "parents": [
        "dd26bf6d95f050c42cc8f15e750b09851e1fd30b",
        "912335c43bb10d124471bf063a85e132aa814214"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 13:53:16 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 13:53:16 2009 -0700"
      },
      "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:\n  UIO: fix specific device driver missing statement for depmod\n  Driver core: remove pr_fmt() from dynamic_dev_dbg() printk\n  driver core: prevent device_for_each_child from oopsing\n  dynamic debug: resurrect old pr_debug() semantics as pr_devel()\n  Driver Core: early platform driver\n  proc: mounts_poll() make consistent to mdstat_poll\n  sysfs: sysfs poll keep the poll rule of regular file.\n  driver core: allow non-root users to listen to uevents\n  driver core: fix driver_match_device\n  sysfs: don\u0027t use global workqueue in sysfs_schedule_callback()\n"
    },
    {
      "commit": "6566abdbd0566fc1b5950c9f87ef57c7443d6fa8",
      "tree": "142643f08a12be27547baabf40378fda20f648ff",
      "parents": [
        "d29a2e943867bfa48f72ee6e99723a1b29fe6f7e"
      ],
      "author": {
        "name": "Matt Kraai",
        "email": "kraai@ftbfs.org",
        "time": "Fri Apr 17 12:56:38 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:55:19 2009 -0700"
      },
      "message": "AFS: Guard afs_file_readpage_read_complete() definition with CONFIG_AFS_FSCACHE\n\nIf CONFIG_AFS_FSCACHE is not defined, the following warning is displayed when\nfs/afs/file.c is compiled:\n\n fs/afs/file.c:111: warning: ‘afs_file_readpage_read_complete’ defined but not used\n\nThis occurs because all calls to this function are guarded by\nCONFIG_AFS_FSCACHE.  Thus, guard its definition as well.\n\nSigned-off-by: Matt Kraai \u003ckraai@ftbfs.org\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d29a2e943867bfa48f72ee6e99723a1b29fe6f7e",
      "tree": "55dc18a37c89d1912e28532b03b8c7063a1f55eb",
      "parents": [
        "b80901bbf599553f483b9509f2dce416b938aae8"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Apr 17 12:22:35 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 09:32:11 2009 -0700"
      },
      "message": "vfat: Note the NLS requirement\n\nClose bug #4754. Stop people getting into a situation where they can\u0027t\nget their FAT filesystems to mount as they expect.\n\nSigned-off-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b80901bbf599553f483b9509f2dce416b938aae8",
      "tree": "62d3d2dcea9e2e112a86a4626667517cb72ebb45",
      "parents": [
        "9f76208c33984ab777eace5d07a4e36e88703e02"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Apr 16 19:09:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 17 07:38:07 2009 -0700"
      },
      "message": "splice: fix new kernel-doc warnings\n\nsplice: fix kernel-doc warnings\n\n  Warning(fs/splice.c:617): bad line:\n  Warning(fs/splice.c:722): No description found for parameter \u0027sd\u0027\n  Warning(fs/splice.c:722): Excess function parameter \u0027pipe\u0027 description in \u0027splice_from_pipe_begin\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22c9d52bc03b880045ab1081890a38f11b272ae7",
      "tree": "7614c19810a85be56f4c454dbe2aeda82eef3843",
      "parents": [
        "313fecfa69bbad0a10d3313a50a89d3064f47ce1"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Apr 16 13:48:49 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:50 2009 +0000"
      },
      "message": "cifs: remove unneeded bcc_ptr update in CIFSTCon\n\nThis pointer isn\u0027t used again after this point. It\u0027s also not updated in\nthe ascii case, so there\u0027s no need to update it here.\n\nPointed-out-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "313fecfa69bbad0a10d3313a50a89d3064f47ce1",
      "tree": "bf75ff66a0e629af493b1a6f2d1b6148569b6b4a",
      "parents": [
        "f083def68f84b04fe3f97312498911afce79609e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Apr 16 11:21:53 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:50 2009 +0000"
      },
      "message": "cifs: add cFYI messages with some of the saved strings from ssetup/tcon\n\n...to make it easier to find problems in this area in the future.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f083def68f84b04fe3f97312498911afce79609e",
      "tree": "f7550b49ad4b364f542dd1afe1bd2736fd34485f",
      "parents": [
        "27b87fe52baba0a55e9723030e76fce94fabcea4"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Apr 16 11:21:52 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:50 2009 +0000"
      },
      "message": "cifs: fix buffer size for tcon-\u003enativeFileSystem field\n\nThe buffer for this was resized recently to fix a bug. It\u0027s still\npossible however that a malicious server could overflow this field\nby sending characters in it that are \u003e2 bytes in the local charset.\nDouble the size of the buffer to account for this possibility.\n\nAlso get rid of some really strange and seemingly pointless NULL\ntermination. It\u0027s NULL terminating the string in the source buffer,\nbut by the time that happens, we\u0027ve already copied the string.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "27b87fe52baba0a55e9723030e76fce94fabcea4",
      "tree": "fe1d0b6e29134e4b3160629953a37faf84c0ee17",
      "parents": [
        "88dd47fff4891545bfcfdf39146dde8380771766"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 14 11:00:53 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:50 2009 +0000"
      },
      "message": "cifs: fix unicode string area word alignment in session setup\n\nThe handling of unicode string area alignment is wrong.\ndecode_unicode_ssetup improperly assumes that it will always be preceded\nby a pad byte. This isn\u0027t the case if the string area is already\nword-aligned.\n\nThis problem, combined with the bad buffer sizing for the serverDomain\nstring can cause memory corruption. The bad alignment can make it so\nthat the alignment of the characters is off. This can make them\ntranslate to characters that are greater than 2 bytes each. If this\nhappens we can overflow the allocation.\n\nFix this by fixing the alignment in CIFS_SessSetup instead so we can\nverify it against the head of the response. Also, clean up the\nworkaround for improperly terminated strings by checking for a\nodd-length unicode buffers and then forcibly terminating them.\n\nFinally, resize the buffer for serverDomain. Now that we\u0027ve fixed\nthe alignment, it\u0027s probably fine, but a malicious server could\noverflow it.\n\nA better solution for handling these strings is still needed, but\nthis should be a suitable bandaid.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "88dd47fff4891545bfcfdf39146dde8380771766",
      "tree": "0a2b71229c1c4d94ae82a303294afcca5847891f",
      "parents": [
        "bc8cd4390c9129fbd286b10fa99972dfb68cd069"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 15 03:09:39 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:50 2009 +0000"
      },
      "message": "[CIFS] Fix build break caused by change to new current_umask helper function\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bc8cd4390c9129fbd286b10fa99972dfb68cd069",
      "tree": "1092fce44f8b785eb7be1b59d9c6215aa56d44c1",
      "parents": [
        "a6ce4932fbdbcd8f8e8c6df76812014351c32892"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Apr 12 18:18:40 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:49 2009 +0000"
      },
      "message": "[CIFS] Fix sparse warnings\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a6ce4932fbdbcd8f8e8c6df76812014351c32892",
      "tree": "4ffe9ea3379cb3227924491c93960108cf762b96",
      "parents": [
        "d9fb5c091b419e0495c50c1cce9e4cf9f7105072"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 09 01:14:32 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:49 2009 +0000"
      },
      "message": "[CIFS] Add support for posix open during lookup\n\nThis patch by utilizing lookup intents, and thus removing a network\nroundtrip in the open path, improves performance dramatically on\nopen (30% or more) to Samba and other servers which support the\ncifs posix extensions\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d9fb5c091b419e0495c50c1cce9e4cf9f7105072",
      "tree": "c368fa618cbbcc511e6d2ffb69e0746220688ce2",
      "parents": [
        "5144ebf408ed08380917126493450ee22e63fe3f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Mar 23 01:47:11 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:49 2009 +0000"
      },
      "message": "cifs: no need to use rcu_assign_pointer on immutable keys\n\ncifs: no need to use rcu_assign_pointer on immutable keys\n\nNeither keytype in use by CIFS has an \"update\" method. This means that\nthe keys are immutable once instantiated. We don\u0027t need to use RCU\nto set the payload data pointers.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5144ebf408ed08380917126493450ee22e63fe3f",
      "tree": "29585aa19f99fda7a47efbda4f418765e6db3b9f",
      "parents": [
        "2d6d589d8009b37ae03244059c93e0e8cf46910e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Mar 23 01:47:12 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:49 2009 +0000"
      },
      "message": "cifs: remove dnotify thread code\n\ncifs: remove dnotify thread code\n\nAl Viro recently removed the dir_notify code from the kernel along with\nthe CIFS code that used it. We can also get rid of the dnotify thread\nas well.\n\nIn actuality, it never had anything to do with dir_notify anyway. All\nit did was unnecessarily wake up all the tasks waiting on the response\nqueues every 15s. Previously that happened to prevent tasks from hanging\nindefinitely when the server went unresponsive, but we put those to\nsleep with proper timeouts now so there\u0027s no reason to keep this around.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2d6d589d8009b37ae03244059c93e0e8cf46910e",
      "tree": "654ed166f84bd36ee612dc7e654dab230456f09c",
      "parents": [
        "fbec9ab952d4810960e620035c8e95f0fbbae4be"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 09 00:36:44 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:49 2009 +0000"
      },
      "message": "[CIFS] remove some build warnings\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fbec9ab952d4810960e620035c8e95f0fbbae4be",
      "tree": "e4d8ef8e0fbe2703d98390d96151cbf40d32f434",
      "parents": [
        "d036f50fc202e1a851a25dc5edc215ebd0086201"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Apr 03 13:44:00 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:49 2009 +0000"
      },
      "message": "cifs: vary timeout on writes past EOF based on offset (try #5)\n\nThis is the fourth version of this patch:\n\nThe first three generated a compiler warning asking for explicit curly\nbraces.\n\nThe first two didn\u0027t handle update the size correctly when writes that\ndidn\u0027t start at the eof were done.\n\nThe first patch also didn\u0027t update the size correctly when it explicitly\nset via truncate().\n\nThis patch adds code to track the client\u0027s current understanding of the\nsize of the file on the server separate from the i_size, and then to use\nthis info to semi-intelligently set the timeout for writes past the EOF.\n\nThis helps prevent timeouts when trying to write large, sparse files on\nwindows servers.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d036f50fc202e1a851a25dc5edc215ebd0086201",
      "tree": "e88defe256ea00a9cd87ae948710cf5b22404a80",
      "parents": [
        "1bfe73c258addc388b90fe8c2c6bbc0f0c9c10dd"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 03 03:12:08 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:48 2009 +0000"
      },
      "message": "[CIFS] Fix build break from recent DFS patch when DFS support not enabled\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1bfe73c258addc388b90fe8c2c6bbc0f0c9c10dd",
      "tree": "5561ad05bda869ce83525888ed8961f580d74844",
      "parents": [
        "85a6dac54a7e28112488b02523202985edc7e639"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "niallain@gmail.com",
        "time": "Wed Apr 01 17:54:42 2009 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:48 2009 +0000"
      },
      "message": "Remote DFS root support.\n\nAllows to mount share on a server that returns -EREMOTE\n at the tree connect stage or at the check on a full path\n accessibility.\n\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "85a6dac54a7e28112488b02523202985edc7e639",
      "tree": "141a35196516dc428fe2891b7c7da02d0133ecad",
      "parents": [
        "74496d365ad171d11f21da4a8be71c945f6ec825"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 01 05:22:00 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:48 2009 +0000"
      },
      "message": "[CIFS] Endian convert UniqueId when reporting inode numbers from server files\n\nJeff made a good point that we should endian convert the UniqueId when we use\nit to set i_ino Even though this value is opaque to the client, when comparing\nthe inode numbers of the same server file from two different clients (one\nbig endian, one little endian) or when we compare a big endian client\u0027s view\nof i_ino with what the server thinks - we should get the same value\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "74496d365ad171d11f21da4a8be71c945f6ec825",
      "tree": "8e7296257188a6eb0fcb18811fbade47c9cd0100",
      "parents": [
        "0f4d634c59a4e062bef81c00d9e63333f2a83b46"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Mar 31 16:28:36 2009 +0800"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:48 2009 +0000"
      },
      "message": "cifs: remove some pointless conditionals before kfree()\n\nRemove some pointless conditionals before kfree().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0f4d634c59a4e062bef81c00d9e63333f2a83b46",
      "tree": "b71dbcddf45eee405ea9bb615ef621b9a09a9994",
      "parents": [
        "20d9207849d5abe60461841b3c3724f6e7c9d33e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Mar 26 13:35:37 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:48 2009 +0000"
      },
      "message": "cifs: flush data on any setattr\n\nWe already flush all the dirty pages for an inode before doing\nATTR_SIZE and ATTR_MTIME changes. There\u0027s another problem though -- if\nwe change the mode so that the file becomes read-only then we may not\nbe able to write data to it after a reconnect.\n\nFix this by just going back to flushing all the dirty data on any\nsetattr call. There are probably some cases that can be optimized out,\nbut I\u0027m not sure they\u0027re worthwhile and we need to consider them more\ncarefully to make sure that we don\u0027t cause regressions if we have\nto reconnect before writeback occurs.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "31b07093c44a7a442394d44423e21d783f5523b8",
      "tree": "8569f8450dd2e7560a36a751faeee8d402c031ca",
      "parents": [
        "1af3557abdef34ee036a6de4cb79e24468544b8d"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Apr 09 13:57:59 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 16 16:17:10 2009 -0700"
      },
      "message": "proc: mounts_poll() make consistent to mdstat_poll\n\nIn recently sysfs_poll discussion, Neil Brown pointed out /proc/mounts\nalso should be fixed.\n\nSUSv3 says \"Regular files shall always poll TRUE for reading and\nwriting\".  see\nhttp://www.opengroup.org/onlinepubs/009695399/functions/poll.html\n\nThen, mounts_poll()\u0027s default should be \"POLLIN | POLLRDNORM\".  it mean\nalways readable.\n\nIn addition, event trigger should use \"POLLERR | POLLPRI\" instead\nPOLLERR.  it makes consistent to mdstat_poll() and sysfs_poll(). and,\nselect(2) can handle POLLPRI easily.\n\n\nReported-by: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1af3557abdef34ee036a6de4cb79e24468544b8d",
      "tree": "f390d8d72bbba5302fcafb4c3666ac92469b488a",
      "parents": [
        "d094cbe998eb566d47552aa9d3c26c9123a7b858"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Thu Apr 09 13:53:22 2009 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 16 16:17:09 2009 -0700"
      },
      "message": "sysfs: sysfs poll keep the poll rule of regular file.\n\nCurrently, following test programs don\u0027t finished.\n\n% ruby -e \u0027\nThread.new { sleep }\nFile.read(\"/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies\")\n\u0027\n\nstrace expose the reason.\n\n...\nopen(\"/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies\", O_RDONLY|O_LARGEFILE) \u003d 3\nioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbf9fa6b8) \u003d -1 ENOTTY (Inappropriate ioctl for device)\nfstat64(3, {st_mode\u003dS_IFREG|0444, st_size\u003d4096, ...}) \u003d 0\n_llseek(3, 0, [0], SEEK_CUR)            \u003d 0\nselect(4, [3], NULL, NULL, NULL)        \u003d 1 (in [3])\nread(3, \"1400000 1300000 1200000 1100000 1\"..., 4096) \u003d 62\nselect(4, [3], NULL, NULL, NULL\n\n\nBecause Ruby (the scripting language) VM assume select system-call\nagainst regular file don\u0027t block.  it because SUSv3 says \"Regular files\nshall always poll TRUE for reading and writing\".  see\nhttp://www.opengroup.org/onlinepubs/009695399/functions/poll.html it\nseems valid assumption.\n\nBut sysfs_poll() don\u0027t keep this rule although sysfs file can read and\nwrite always.\n\nThis patch restore proper poll behavior to sysfs.\n/sys/block/md*/md/sync_action polling application and another sysfs\nupdating sensitive application still can use POLLERR and POLLPRI.\n\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d110271e1f4140a9fb06d968b1afe9ca56a6064e",
      "tree": "eb9ecf34607b5bb40ed26e339c5185cdb341e92f",
      "parents": [
        "c19f83669a02d4fa047d0d40f518e90f6f19c4c6"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Wed Mar 25 15:11:36 2009 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 16 16:17:08 2009 -0700"
      },
      "message": "sysfs: don\u0027t use global workqueue in sysfs_schedule_callback()\n\nA sysfs attribute using sysfs_schedule_callback() to commit suicide\nmay end up calling device_unregister(), which will eventually call\na driver\u0027s -\u003eremove function.\n\nDrivers may call flush_scheduled_work() in their shutdown routines,\nin which case lockdep will complain with something like the following:\n\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  [ INFO: possible recursive locking detected ]\n  2.6.29-rc8-kk #1\n  ---------------------------------------------\n  events/4/56 is trying to acquire lock:\n  (events){--..}, at: [\u003cffffffff80257fc0\u003e] flush_workqueue+0x0/0xa0\n\n  but task is already holding lock:\n  (events){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n\n  other info that might help us debug this:\n  3 locks held by events/4/56:\n  #0:  (events){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n  #1:  (\u0026ss-\u003ework){--..}, at: [\u003cffffffff80257648\u003e] run_workqueue+0x108/0x230\n  #2:  (pci_remove_rescan_mutex){--..}, at: [\u003cffffffff803c10d1\u003e] remove_callback+0x21/0x40\n\n  stack backtrace:\n  Pid: 56, comm: events/4 Not tainted 2.6.29-rc8-kk #1\n  Call Trace:\n  [\u003cffffffff8026dfcd\u003e] validate_chain+0xb7d/0x1260\n  [\u003cffffffff8026eade\u003e] __lock_acquire+0x42e/0xa40\n  [\u003cffffffff8026f148\u003e] lock_acquire+0x58/0x80\n  [\u003cffffffff80257fc0\u003e] ? flush_workqueue+0x0/0xa0\n  [\u003cffffffff8025800d\u003e] flush_workqueue+0x4d/0xa0\n  [\u003cffffffff80257fc0\u003e] ? flush_workqueue+0x0/0xa0\n  [\u003cffffffff80258070\u003e] flush_scheduled_work+0x10/0x20\n  [\u003cffffffffa0144065\u003e] e1000_remove+0x55/0xfe [e1000e]\n  [\u003cffffffff8033ee30\u003e] ? sysfs_schedule_callback_work+0x0/0x50\n  [\u003cffffffff803bfeb2\u003e] pci_device_remove+0x32/0x70\n  [\u003cffffffff80441da9\u003e] __device_release_driver+0x59/0x90\n  [\u003cffffffff80441edb\u003e] device_release_driver+0x2b/0x40\n  [\u003cffffffff804419d6\u003e] bus_remove_device+0xa6/0x120\n  [\u003cffffffff8043e46b\u003e] device_del+0x12b/0x190\n  [\u003cffffffff8043e4f6\u003e] device_unregister+0x26/0x70\n  [\u003cffffffff803ba969\u003e] pci_stop_dev+0x49/0x60\n  [\u003cffffffff803baab0\u003e] pci_remove_bus_device+0x40/0xc0\n  [\u003cffffffff803c10d9\u003e] remove_callback+0x29/0x40\n  [\u003cffffffff8033ee4f\u003e] sysfs_schedule_callback_work+0x1f/0x50\n  [\u003cffffffff8025769a\u003e] run_workqueue+0x15a/0x230\n  [\u003cffffffff80257648\u003e] ? run_workqueue+0x108/0x230\n  [\u003cffffffff8025846f\u003e] worker_thread+0x9f/0x100\n  [\u003cffffffff8025bce0\u003e] ? autoremove_wake_function+0x0/0x40\n  [\u003cffffffff802583d0\u003e] ? worker_thread+0x0/0x100\n  [\u003cffffffff8025b89d\u003e] kthread+0x4d/0x80\n  [\u003cffffffff8020d4ba\u003e] child_rip+0xa/0x20\n  [\u003cffffffff8020cebc\u003e] ? restore_args+0x0/0x30\n  [\u003cffffffff8025b850\u003e] ? kthread+0x0/0x80\n  [\u003cffffffff8020d4b0\u003e] ? child_rip+0x0/0x20\n\nAlthough we know that the device_unregister path will never acquire\na lock that a driver might try to acquire in its -\u003eremove, in general\nwe should never attempt to flush a workqueue from within the same\nworkqueue, and lockdep rightly complains.\n\nSo as long as sysfs attributes cannot commit suicide directly and we\nare stuck with this callback mechanism, put the sysfs callbacks on\ntheir own workqueue instead of the global one.\n\nThis has the side benefit that if a suicidal sysfs attribute kicks\noff a long chain of -\u003eremove callbacks, we no longer induce a long\ndelay on the global queue.\n\nThis also fixes a missing module_put in the error path introduced\nby sysfs-only-allow-one-scheduled-removal-callback-per-kobj.patch.\n\nWe never destroy the workqueue, but I\u0027m not sure that\u0027s a\nproblem.\n\nReported-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "35c80d5f400f68f2eccf3069d1c068e154bde9c9",
      "tree": "43dd3ebb3e654b1a1ed4210089b7dc27b1f516e9",
      "parents": [
        "f69955855eac55a048d26a1618f50dfaa160a006"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Apr 15 13:22:38 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 16 07:47:49 2009 -0700"
      },
      "message": "Add block_write_full_page_endio for passing endio handler\n\nblock_write_full_page doesn\u0027t allow the caller to control what happens\nwhen the IO is over.  This adds a new call named block_write_full_page_endio\nso the buffer head end_io handler can be provided by the caller.\n\nThis will be used by the ext3 data\u003dguarded mode to do i_size updates in\na workqueue based end_io handler.  end_buffer_async_write is also\nexported so it can be called to do the dirty work of managing page\nwriteback for the higher level end_io handler.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nAcked-by: Theodore Tso \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2c252ebdeaab28c9b400570594d576dae295958",
      "tree": "1b08e3f745809d9c559e208a3a106a40cf11fdff",
      "parents": [
        "23da64b4714812b66ecf010e7dfb3ed1bf2eda69",
        "1328df725239804ae30fc7257c1a3185e679b517"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 15 09:04:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 15 09:04:12 2009 -0700"
      },
      "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: Use DEFINE_SPINLOCK\n  GFS2: cleanup file_operations mess\n  GFS2: Move umount flush rwsem\n  GFS2: Fix symlink creation race\n  GFS2: Make quotad\u0027s waiting interruptible\n"
    },
    {
      "commit": "b1fffc9ca6ca4c3feef3a7e8405252d528d312dc",
      "tree": "5e1de773cf0b874c7452e388f1c9c0563c08e96f",
      "parents": [
        "226e7dabf5534722944adefbad01970bd38bb7ae"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Wed Apr 15 10:36:35 2009 +0530"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "gfs2: Remove code handling bio_alloc failure with __GFP_WAIT\n\nRemove code handling bio_alloc failure with __GFP_WAIT.\nGFP_NOFS implies __GFP_WAIT.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nAcked-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "226e7dabf5534722944adefbad01970bd38bb7ae",
      "tree": "569375339adae68e4773406de0640522158ff12e",
      "parents": [
        "4d1f9fdb6177a9bdecf26976337dd39abcc8edbc"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Wed Apr 15 10:36:16 2009 +0530"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "ext4: Remove code handling bio_alloc failure with __GFP_WAIT\n\nRemove code handling bio_alloc failure with __GFP_WAIT.\nGFP_NOIO implies __GFP_WAIT.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4d1f9fdb6177a9bdecf26976337dd39abcc8edbc",
      "tree": "55cf4b785995ea84635aa952bfbb6a8be3edacdc",
      "parents": [
        "15afd1cc7b624e1c94fdf824ec5af611050b150c"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Wed Apr 15 10:35:52 2009 +0530"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:13 2009 +0200"
      },
      "message": "dio: Remove code handling bio_alloc failure with __GFP_WAIT\n\nRemove code handling bio_alloc failure with __GFP_WAIT.\nGFP_KERNEL implies __GFP_WAIT.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "86c824b9434e764d01489688e4e38aee43b93fcf",
      "tree": "0aa776b6fb5af04e9392c3f49842eeee97a5bd74",
      "parents": [
        "61e0d47c33cc371f725bcda4a47ae0efe652dba8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 09:00:07 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:12 2009 +0200"
      },
      "message": "bio: add documentation to bio_alloc()\n\nExplain that with __GFP_WAIT set it will not fail, and that the caller\nmust never allocate more than 1 bio at the time.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "61e0d47c33cc371f725bcda4a47ae0efe652dba8",
      "tree": "e00f99b506f1c1a16e3ba987e3390deda6bd2e03",
      "parents": [
        "f8cc774ce4844811a55e2352f1443055e3994e28"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:41 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:12 2009 +0200"
      },
      "message": "splice: add helpers for locking pipe inode\n\nThere are lots of sequences like this, especially in splice code:\n\n\tif (pipe-\u003einode)\n\t\tmutex_lock(\u0026pipe-\u003einode-\u003ei_mutex);\n\t/* do something */\n\tif (pipe-\u003einode)\n\t\tmutex_unlock(\u0026pipe-\u003einode-\u003ei_mutex);\n\nso introduce helpers which do the conditional locking and unlocking.\nAlso replace the inode_double_lock() call with a pipe_double_lock()\nhelper to avoid spreading the use of this functionality beyond the\npipe code.\n\nThis patch is just a cleanup, and should cause no behavioral changes.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f8cc774ce4844811a55e2352f1443055e3994e28",
      "tree": "a9d95b3d23044ff6217b76135d0be1661ffbc5e7",
      "parents": [
        "328eaaba4e41a04c1dc4679d65bea3fee4349d86"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:40 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:12 2009 +0200"
      },
      "message": "splice: remove generic_file_splice_write_nolock()\n\nRemove the now unused generic_file_splice_write_nolock() function.\nIt\u0027s conceptually broken anyway, because splice may need to wait for\npipe events so holding locks across the whole operation is wrong.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "328eaaba4e41a04c1dc4679d65bea3fee4349d86",
      "tree": "171bf86b590a841729bab11feec874869bcab49e",
      "parents": [
        "eb443e5a25d43996deb62b9bcee1a4ce5dea2ead"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:39 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:12 2009 +0200"
      },
      "message": "ocfs2: fix i_mutex locking in ocfs2_splice_to_file()\n\nRearrange locking of i_mutex on destination and call to\nocfs2_rw_lock() so locks are only held while buffers are copied with\nthe pipe_to_file() actor, and not while waiting for more data on the\npipe.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eb443e5a25d43996deb62b9bcee1a4ce5dea2ead",
      "tree": "7f63bb98302137e249904d608d5bb4b919a987ed",
      "parents": [
        "2933970b960223076d6affcf7a77e2bc546b8102"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:38 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:11 2009 +0200"
      },
      "message": "splice: fix i_mutex locking in generic_splice_write()\n\nRearrange locking of i_mutex on destination so it\u0027s only held while\nbuffers are copied with the pipe_to_file() actor, and not while\nwaiting for more data on the pipe.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2933970b960223076d6affcf7a77e2bc546b8102",
      "tree": "1658b9692948b5118fc5fea29b83be4329c56b6e",
      "parents": [
        "b3c2d2ddd63944ef2a1e4a43077b602288107e01"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:37 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:11 2009 +0200"
      },
      "message": "splice: remove i_mutex locking in splice_from_pipe()\n\nsplice_from_pipe() is only called from two places:\n\n  - generic_splice_sendpage()\n  - splice_write_null()\n\nNeither of these require i_mutex to be taken on the destination inode.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b3c2d2ddd63944ef2a1e4a43077b602288107e01",
      "tree": "2264092a285ab6af01f5f86d2cf06d2068546d37",
      "parents": [
        "91e463c8f5f7a5b09d3d034c01a88567af60c504"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Tue Apr 14 19:48:36 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 12:10:11 2009 +0200"
      },
      "message": "splice: split up __splice_from_pipe()\n\nSplit up __splice_from_pipe() into four helper functions:\n\n  splice_from_pipe_begin()\n  splice_from_pipe_next()\n  splice_from_pipe_feed()\n  splice_from_pipe_end()\n\nsplice_from_pipe_next() will wait (if necessary) for more buffers to\nbe added to the pipe.  splice_from_pipe_feed() will feed the buffers\nto the supplied actor and return when there\u0027s no more data available\n(or if all of the requested data has been copied).\n\nThis is necessary so that implementations can do locking around the\nnon-waiting splice_from_pipe_feed().\n\nThis patch should not cause any change in behavior.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1328df725239804ae30fc7257c1a3185e679b517",
      "tree": "0146b3e7d4f254bde14d82199965f3fcad6bfba3",
      "parents": [
        "10d2198805d7faa2b193485446ff6b1de42c9b78"
      ],
      "author": {
        "name": "Xu Gang",
        "email": "xug@cn.fujitsu.com",
        "time": "Tue Apr 14 14:54:14 2009 +0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:18:07 2009 +0100"
      },
      "message": "GFS2: Use DEFINE_SPINLOCK\n\nSPIN_LOCK_UNLOCKED is deprecated, use DEFINE_SPINLOCK instead.\n(as suggested in Documentation/spinlocks.txt)\n\nSigned-off-by: Xu Gang \u003cxug@cn.fujitsu.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "10d2198805d7faa2b193485446ff6b1de42c9b78",
      "tree": "be7e570d0c640aa8e544ee9e264a5f908b06e51c",
      "parents": [
        "a228df6339e0d385b8149c860d81b6007f5e9c81"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 07 19:42:17 2009 +0200"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:17:18 2009 +0100"
      },
      "message": "GFS2: cleanup file_operations mess\n\nRemove the weird pointer to file_operations mess and replace it with\nstraight-forward defining of the lockinginstance names to the _nolock\nvariants.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "a228df6339e0d385b8149c860d81b6007f5e9c81",
      "tree": "bf744dbc6bf8849ea7b81581818722c4e90b553e",
      "parents": [
        "5cf32524de745c56e1411d63eccf23fef1709d73"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Apr 07 14:01:34 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:16:13 2009 +0100"
      },
      "message": "GFS2: Move umount flush rwsem\n\nThe rwsem, used only on umount, is in the wrong place in glock.c.\nThis patch moves it up a bit so that it does not get called under\na spinlock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "5cf32524de745c56e1411d63eccf23fef1709d73",
      "tree": "300c28954930875a4016d51fa7b7def93c7dc1bd",
      "parents": [
        "7fa5d20d1a5e60ef7e453993b67b26c87dc09f07"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 31 16:06:27 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:15:38 2009 +0100"
      },
      "message": "GFS2: Fix symlink creation race\n\nIn certain cases symlinks can appear to have zero size if a lookup\non the inode occurs within a certain (very short) time after the\nsymlink has been created. The symlink is correctly created on disk\nbut appears to have zero size when stat()ed. This patch closes the\nrace and prevents incorrect sizes appearing.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "7fa5d20d1a5e60ef7e453993b67b26c87dc09f07",
      "tree": "f80bb0a1632a59748fb2cc5ab962fca3b52b0852",
      "parents": [
        "0882e8dd3aad33eca41696d463bb896e6c8817eb"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Mar 31 15:49:08 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Apr 15 10:15:08 2009 +0100"
      },
      "message": "GFS2: Make quotad\u0027s waiting interruptible\n\nSo we don\u0027t count its D state in the loadavg.\n\nReported-by: Nathan Straz \u003cnstraz@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "053c525fcf976810f023d96472f414c0d5e6339b",
      "tree": "2e1954da38bd4c59edb9ff3daf0111b02c181b0a",
      "parents": [
        "329007ce25d56fc7113df7b4828d607806d8bc21"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 08 13:44:08 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Apr 15 08:28:12 2009 +0200"
      },
      "message": "buffer: switch do_emergency_thaw() away from pdflush_operation()\n\nThis is (again) a preparatory patch similar to commit\na2a9537ac0b37a5da6fbe7e1e9cb06c524d2a9c4. It open codes a simple\nasync way of executing do_thaw_all() out of context, so we can get\nrid of pdflush.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e9de427e403f2670a44b5795707d8a240fb018c2",
      "tree": "2455a30ed360995a22e741d9ca87bc213c2f7d2d",
      "parents": [
        "9fc0178caa30070f65bded433f91756491a3cf26",
        "3121bfe7631126d1b13064855ac2cfa164381bb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 14 10:12:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 14 10:12:07 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: fix \"direct_io\" private mmap\n  fuse: fix argument type in fuse_get_user_pages()\n"
    },
    {
      "commit": "9fc0178caa30070f65bded433f91756491a3cf26",
      "tree": "0100c8f5a4b7a18450765f529e946d22164c5e49",
      "parents": [
        "2b6b6d385d2933c105e27f2d25fdb36d392d7f59",
        "c85399c2da8b86de8f6877980294fa1a4a88a5a4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 14 10:10:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 14 10:10:53 2009 -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: fix possible mismatch of sufile counters on recovery\n  nilfs2: segment usage file cleanups\n  nilfs2: fix wrong accounting and duplicate brelse in nilfs_sufile_set_error\n  nilfs2: simplify handling of active state of segments fix\n  nilfs2: remove module version\n  nilfs2: fix lockdep recursive locking warning on meta data files\n  nilfs2: fix lockdep recursive locking warning on bmap\n  nilfs2: return f_fsid for statfs2\n"
    },
    {
      "commit": "38d726d153cfe5efe5fe22d28d36ab382dda3a5c",
      "tree": "f5403a0abb0ac7e8bbdd12403a70d4151559e778",
      "parents": [
        "67c457a8c378a006a34d92f9bd3078a80a92f250"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 14 10:10:47 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Apr 14 10:10:47 2009 -0400"
      },
      "message": "jbd: use SWRITE_SYNC_PLUG when writing synchronous revoke records\n\nThe revoke records must be written using the same way as the rest of\nthe blocks during the commit process; that is, either marked as\nsynchronous writes or as asynchornous writes.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    }
  ],
  "next": "67c457a8c378a006a34d92f9bd3078a80a92f250"
}
