)]}'
{
  "log": [
    {
      "commit": "1193755ac6328ad240ba987e6ec41d5e8baf0680",
      "tree": "40bf847d7e3ebaa57b107151d14e6cd1d280cc6d",
      "parents": [
        "4edebed86690eb8db9af3ab85baf4a34e73266cc",
        "0ef97dcfce4179a2eba046b855ee2f91d6f1b414"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 01 10:34:35 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs changes from Al Viro.\n \"A lot of misc stuff.  The obvious groups:\n   * Miklos\u0027 atomic_open series; kills the damn abuse of\n     -\u003ed_revalidate() by NFS, which was the major stumbling block for\n     all work in that area.\n   * ripping security_file_mmap() and dealing with deadlocks in the\n     area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in\n     general.\n   * -\u003eencode_fh() switched to saner API; insane fake dentry in\n     mm/cleancache.c gone.\n   * assorted annotations in fs (endianness, __user)\n   * parts of Artem\u0027s -\u003es_dirty work (jff2 and reiserfs parts)\n   * -\u003eupdate_time() work from Josef.\n   * other bits and pieces all over the place.\n\n  Normally it would\u0027ve been in two or three pull requests, but\n  signal.git stuff had eaten a lot of time during this cycle ;-/\"\n\nFix up trivial conflicts in Documentation/filesystems/vfs.txt (the\n\u0027truncate_range\u0027 inode method was removed by the VM changes, the VFS\nupdate adds an \u0027update_time()\u0027 method), and in fs/btrfs/ulist.[ch] (due\nto sparse fix added twice, with other changes nearby).\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)\n  nfs: don\u0027t open in -\u003ed_revalidate\n  vfs: retry last component if opening stale dentry\n  vfs: nameidata_to_filp(): don\u0027t throw away file on error\n  vfs: nameidata_to_filp(): inline __dentry_open()\n  vfs: do_dentry_open(): don\u0027t put filp\n  vfs: split __dentry_open()\n  vfs: do_last() common post lookup\n  vfs: do_last(): add audit_inode before open\n  vfs: do_last(): only return EISDIR for O_CREAT\n  vfs: do_last(): check LOOKUP_DIRECTORY\n  vfs: do_last(): make ENOENT exit RCU safe\n  vfs: make follow_link check RCU safe\n  vfs: do_last(): use inode variable\n  vfs: do_last(): inline walk_component()\n  vfs: do_last(): make exit RCU safe\n  vfs: split do_lookup()\n  Btrfs: move over to use -\u003eupdate_time\n  fs: introduce inode operation -\u003eupdate_time\n  reiserfs: get rid of resierfs_sync_super\n  reiserfs: mark the superblock as dirty a bit later\n  ...\n"
    },
    {
      "commit": "f0aac6162e945590057dcfb841bdce8fd18ed4f6",
      "tree": "d27e953fb571ac22dfbfc8a5a251066586742fe8",
      "parents": [
        "b742c341539fc8b8386ef72f0e95758f39fbb4c8"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Thu May 31 16:26:14 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: use fat_msg_ratelimit() in fat__get_entry()\n\nIf an application tries to lookup (opendir/readdir/stat) 5000 files on a\nfatfs USB device and the device is unplugged, many message occur, shown\nbelow.  This makes the application slow.  So use the new\nfat_msg_ratelimit() decrease the messaging rate.\n\n  #\u003e ./file_lookup_testcase ./files_directory/\n  usb 2-1.4: USB disconnect, device number 4\n  FAT-fs (sda1): FAT read failed (blocknr 2631)\n  FAT-fs (sda1): Directory bread(block 396816) failed\n  FAT-fs (sda1): Directory bread(block 396817) failed\n  FAT-fs (sda1): Directory bread(block 396818) failed\n  FAT-fs (sda1): Directory bread(block 396819) failed\n  FAT-fs (sda1): Directory bread(block 396820) failed\n  FAT-fs (sda1): Directory bread(block 396821) failed\n  FAT-fs (sda1): Directory bread(block 396822) failed\n  FAT-fs (sda1): Directory bread(block 396823) failed\n  FAT-fs (sda1): Directory bread(block 406824) failed\n  FAT-fs (sda1): Directory bread(block 406825) failed\n  FAT-fs (sda1): Directory bread(block 406826) failed\n  FAT-fs (sda1): Directory bread(block 406827) failed\n  FAT-fs (sda1): Directory bread(block 406828) failed\n  FAT-fs (sda1): Directory bread(block 406829) failed\n  FAT-fs (sda1): Directory bread(block 406830) failed\n  FAT-fs (sda1): Directory bread(block 406831) failed\n  FAT-fs (sda1): Directory bread(block 417696) failed\n  FAT-fs (sda1): Directory bread(block 417697) failed\n  FAT-fs (sda1): Directory bread(block 417698) failed\n  FAT-fs (sda1): Directory bread(block 417699) failed\n  FAT-fs (sda1): Directory bread(block 417700) failed\n  FAT-fs (sda1): Directory bread(block 417701) failed\n  FAT-fs (sda1): Directory bread(block 417702) failed\n  FAT-fs (sda1): Directory bread(block 417703) failed\n  FAT-fs (sda1): FAT read failed (blocknr 2631)\n  FAT-fs (sda1): Directory bread(block 396816) failed\n  FAT-fs (sda1): Directory bread(block 396817) failed\n  FAT-fs (sda1): Directory bread(block 396818) failed\n  FAT-fs (sda1): Directory bread(block 396819) failed\n  FAT-fs (sda1): Directory bread(block 396820) failed\n  FAT-fs (sda1): Directory bread(block 396821) failed\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Amit Sahrawat \u003camit.sahrawat83@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b742c341539fc8b8386ef72f0e95758f39fbb4c8",
      "tree": "ce074fbb28923b08904823128ec0167d9df266da",
      "parents": [
        "78491189ddb6d84d4a4abae992ed891a236d0263"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Thu May 31 16:26:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: add fat_msg_ratelimit()\n\nAdd a fat_msg_ratelimit() to limit the message generation rate.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Amit Sahrawat \u003camit.sahrawat83@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78491189ddb6d84d4a4abae992ed891a236d0263",
      "tree": "f451b46a2c0a505b6812b696e03604b8613b3df0",
      "parents": [
        "330fe3c4c6509e0418c434b5bcf80e65cffab477"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:13 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: switch to fsinfo_inode\n\nCurrently FAT file-system maps the VFS \"superblock\" abstraction to the\nFSINFO block.  The FSINFO block contains non-essential data about the\namount of free clusters and the next free cluster.  FAT file-system can\nalways find out this information by scanning the FAT table, but having it\nin the FSINFO block may speed things up sometimes.  So FAT file-system\nrelies on the VFS superblock write-out services to make sure the FSINFO\nblock is written out to the media from time to time.\n\nThe whole \"superblock write-out\" VFS infrastructure is served by the\n\u0027sync_supers()\u0027 kernel thread, which wakes up every 5 (by default) seconds\nand writes out all dirty superblock using the \u0027-\u003ewrite_super()\u0027 call-back.\n But the problem with this thread is that it wastes power by waking up the\nsystem every 5 seconds no matter what.  So we want to kill it completely\nand thus, we need to make file-systems to stop using the \u0027-\u003ewrite_super\u0027\nVFS service, and then remove it together with the kernel thread.\n\nThis patch switches the FAT FSINFO block management from\n\u0027-\u003ewrite_super()\u0027/\u0027-\u003es_dirt\u0027 to \u0027fsinfo_inode\u0027/\u0027-\u003ewrite_inode\u0027.  Now,\ninstead of setting the \u0027s_dirt\u0027 flag, we just mark the special\n\u0027fsinfo_inode\u0027 inode as dirty and let VFS invoke the \u0027-\u003ewrite_inode\u0027\ncall-back when needed, where we write-out the FSINFO block.\n\nThis patch also makes sure we do not mark the \u0027fsinfo_inode\u0027 inode as\ndirty if we are not FAT32 (FAT16 and FAT12 do not have the FSINFO block)\nor if we are in R/O mode.\n\nAs a bonus, we can also remove the \u0027-\u003esync_fs()\u0027 and \u0027-\u003ewrite_super()\u0027 FAT\ncall-back function because they become unneeded.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "330fe3c4c6509e0418c434b5bcf80e65cffab477",
      "tree": "f170e47fa9fd25bad3a5ce6996fdfbd86daa3706",
      "parents": [
        "90b436657efb1a6d73bf0677fedee8a8c77032f6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:28 2012 -0700"
      },
      "message": "fat: mark superblock as dirty less often\n\nPreparation for further changes.  It touches few functions in fatent.c and\nprevents them from marking the superblock as dirty unnecessarily often.\nNamely, instead of marking it as dirty in the internal tight loops - do it\nonly once at the end of the functions.  And instead of marking it as dirty\nwhile holding the FAT table lock, do it outside the lock.\n\nThe reason for this patch is that marking the superblock as dirty will\nsoon become a little bit heavier operation, so it is cleaner to do this\nonly when it is necessary.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "90b436657efb1a6d73bf0677fedee8a8c77032f6",
      "tree": "ee7e433e5cc1817dd4b9d6fda0a692c0d0ac033f",
      "parents": [
        "020ac5b6bef15785f9dde9de89d2734ff97da733"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "fat: introduce mark_fsinfo_dirty helper\n\nA preparation patch which introduces a \u0027mark_fsinfo_dirty()\u0027 helper\nfunction which just sets the \u0027s_dirt\u0027 flag to 1 so far.  I\u0027ll add more\ncode to this helper later, so I do not mark it as \u0027inline\u0027.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "020ac5b6bef15785f9dde9de89d2734ff97da733",
      "tree": "18724448be398af715d45dea42966bf276d2febb",
      "parents": [
        "7bc1bac77a69011550ce0613f4a23712a002d7ad"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "artem.bityutskiy@linux.intel.com",
        "time": "Thu May 31 16:26:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:27 2012 -0700"
      },
      "message": "fat: introduce special inode for managing the FSINFO block\n\nThis is patchset makes fatfs stop using the VFS \u0027-\u003ewrite_super()\u0027 method\nfor writing out the FSINFO block.\n\nThe final goal is to get rid of the \u0027sync_supers()\u0027 kernel thread.  This\nkernel thread wakes up every 5 seconds (by default) and calls\n\u0027-\u003ewrite_super()\u0027 for all mounted file-systems.  And the bad thing is that\nthis is done even if all the superblocks are clean.  Moreover, some\nfile-systems do not even need this end they do not register the\n\u0027-\u003ewrite_super()\u0027 method at all (e.g., btrfs).\n\nSo \u0027sync_supers()\u0027 most often just generates useless wake-ups and wastes\npower.  I am trying to make all file-systems independent of\n\u0027-\u003ewrite_super()\u0027 and plan to remove \u0027sync_supers()\u0027 and \u0027-\u003ewrite_super\u0027\ncompletely once there are no more users.\n\nThe \u0027-\u003ewrite_supers()\u0027 method is mostly used by baroque file-systems like\nhfs, udf, etc.  Modern file-systems like btrfs and xfs do not use it.\nThis justifies removing this stuff from VFS completely and make every FS\nself-manage own superblock.\n\nTested with xfstests.\n\nThis patch:\n\nPreparation for further changes.  It introduces a special inode\n(\u0027fsinfo_inode\u0027) in FAT file-system which we\u0027ll later use for managing the\nFSINFO block.  Note, this there is already one special inode (\u0027fat_inode\u0027)\nwhich is used for managing the FAT tables.\n\nIntroduce new \u0027MSDOS_FSINFO_INO\u0027 constant for this special inode.  It is\nsafe to do because FAT file-system does not store inode numbers on the\nmedia but generates them run-time.\n\nI\u0027ve also cleaned up the comment to existing \u0027MSDOS_ROOT_INO\u0027 constant,\nwhile on it.\n\nSigned-off-by: Artem Bityutskiy \u003cartem.bityutskiy@linux.intel.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b0b0382bb4904965a9e9fca77ad87514dfda0d1c",
      "tree": "dc46873fa74e0d194e4a2571b16f0767e1919ae8",
      "parents": [
        "6d42e7e9f6d86ed4dfacde75a6cf515068f9749c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 02 14:34:06 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 29 23:28:33 2012 -0400"
      },
      "message": "-\u003eencode_fh() API change\n\npass inode + parent\u0027s inode or NULL instead of dentry + bool saying\nwhether we want the parent or not.\n\nNOTE: that needs ceph fix folded in.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dbd5768f87ff6fb0a4fe09c4d7b6c4a24de99430",
      "tree": "42ea94ea733538f797aa745945fc43c4d1b89217",
      "parents": [
        "7994e6f7254354e03028a11f98a27bd67dace9f1"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu May 03 14:48:02 2012 +0200"
      },
      "committer": {
        "name": "Fengguang Wu",
        "email": "fengguang.wu@intel.com",
        "time": "Sun May 06 13:43:41 2012 +0800"
      },
      "message": "vfs: Rename end_writeback() to clear_inode()\n\nAfter we moved inode_sync_wait() from end_writeback() it doesn\u0027t make sense\nto call the function end_writeback() anymore. Rename it to clear_inode()\nwhich well says what the function really does - set I_CLEAR flag.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\n"
    },
    {
      "commit": "d533df07c20c7b59b0559a3ac38fb45c81ffd6bb",
      "tree": "7b6746dd28654291742a455d46726c0bac461860",
      "parents": [
        "41f0c02eacec9f984adb22e8fecda49e13b7eb13"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Fri Mar 23 15:02:39 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "fat: fix bug in enforcing Long File Name length\n\nSince \u0027*outlen\u0027 is initialized to zero, it is currently possible to\ncreate a filename of length (FAT_LFN_LEN + 1) when utf8 is not enabled.\nTo enforce the FAT_LFN_LEN limit, we must perform one less iteration.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Ravishankar N \u003ccyberax82@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "41f0c02eacec9f984adb22e8fecda49e13b7eb13",
      "tree": "a057fc5dacd08251e826a9588b5e9fc937d3082c",
      "parents": [
        "9eab0a788d2d6e513f43b7c0e5bb9d60446233cb"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Fri Mar 23 15:02:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:40 2012 -0700"
      },
      "message": "fat: clean up xlate_to_uni()\n\nxlate_to_uni() is called by vfat_build_slots() with sbi-\u003enls_io as the\nfinal argument.  nls_io can never be null at this point because the\ncheck is already being done in fat_fill_super() wherein the mount fails\nif it is null.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Ravishankar N \u003ccyberax82@gmail.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1688f86046e5572623b2eacb685eb707fe21fb0a",
      "tree": "5a2c3b39a26fb5866f415a7190855cb74479daac",
      "parents": [
        "ea29c6950a0305f2af7fd4a2021a6e946ada0174"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Feb 12 22:06:33 2012 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 20 21:29:36 2012 -0400"
      },
      "message": "fat: switch to d_make_root()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "55b81e6f2795484ea8edf5805c95c007cacfa736",
      "tree": "c3724975107857fcc03b5dd649c462e4f72397be",
      "parents": [
        "5983faf942f260023e547f3c5f38c1033c35cc9b",
        "08e87d0d773dc9ca5faf4c3306e238ed0ea129b0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:09:47 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 09 12:09:47 2012 -0800"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (232 commits)\n  USB: Add USB-ID for Multiplex RC serial adapter to cp210x.c\n  xhci: Clean up 32-bit build warnings.\n  USB: update documentation for usbmon\n  usb: usb-storage doesn\u0027t support dynamic id currently, the patch disables the feature to fix an oops\n  drivers/usb/class/cdc-acm.c: clear dangling pointer\n  drivers/usb/dwc3/dwc3-pci.c: introduce missing kfree\n  drivers/usb/host/isp1760-if.c: introduce missing kfree\n  usb: option: add ZD Incorporated HSPA modem\n  usb: ch9: fix up MaxStreams helper\n  USB: usb-skeleton.c: cleanup open_count\n  USB: usb-skeleton.c: fix open/disconnect race\n  xhci: Properly handle COMP_2ND_BW_ERR\n  USB: remove dead code from suspend/resume path\n  USB: add quirk for another camera\n  drivers: usb: wusbcore: Fix dependency for USB_WUSB\n  xhci: Better debugging for critical host errors.\n  xhci: Be less verbose during URB cancellation.\n  xhci: Remove debugging about ring structure allocation.\n  xhci: Remove debugging about toggling cycle bits.\n  xhci: Remove debugging for individual transfers.\n  ...\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "34c80b1d93e6e20ca9dea0baf583a5b5510d92d4",
      "tree": "7dcbf0a4e09464247e6992c8f44fcc872867bd3a",
      "parents": [
        "a6322de67b58a00e3a783ad9c87c2a11b2d67b47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 08 21:32:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jan 06 23:19:54 2012 -0500"
      },
      "message": "vfs: switch -\u003eshow_options() to struct dentry *\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dacd0e7b392dfaf888461741dbcaccf8b6a15bac",
      "tree": "10a942abbc6980405e718f0089faf18bdbc41ce9",
      "parents": [
        "d0c00d0671fbbaf6c5e192544de551a6ea5c8833"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 03:21:30 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:55:09 2012 -0500"
      },
      "message": "fat: propagate umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4acdaf27ebe2034c342f3be57ef49aed1ad885ef",
      "tree": "d89a876ee19cd88609a587f8aa6c464a52ee6d98",
      "parents": [
        "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:42:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch -\u003ecreate() to umode_t\n\nvfs_create() ignores everything outside of 16bit subset of its\nmode argument; switching it to umode_t is obviously equivalent\nand it\u0027s the only caller of the method\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c",
      "tree": "4ee4e584bc9a67f3ec14ce159d2d7d4a27e68d4a",
      "parents": [
        "8208a22bb8bd3c52ef634b4ff194f14892ab1713"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:41:39 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch vfs_mkdir() and -\u003emkdir() to umode_t\n\nvfs_mkdir() gets int, but immediately drops everything that might not\nfit into umode_t and that\u0027s the only caller of -\u003emkdir()...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b520e0565422966cdf1c3759bd73df77b0f248c",
      "tree": "f63a26afa7342eb59b125271b16e30a219b59094",
      "parents": [
        "2a79f17e4a641a2f463cb512cb0ec349844a147b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 12 15:51:45 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: fix the stupidity with i_dentry in inode destructors\n\nSeeing that just about every destructor got that INIT_LIST_HEAD() copied into\nit, there is no point whatsoever keeping this INIT_LIST_HEAD in inode_init_once();\nthe cost of taking it into inode_init_always() will be negligible for pipes\nand sockets and negative for everything else.  Not to mention the removal of\nboilerplate code from -\u003edestroy_inode() instances...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2a79f17e4a641a2f463cb512cb0ec349844a147b",
      "tree": "8801127310d0a3492941bb284e83393844a19685",
      "parents": [
        "8c9379e972e984d11c2b99121847ba9fa7a0c56c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 09 08:06:57 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:40 2012 -0500"
      },
      "message": "vfs: mnt_drop_write_file()\n\nnew helper (wrapper around mnt_drop_write()) to be used in pair with\nmnt_want_write_file().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a561be7100cd610bd2e082f3211c1dfb45835817",
      "tree": "a1016a11df967be6f289a4e8ae29597ba39df17e",
      "parents": [
        "f47ec3f28354795f000c14bf18ed967ec81a3ec3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 23 11:57:51 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:52:35 2012 -0500"
      },
      "message": "switch a bunch of places to mnt_want_write_file()\n\nit\u0027s both faster (in case when file has been opened for write) and cleaner.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d7a83c0f7f0f7a04710f31701f195018a4f5fdd3",
      "tree": "7e16d8a89ca922b6424d0d0fa90fd84a8b2725f2",
      "parents": [
        "4f91b1141306417d84da260e3f3dda3b7b536e76"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Oct 31 20:50:45 2011 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Dec 15 16:36:19 2011 +0100"
      },
      "message": "fat: Spelling s/obsolate/obsolete/g\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "0720a06a7518c9d0c0125bd5d1f3b6264c55c3dd",
      "tree": "6895ca20afb24b38f0246b370cba7dc6e72764cb",
      "parents": [
        "b7463c71fbbff7111d0c879d2f64fe2b08f51848"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Thu Nov 17 16:42:19 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Nov 18 10:51:01 2011 -0800"
      },
      "message": "NLS: improve UTF8 -\u003e UTF16 string conversion routine\n\nThe utf8s_to_utf16s conversion routine needs to be improved.  Unlike\nits utf16s_to_utf8s sibling, it doesn\u0027t accept arguments specifying\nthe maximum length of the output buffer or the endianness of its\n16-bit output.\n\nThis patch (as1501) adds the two missing arguments, and adjusts the\nonly two places in the kernel where the function is called.  A\nfollow-on patch will add a third caller that does utilize the new\ncapabilities.\n\nThe two conversion routines are still annoyingly inconsistent in the\nway they handle invalid byte combinations.  But that\u0027s a subject for a\ndifferent patch.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bfe8684869601dacfcb2cd69ef8cfd9045f62170",
      "tree": "4e213aaa766b26f43f0f9ec7998a7745239d9377",
      "parents": [
        "6d6b77f163c7eabedbba00ed2abb7d4a570bff76"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Oct 28 14:13:29 2011 +0200"
      },
      "committer": {
        "name": "Christoph Hellwig",
        "email": "hch@serles.lst.de",
        "time": "Wed Nov 02 12:53:43 2011 +0100"
      },
      "message": "filesystems: add set_nlink()\n\nReplace remaining direct i_nlink updates with a new set_nlink()\nupdater function.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nTested-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "0a90e0f1012e576500b551455b046013324826b9",
      "tree": "3a94f28ceaf0a6ae9ee26c9cee25b9bbaa0e7a98",
      "parents": [
        "02473119bc54b0b239c2501064c7a37314347f87"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Oct 31 17:12:57 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:57 2011 -0700"
      },
      "message": "fat: follow rename pack_hex_byte() to hex_byte_pack()\n\nThere is no functional change.\n\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nAcked-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b9075fa968a0a4347aef35e235e2995c0e57dddd",
      "tree": "cf9f9716784e790d8a43339653256d9cf9178ff3",
      "parents": [
        "ae29bc92da01a2e9d278a9a58c3b307d41cc0254"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Oct 31 17:11:33 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:54 2011 -0700"
      },
      "message": "treewide: use __printf not __attribute__((format(printf,...)))\n\nStandardize the style for compiler based printf format verification.\nStandardized the location of __printf too.\n\nDone via script and a little typing.\n\n$ grep -rPl --include\u003d*.[ch] -w \"__attribute__\" * | \\\n  grep -vP \"^(tools|scripts|include/linux/compiler-gcc.h)\" | \\\n  xargs perl -n -i -e \u0027local $/; while (\u003c\u003e) { s/\\b__attribute__\\s*\\(\\s*\\(\\s*format\\s*\\(\\s*printf\\s*,\\s*(.+)\\s*,\\s*(.+)\\s*\\)\\s*\\)\\s*\\)/__printf($1, $2)/g ; print; }\u0027\n\n[akpm@linux-foundation.org: revert arch bits]\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: \"Kirill A. Shutemov\" \u003ckirill@shutemov.name\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6a975c50a1c5e68c376634b4331052990ca3dfd",
      "tree": "e3695841740c2f39aa42699fe019cfbba20f5187",
      "parents": [
        "d522a0d17963e9c2e556db2cbd60c96d40505b6c",
        "710d4403a45c4040a9aa86971d50958f5ae6ed40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:16:13 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Aug 18 14:16:13 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: fat16 support maximum 4GB file/vol size as WinXP or 7.\n  fat: fix utf8 iocharset warning message\n  fat: fix build warning\n"
    },
    {
      "commit": "710d4403a45c4040a9aa86971d50958f5ae6ed40",
      "tree": "5cbbfedf3357c057f8d0043964e45b2e7597f0f6",
      "parents": [
        "186b53701ca5a843b07ca44a8d954dc6043c70f4"
      ],
      "author": {
        "name": "Namjae Jeon",
        "email": "linkinjeon@gmail.com",
        "time": "Wed Aug 17 19:10:09 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Aug 17 19:35:00 2011 +0900"
      },
      "message": "fat: fat16 support maximum 4GB file/vol size as WinXP or 7.\n\nFAT16 support maximum 4GB vol/file size with 64KB cluster size.\n\nWin NT/XP/7 increased the maximum cluster size to 64KB, and file/vol\nsize increased 4GB also.  Although increasing, the file size of linux\nFAT is still limited at 2GB.\n\nI found that it is limited by sb-\u003emaxbytes(0x7fffffff) when partition\nis formatted by FAT16.  sb-\u003es_maxbytes in fill_super should be set to\n0xffffffff like fat32.\n\nSigned-off-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "186b53701ca5a843b07ca44a8d954dc6043c70f4",
      "tree": "308d83d28fb04527df232171ed1408c3a9c8d1a5",
      "parents": [
        "8c320c079cde0286d71368961231e426539868b4"
      ],
      "author": {
        "name": "Mihai Moldovan",
        "email": "ionic@ionic.de",
        "time": "Wed Aug 17 19:10:08 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Aug 17 19:34:59 2011 +0900"
      },
      "message": "fat: fix utf8 iocharset warning message\n\nThe fat_msg function already formats the given message and appends\na newline to it - we don\u0027t need to do this in the passed message\nstring as well, or will end up with a blank line printed in the\nkernel log ring buffer.\n\nAlso change the loglevel from error to warning.\n\nSigned-off-by: Mihai Moldovan \u003cionic@ionic.de\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "8c320c079cde0286d71368961231e426539868b4",
      "tree": "b966c985aa64ee0a0cb2d619e92c3c43251e20f3",
      "parents": [
        "02f8c6aee8df3cdc935e9bdd4f2d020306035dbe"
      ],
      "author": {
        "name": "Jonas Aberg",
        "email": "jonas.aberg@stericsson.com",
        "time": "Wed Aug 17 19:10:06 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Aug 17 19:34:58 2011 +0900"
      },
      "message": "fat: fix build warning\n\nThis fixes a compile warning (unititialized variable) in\nthe fat filesystem code.\n\nSigned-off-by: Jonas Aberg \u003cjonas.aberg@stericsson.com\u003e\nSigned-off-by: Lee Jones \u003clee.jones@linaro.org\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aacfc19c626ebd3daa675652457d71019a1f583f",
      "tree": "9c1cfb5945e939f1ba56b4c0101c211e84e544c0",
      "parents": [
        "df2d6f26586f12a24f3ae5df4e236dc5c08d6eb4"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:47 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:49 2011 -0400"
      },
      "message": "fs: simplify the blockdev_direct_IO prototype\n\nSimple filesystems always pass inode-\u003ei_sb_bdev as the block device\nargument, and never need a end_io handler.  Let\u0027s simply things for\nthem and for my grepping activity by dropping these arguments.  The\nonly thing not falling into that scheme is ext4, which passes and\nend_io handler without needing special flags (yet), but given how\nmessy the direct I/O code there is use of __blockdev_direct_IO\nin one instead of two out of three cases isn\u0027t going to make a large\ndifference anyway.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "562c72aa57c36b178eacc3500a0215651eca9429",
      "tree": "2c522c53ab26fc72e85e08747a08e3dca1207c87",
      "parents": [
        "11b80f459adaf91a712f95e7734a17655a36bf30"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:45 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:47 2011 -0400"
      },
      "message": "fs: move inode_dio_wait calls into -\u003esetattr\n\nLet filesystems handle waiting for direct I/O requests themselves instead\nof doing it beforehand.  This means filesystem-specific locks to prevent\nnew dio referenes from appearing can be held.  This is important to allow\ngeneralizing i_dio_count to non-DIO_LOCKING filesystems.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "582686915803e34adc8fdcd90bff7ca7f6a42221",
      "tree": "5a522cb6dbc41eaac987dbf15a2cbae35b2544cc",
      "parents": [
        "8c5dc70aae29d2571c0f461d69b37e4e6e01ff4c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Jun 24 14:29:40 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:44 2011 -0400"
      },
      "message": "fat: remove i_alloc_sem abuse\n\nAdd a new rw_semaphore to protect bmap against truncate.  Previous\ni_alloc_sem was abused for this, but it\u0027s going away in this series.\n\nNote that we can\u0027t simply use i_mutex, given that the swapon code\ncalls -\u003ebmap under it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9049376ee05bf966bfe2b081b5071326856890a",
      "tree": "efb3cbfc7760537f201bb28dacbb0d39ec39f04c",
      "parents": [
        "0c1aa9a952c3608eb17bf990466f1491d1ee8b6c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Jul 08 21:20:11 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:26 2011 -0400"
      },
      "message": "make d_splice_alias(ERR_PTR(err), dentry) \u003d ERR_PTR(err)\n\n... and simplify the living hell out of callers\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "407938e79edcadba1b5a17cf928584d8a191a8d7",
      "tree": "2d8abfe7d1fb12e6c28370ab44c77516d7b2f3a1",
      "parents": [
        "dd7dd556e45133ef13f2c4bddc0e0b1ac23bc0e4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 25 21:37:18 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:56 2011 -0400"
      },
      "message": "LOOKUP_CREATE and LOOKUP_RENAME_TARGET can be set only on the last step\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1adffbae22332bb558c2a29de19d9aca391869f6",
      "tree": "e20ee9c09c01b69e27af238759862763bfbc6668",
      "parents": [
        "55922c9d1b84b89cb946c777fddccb3247e7df2c"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue May 31 19:38:07 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue May 31 19:42:24 2011 +0900"
      },
      "message": "fat: Fix corrupt inode flags when remove ATTR_SYS flag\n\nWe are clearly missing \u0027~\u0027 in fat_ioctl_set_attributes().\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Dmitry Dmitriev \u003cdimondmm@yandex.ru\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "f4ff0e25c5093dd89e9cac4a8f71a57587ada787",
      "tree": "2c8414420a23d47152a03f283e97d5b3533401b6",
      "parents": [
        "45adfef7d023004ff95bf63b5f2f0e2d88afac3f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 27 13:42:18 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat May 28 01:02:54 2011 -0400"
      },
      "message": "fat: remove unnecessary dentry_unhash on rmdir, dir rename\n\nfat does not have problems with references to unlinked directories.\n\nCC: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "32e51f141fd8d880f57b6a2eb53ce72856254d4a",
      "tree": "d8d7a0d503533a03fb07b2ebd5eccd9043f2d228",
      "parents": [
        "ca16d140af91febe25daeb9e032bf8bd46b8c31f",
        "b6ff24a333267a6810e28ee5b9fc539d149c52f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 09:52:14 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 26 09:52:14 2011 -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: (25 commits)\n  cifs: remove unnecessary dentry_unhash on rmdir/rename_dir\n  ocfs2: remove unnecessary dentry_unhash on rmdir/rename_dir\n  exofs: remove unnecessary dentry_unhash on rmdir/rename_dir\n  nfs: remove unnecessary dentry_unhash on rmdir/rename_dir\n  ext2: remove unnecessary dentry_unhash on rmdir/rename_dir\n  ext3: remove unnecessary dentry_unhash on rmdir/rename_dir\n  ext4: remove unnecessary dentry_unhash on rmdir/rename_dir\n  btrfs: remove unnecessary dentry_unhash in rmdir/rename_dir\n  ceph: remove unnecessary dentry_unhash calls\n  vfs: clean up vfs_rename_other\n  vfs: clean up vfs_rename_dir\n  vfs: clean up vfs_rmdir\n  vfs: fix vfs_rename_dir for FS_RENAME_DOES_D_MOVE filesystems\n  libfs: drop unneeded dentry_unhash\n  vfs: update dentry_unhash() comment\n  vfs: push dentry_unhash on rename_dir into file systems\n  vfs: push dentry_unhash on rmdir into file systems\n  vfs: remove dget() from dentry_unhash()\n  vfs: dentry_unhash immediately prior to rmdir\n  vfs: Block mmapped writes while the fs is frozen\n  ...\n"
    },
    {
      "commit": "e4eaac06bcccb2a70bca6a2de9871882dce2aa14",
      "tree": "ca6736d96294cd6e65a1c3055718bfd5adc7336e",
      "parents": [
        "79bf7c732b5ff75b96022ed9d29181afd3d2509c"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 13:06:07 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 26 07:26:48 2011 -0400"
      },
      "message": "vfs: push dentry_unhash on rename_dir into file systems\n\nOnly a few file systems need this.  Start by pushing it down into each\nrename method (except gfs2 and xfs) so that it can be dealt with on a\nper-fs basis.\n\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "79bf7c732b5ff75b96022ed9d29181afd3d2509c",
      "tree": "74b8cc690f9a37fff02d0685464e1c695a25ef94",
      "parents": [
        "64252c75a2196a0cf1e0d3777143ecfe0e3ae650"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 13:06:06 2011 -0700"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 26 07:26:47 2011 -0400"
      },
      "message": "vfs: push dentry_unhash on rmdir into file systems\n\nOnly a few file systems need this.  Start by pushing it down into each\nfs rmdir method (except gfs2 and xfs) so it can be dealt with on a per-fs\nbasis.\n\nThis does not change behavior for any in-tree file systems.\n\nAcked-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "f68e542f3478147986a9c8958942ec649dc06201",
      "tree": "90b4c8b6a087992a67a15e508b25cc29b14f30fb",
      "parents": [
        "869f58c0cdba3ae6880ab6113617e62672198773"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:08:39 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:12:50 2011 +0900"
      },
      "message": "fat: Fix statfs-\u003ef_namelen\n\npathconf(, _PC_NAME_MAX) is too small for long Unicode filename on fat.\n\n255 as max filename size on fat is Unicode UTF-16 characters.\nit\u0027s not byte size.\n\nhttps://bugzilla.kernel.org/show_bug.cgi?id\u003d16469\n\nTo fix it, this returns \"len * NLS_MAX_CHARSET_SIZE\" instead.\n\nReported-by: Takumi Asaki \u003ctakumi.asaki@nokia.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "869f58c0cdba3ae6880ab6113617e62672198773",
      "tree": "f66f0c256d42f6a853c219bc0e3c74d6db2173eb",
      "parents": [
        "81ac21d34a91e85b029cd86e2ed5eeae8d7c3cd4"
      ],
      "author": {
        "name": "Alexey Fisher",
        "email": "bug-track@fisher-privat.net",
        "time": "Tue Apr 12 21:08:38 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:12:42 2011 +0900"
      },
      "message": "fat: Replace all printk with fat_msg()\n\nReplace all printk with fat_msg()\n\nSigned-off-by: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "81ac21d34a91e85b029cd86e2ed5eeae8d7c3cd4",
      "tree": "ec3319428a074a2d9694844612f6fcbb39e21d53",
      "parents": [
        "2c8a5ffb94bbb4f04aaf8a923e9098fb7a51a75a"
      ],
      "author": {
        "name": "Alexey Fisher",
        "email": "bug-track@fisher-privat.net",
        "time": "Tue Apr 12 21:08:38 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:12:35 2011 +0900"
      },
      "message": "fat: Add fat_msg() function for preformated FAT messages\n\nAdd fat_msg() to replace not cosequent used printk() in fs/fat/*\nNew message format should be as fallow:\nFAT-fs (sda1): some thing happened.\n\nSigned-off-by: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "2c8a5ffb94bbb4f04aaf8a923e9098fb7a51a75a",
      "tree": "75e2506ce7ab465898037672a5c901fd5303a486",
      "parents": [
        "700309295551ef9217e4ae00a5b1d3030fc5438c"
      ],
      "author": {
        "name": "Alexey Fisher",
        "email": "bug-track@fisher-privat.net",
        "time": "Tue Apr 12 21:08:38 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:12:27 2011 +0900"
      },
      "message": "fat: Convert fat_fs_error to use %pV\n\n- convert fat_fs_error to use %pV\n- be consequent and use \"supor_block *sb\" instead of \"supor_block *s\"\n- use devise name in each message.\n\nSigned-off-by: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "700309295551ef9217e4ae00a5b1d3030fc5438c",
      "tree": "8af7a3eb476cac451183caae636cf3d144e1859d",
      "parents": [
        "384f5c96ea05aba24a11172ebd6f5d427ca199fc"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:08:38 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:12:16 2011 +0900"
      },
      "message": "fat: Fix possible null deref in fat_cache_add()\n\nReported-by: \u003cdame_eugene@mail.ru\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "384f5c96ea05aba24a11172ebd6f5d427ca199fc",
      "tree": "08e9b5b70cf2e9fcdde8922df660b9fdd5a6da5e",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:08:37 2011 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Apr 12 21:12:00 2011 +0900"
      },
      "message": "fat: use new setup() for -\u003edir_ops too\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "6c5103890057b1bb781b26b7aae38d33e4c517d8",
      "tree": "e6e57961dcddcb5841acb34956e70b9dc696a880",
      "parents": [
        "3dab04e6978e358ad2307bca563fabd6c5d2c58b",
        "9d2e157d970a73b3f270b631828e03eb452d525e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 24 10:16:26 2011 -0700"
      },
      "message": "Merge branch \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.39/core\u0027 of git://git.kernel.dk/linux-2.6-block: (65 commits)\n  Documentation/iostats.txt: bit-size reference etc.\n  cfq-iosched: removing unnecessary think time checking\n  cfq-iosched: Don\u0027t clear queue stats when preempt.\n  blk-throttle: Reset group slice when limits are changed\n  blk-cgroup: Only give unaccounted_time under debug\n  cfq-iosched: Don\u0027t set active queue in preempt\n  block: fix non-atomic access to genhd inflight structures\n  block: attempt to merge with existing requests on plug flush\n  block: NULL dereference on error path in __blkdev_get()\n  cfq-iosched: Don\u0027t update group weights when on service tree\n  fs: assign sb-\u003es_bdi to default_backing_dev_info if the bdi is going away\n  block: Require subsystems to explicitly allocate bio_set integrity mempool\n  jbd2: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  jbd: finish conversion from WRITE_SYNC_PLUG to WRITE_SYNC and explicit plugging\n  fs: make fsync_buffers_list() plug\n  mm: make generic_writepages() use plugging\n  blk-cgroup: Add unaccounted time to timeslice_used.\n  block: fixup plugging stubs for !CONFIG_BLOCK\n  block: remove obsolete comments for blkdev_issue_zeroout.\n  blktrace: Use rq-\u003ecmd_flags directly in blk_add_trace_rq.\n  ...\n\nFix up conflicts in fs/{aio.c,super.c}\n"
    },
    {
      "commit": "5fe0c2378884e68beb532f5890cc0e3539ac747b",
      "tree": "be25414052184e146049ea6466854366559d5528",
      "parents": [
        "c8b91accfa1059d5565443193d89572eca2f5dd6"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sat Jan 29 18:43:25 2011 +0530"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Mar 14 09:15:28 2011 -0400"
      },
      "message": "exportfs: Return the minimum required handle size\n\nThe exportfs encode handle function should return the minimum required\nhandle size. This helps user to find out the handle size by passing 0\nhandle size in the first step and then redoing to the call again with\nthe returned handle size value.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9177ada99d5e69fe91950b3ef5c23f2bcd109987",
      "tree": "4de42636f1c2dd2f6a230d48c6c5ef507026ec7c",
      "parents": [
        "8ce84eeb5b40da21f20174dd25891a8409534237"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 10 03:45:49 2011 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Mar 10 03:45:49 2011 -0500"
      },
      "message": "fat: fix d_revalidate oopsen on NFS exports\n\ncan\u0027t blindly check nd-\u003eflags in -\u003ed_revalidate()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "3d23985d6cfa7908e46fd0c62a2ee84faffe4d8b",
      "tree": "5561a4f3eb3ef265de2b6d224194ff58b713fe0a",
      "parents": [
        "6cc9c1d2c1414ef67f465462aa96a5d1fed12f5d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Dec 18 10:44:00 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 12 20:02:43 2011 -0500"
      },
      "message": "switch fat to -\u003es_d_op, close exportfs races there\n\ndon\u0027t bother with lock_super() in fat_fill_super() callers, while\nwe are at it - there won\u0027t be any concurrency anyway.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "34286d6662308d82aed891852d04c7c3a2649b16",
      "tree": "c4b7311404d302e7cb94df7a4690298e1059910a",
      "parents": [
        "44a7d7a878c9cbb74f236ea755b25b6b2e26a9a9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:57 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: rcu-walk aware d_revalidate method\n\nRequire filesystems be aware of .d_revalidate being called in rcu-walk\nmode (nd-\u003eflags \u0026 LOOKUP_RCU). For now do a simple push down, returning\n-ECHILD from all implementations.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fa0d7e3de6d6fc5004ad9dea0dd6b286af8f03e9",
      "tree": "203e0f73883e4c26b5597e36042386a1237dab35",
      "parents": [
        "77812a1ef139d84270d27faacc0630c887411013"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:49 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:26 2011 +1100"
      },
      "message": "fs: icache RCU free inodes\n\nRCU free the struct inode. This will allow:\n\n- Subsequent store-free path walking patch. The inode must be consulted for\n  permissions when walking, so an RCU inode reference is a must.\n- sb_inode_list_lock to be moved inside i_lock because sb list walkers who want\n  to take i_lock no longer need to take sb_inode_list_lock to walk the list in\n  the first place. This will simplify and optimize locking.\n- Could remove some nested trylock loops in dcache code\n- Could potentially simplify things a bit in VM land. Do not need to take the\n  page lock to follow page-\u003emapping.\n\nThe downsides of this is the performance cost of using RCU. In a simple\ncreat/unlink microbenchmark, performance drops by about 10% due to inability to\nreuse cache-hot slab objects. As iterations increase and RCU freeing starts\nkicking over, this increases to about 20%.\n\nIn cases where inode lifetimes are longer (ie. many inodes may be allocated\nduring the average life span of a single inode), a lot of this cache reuse is\nnot applicable, so the regression caused by this patch is smaller.\n\nThe cache-hot regression could largely be avoided by using SLAB_DESTROY_BY_RCU,\nhowever this adds some complexity to list walking and store-free path walking,\nso I prefer to implement this at a later date, if it is shown to be a win in\nreal situations. I haven\u0027t found a regression in any non-micro benchmark so I\ndoubt it will be a problem.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b1e6a015a580ad145689ad1d6b4aa0e03e6c868b",
      "tree": "57a10ef164e4d2f798d9b832dbeaf973aca2ab83",
      "parents": [
        "621e155a3591962420eacdd39f6f0aa29ceb221e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:28 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:20 2011 +1100"
      },
      "message": "fs: change d_hash for rcu-walk\n\nChange d_hash so it may be called from lock-free RCU lookups. See similar\npatch for d_compare for details.\n\nFor in-tree filesystems, this is just a mechanical change.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "621e155a3591962420eacdd39f6f0aa29ceb221e",
      "tree": "387a9fb396f1bf24514b712c294182e36ba51076",
      "parents": [
        "fb2d5b86aff355a27ebfc132d3c99f4a940cc3fe"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:27 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:19 2011 +1100"
      },
      "message": "fs: change d_compare for rcu-walk\n\nChange d_compare so it may be called from lock-free RCU lookups. This\ndoes put significant restrictions on what may be done from the callback,\nhowever there don\u0027t seem to have been any problems with in-tree fses.\nIf some strange use case pops up that _really_ cannot cope with the\nrcu-walk rules, we can just add new rcu-unaware callbacks, which would\ncause name lookup to drop out of rcu-walk mode.\n\nFor in-tree filesystems, this is just a mechanical change.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "152a08366671080f27b32e0c411ad620c5f88b57",
      "tree": "d13d16028f74839c678bce355ba8aac75d939fa8",
      "parents": [
        "c96e41e92b4aaf11e1f9775ecf0d1c8cbff829ed"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 25 00:46:55 2010 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 29 04:16:13 2010 -0400"
      },
      "message": "new helper: mount_bdev()\n\n... and switch of the obvious get_sb_bdev() users to -\u003emount()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a2887097f25cd38cadfc11d10769e2b349fb5eca",
      "tree": "cd4adcb305365d6ba9acd2c02d4eb9d0125c6f8d",
      "parents": [
        "8abfc6e7a45eb74e51904bbae676fae008b11366",
        "005a1d15f5a6b2bb4ada80349513effbf22b4588"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:07:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:07:18 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.37/barrier\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.37/barrier\u0027 of git://git.kernel.dk/linux-2.6-block: (46 commits)\n  xen-blkfront: disable barrier/flush write support\n  Added blk-lib.c and blk-barrier.c was renamed to blk-flush.c\n  block: remove BLKDEV_IFL_WAIT\n  aic7xxx_old: removed unused \u0027req\u0027 variable\n  block: remove the BH_Eopnotsupp flag\n  block: remove the BLKDEV_IFL_BARRIER flag\n  block: remove the WRITE_BARRIER flag\n  swap: do not send discards as barriers\n  fat: do not send discards as barriers\n  ext4: do not send discards as barriers\n  jbd2: replace barriers with explicit flush / FUA usage\n  jbd2: Modify ASYNC_COMMIT code to not rely on queue draining on barrier\n  jbd: replace barriers with explicit flush / FUA usage\n  nilfs2: replace barriers with explicit flush / FUA usage\n  reiserfs: replace barriers with explicit flush / FUA usage\n  gfs2: replace barriers with explicit flush / FUA usage\n  btrfs: replace barriers with explicit flush / FUA usage\n  xfs: replace barriers with explicit flush / FUA usage\n  block: pass gfp_mask and flags to sb_issue_discard\n  dm: convey that all flushes are processed as empty\n  ...\n"
    },
    {
      "commit": "3768744cfea7b995dce27f02341161fbfdfee80c",
      "tree": "29655ece93aa751f2f9ff98e21b840b5b80b91c0",
      "parents": [
        "3e44f9f1dc19e2b8d4f7ca3b3c63e976b22ad372"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Sep 14 23:07:27 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:45 2010 +0200"
      },
      "message": "BKL: Remove BKL from fat\n\nThe lock_kernel in fat_put_super is not needed because\nit only protects the super block itself and we know that\nno other thread can reach it because we are about to\nkfree the object.\n\nIn the two fill_super functions, this converts the locking\nto use lock_super like elsewhere in the fat code. This\nis probably not needed either, but is consistent and puts\nus on the safe side.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Jan Blunck \u003cjblunck@infradead.org\u003e\n"
    },
    {
      "commit": "db71922217a214e5c9268448e537b54fc1f301ea",
      "tree": "9c9afbf29411547891f6968e5ade29ce59d66c07",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Jan Blunck",
        "email": "jblunck@infradead.org",
        "time": "Sun Aug 15 22:51:10 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon Oct 04 21:10:10 2010 +0200"
      },
      "message": "BKL: Explicitly add BKL around get_sb/fill_super\n\nThis patch is a preparation necessary to remove the BKL from do_new_mount().\nIt explicitly adds calls to lock_kernel()/unlock_kernel() around\nget_sb/fill_super operations for filesystems that still uses the BKL.\n\nI\u0027ve read through all the code formerly covered by the BKL inside\ndo_kern_mount() and have satisfied myself that it doesn\u0027t need the BKL\nany more.\n\ndo_kern_mount() is already called without the BKL when mounting the rootfs\nand in nfsctl. do_kern_mount() calls vfs_kern_mount(), which is called\nfrom various places without BKL: simple_pin_fs(), nfs_do_clone_mount()\nthrough nfs_follow_mountpoint(), afs_mntpt_do_automount() through\nafs_mntpt_follow_link(). Both later functions are actually the filesystems\nfollow_link inode operation. vfs_kern_mount() is calling the specified\nget_sb function and lets the filesystem do its job by calling the given\nfill_super function.\n\nTherefore I think it is safe to push down the BKL from the VFS to the\nlow-level filesystems get_sb/fill_super operation.\n\n[arnd: do not add the BKL to those file systems that already\n       don\u0027t use it elsewhere]\n\nSigned-off-by: Jan Blunck \u003cjblunck@infradead.org\u003e\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "dd3932eddf428571762596e17b65f5dc92ca361b",
      "tree": "57cec5ae2f862037f78b7e993323d77955bb6463",
      "parents": [
        "8786fb70ccb36c7cff64680bb80c46d3a09d44db"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Thu Sep 16 20:51:46 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Sep 16 20:52:58 2010 +0200"
      },
      "message": "block: remove BLKDEV_IFL_WAIT\n\nAll the blkdev_issue_* helpers can only sanely be used for synchronous\ncaller.  To issue cache flushes or barriers asynchronously the caller needs\nto set up a bio by itself with a completion callback to move the asynchronous\nstate machine ahead.  So drop the BLKDEV_IFL_WAIT flag that is always\nspecified when calling blkdev_issue_* and also remove the now unused flags\nargument to blkdev_issue_flush and blkdev_issue_zeroout.  For\nblkdev_issue_discard we need to keep it for the secure discard flag, which\ngains a more descriptive name and loses the bitops vs flag confusion.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "0edd55faea7c8081bc826234b917501738a6218f",
      "tree": "36a7add738bf47ce960d499f4cc96b38c5194c25",
      "parents": [
        "8c5553678237b7121355108e03c36086037d8975"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 18 05:29:23 2010 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 10 12:35:40 2010 +0200"
      },
      "message": "block: remove the BH_Eopnotsupp flag\n\nThis flag was only set for barrier buffers, which we don\u0027t submit\nanymore.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "e045db80d07250312500b2ed707b84dc703189d6",
      "tree": "f8836dca5ac013bd400e4d9ea9f6ab96976284ed",
      "parents": [
        "61002f7db33c7d064cddcdab680fb750fa43d8fd"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 18 05:29:19 2010 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 10 12:35:39 2010 +0200"
      },
      "message": "fat: do not send discards as barriers\n\nfat already uses synchronous discards, no need to add I/O barriers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "2cf6d26a354ab6362e301b5a323832b02867df47",
      "tree": "dcc84f3422df777baa85f54870cda613262e74ca",
      "parents": [
        "b372d360df6deaf79a58a02fa0cc0d7e0aa3e92f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Aug 18 05:29:10 2010 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Fri Sep 10 12:35:38 2010 +0200"
      },
      "message": "block: pass gfp_mask and flags to sb_issue_discard\n\nWe\u0027ll need to get rid of the BLKDEV_IFL_BARRIER flag, and to facilitate\nthat and to make the interface less confusing pass all flags explicitly.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "9cb569d601e0b93e01c20a22872270ec663b75f6",
      "tree": "80b2568fae48018806e82f8884062dae8a5494ae",
      "parents": [
        "87e99511ea54510ffb60b98001d108794d5037f8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Aug 11 17:06:24 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 01:09:01 2010 -0400"
      },
      "message": "remove SWRITE* I/O types\n\nThese flags aren\u0027t real I/O types, but tell ll_rw_block to always\nlock the buffer instead of giving up on a failed trylock.\n\nInstead add a new write_dirty_buffer helper that implements this semantic\nand use it from the existing SWRITE* callers.  Note that the ll_rw_block\ncode had a bug where it didn\u0027t promote WRITE_SYNC_PLUG properly, which\nthis patch fixes.\n\nIn the ufs code clean up the helper that used to call ll_rw_block\nto mirror sync_dirty_buffer, which is the function it implements for\ncompound buffers.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "deee3ce466a3e2cfb54c93b8fd22bbccd19ea7d6",
      "tree": "e8335cb5ae3c3ee5ff9395b880e88d30c76a033e",
      "parents": [
        "d3b4f9ae184b0a3982dbe000ddf88952f090dc28"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 05 19:28:32 2010 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:48:01 2010 -0400"
      },
      "message": "covert fatfs to -\u003eevict_inode()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c27c65ed0696f0b5df2dad2cf6462d72164d547",
      "tree": "7d9036e3dea98938f7fd7074366ee73929e9b2e5",
      "parents": [
        "db78b877f7744bec4a9d9f9e7d10da3931d7cd39"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:04 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:39 2010 -0400"
      },
      "message": "check ATTR_SIZE contraints in inode_change_ok\n\nMake sure we check the truncate constraints early on in -\u003esetattr by adding\nthose checks to inode_change_ok.  Also clean up and document inode_change_ok\nto make this obvious.\n\nAs a fallout we don\u0027t have to call inode_newsize_ok from simple_setsize and\nsimplify it down to a truncate_setsize which doesn\u0027t return an error.  This\nsimplifies a lot of setattr implementations and means we use truncate_setsize\nalmost everywhere.  Get rid of fat_setsize now that it\u0027s trivial and mark\next2_setsize static to make the calling convention obvious.\n\nKeep the inode_newsize_ok in vmtruncate for now as all callers need an\naudit for its removal anyway.\n\nNote: setattr code in ecryptfs doesn\u0027t call inode_change_ok at all and\nneeds a deeper audit, but that is left for later.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "db78b877f7744bec4a9d9f9e7d10da3931d7cd39",
      "tree": "fd9ee2fbe0998218b6d90322f85b285887e6fe9d",
      "parents": [
        "1025774ce411f2bd4b059ad7b53f0003569b74fa"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:03 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:38 2010 -0400"
      },
      "message": "always call inode_change_ok early in -\u003esetattr\n\nMake sure we call inode_change_ok before doing any changes in -\u003esetattr,\nand make sure to call it even if our fs wants to ignore normal UNIX\npermissions, but use the ATTR_FORCE to skip those.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6a1a90ad1b0edb556a7550a6ef8a8756f0304dd5",
      "tree": "234488533d89e3f8b938823c2071be19e66e1b4b",
      "parents": [
        "d39aae9ec447dda84d9a2850743a78a535a71c90"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:30:00 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:35 2010 -0400"
      },
      "message": "rename generic_setattr\n\nDespite its name it\u0027s now a generic implementation of -\u003esetattr, but\nrather a helper to copy attributes from a struct iattr to the inode.\nRename it to setattr_copy to reflect this fact.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "282dc178849882289d30e58b54be6b2799b351aa",
      "tree": "4c6697cdf2d914889e002f32af6bf51bb2750063",
      "parents": [
        "ea0f04e59543bafb3d2cbe37a0d375acb0bb2c34"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:55 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:31 2010 -0400"
      },
      "message": "get rid of cont_write_begin_newtrunc\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin preparation of the new truncate sequence and rename the non-truncating\nversion to cont_write_begin.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eafdc7d190a944c755a9fe68573c193e6e0217e7",
      "tree": "915c3cc8004706fabf88eae1ab123a3fa0147516",
      "parents": [
        "256249584bda1a9357e2d29987a37f5b2df035f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Jun 04 11:29:53 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 09 16:47:29 2010 -0400"
      },
      "message": "sort out blockdev_direct_IO variants\n\nMove the call to vmtruncate to get rid of accessive blocks to the callers\nin prepearation of the new truncate calling sequence.  This was only done\nfor DIO_LOCKING filesystems, so the __blockdev_direct_IO_newtrunc variant\nwas not needed anyway.  Get rid of blockdev_direct_IO_no_locking and\nits _newtrunc variant while at it as just opencoding the two additional\nparamters is shorted than the name suffix.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "459f6ed3b8c74cedeb64e5a854394c0d40eda9cd",
      "tree": "296049a8ea7aa7ee6753c1fdc0e539739c257301",
      "parents": [
        "737f2e93b9724a3554f9d0b248c22cd407313f86"
      ],
      "author": {
        "name": "npiggin@suse.de",
        "email": "npiggin@suse.de",
        "time": "Thu May 27 01:05:38 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:16:02 2010 -0400"
      },
      "message": "fat: convert to use the new truncate convention.\n\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1b061d9247f71cd15edc4c4c4600191a903642c0",
      "tree": "30d92ca82d8286e7a45fba108230ecd23e61673b",
      "parents": [
        "7ea8085910ef3dd4f3cad6845aaa2b580d39b115"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:41 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:06:06 2010 -0400"
      },
      "message": "rename the generic fsync implementations\n\nWe don\u0027t name our generic fsync implementations very well currently.\nThe no-op implementation for in-memory filesystems currently is called\nsimple_sync_file which doesn\u0027t make too much sense to start with,\nthe the generic one for simple filesystems is called simple_fsync\nwhich can lead to some confusion.\n\nThis patch renames the generic file fsync method to generic_file_fsync\nto match the other generic_file_* routines it is supposed to be used\nwith, and the no-op implementation to noop_fsync to make it obvious\nwhat to expect.  In addition add some documentation for both methods.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aaa04b4875f30659a0eb429e0e5203ae7fb7b18e",
      "tree": "7a7e71455e8e318f08d03748b528fbffca853bfa",
      "parents": [
        "f40c396a9ab04eae526990e2b2cef875b424ed4e"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon May 24 14:33:12 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "fatfs: ratelimit corruption report\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e766fd41ddc31c47ec5b2840c6a45803d35ff40",
      "tree": "f007442f20757918aa024dda848baa7670baa580",
      "parents": [
        "4fd5ec509bd486b5dd8cac1a4d4d7e2cbdf7c546",
        "7845bc3e132605e3e8a1f37748e29281164b65f5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:41:47 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 24 07:41:47 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: convert to unlocked_ioctl\n  fat: Cleanup nls_unload() usage\n  fat: use pack_hex_byte() instead of custom one\n"
    },
    {
      "commit": "7845bc3e132605e3e8a1f37748e29281164b65f5",
      "tree": "a6437b673ed42e498fd89917ac3e0aa9a5fb678e",
      "parents": [
        "1bdb6f9199def1c3538c18089e499f5df5ff1747"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Mon May 17 08:13:47 2010 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Mon May 17 08:16:12 2010 +0900"
      },
      "message": "fat: convert to unlocked_ioctl\n\nFAT does not require the BKL in its ioctl function, which is already serialized\nthrough a mutex. Since we\u0027re already touching the ioctl code, also fix the\nmissing handling of FAT_IOCTL_GET_ATTRIBUTES in the compat code.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "336f5899d287f06d8329e208fc14ce50f7ec9698",
      "tree": "9b762d450d5eb248a6ff8317badb7e223d93ed58",
      "parents": [
        "a4ab2773205e8b94c18625455f85e3b6bb9d7ad6",
        "db217dece3003df0841bacf9556b5c06aa097dae"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Apr 05 11:37:28 2010 +0900"
      },
      "message": "Merge branch \u0027master\u0027 into export-slabh\n"
    },
    {
      "commit": "30d1872d9eb3663b4cf7bdebcbf5cd465674cced",
      "tree": "e3771c93ad38ad5e8f9d8c70a0915afb81423545",
      "parents": [
        "2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6"
      ],
      "author": {
        "name": "Nikolaus Schulz",
        "email": "microschulz@web.de",
        "time": "Thu Apr 01 02:21:10 2010 +0900"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 31 10:34:11 2010 -0700"
      },
      "message": "fat: fix buffer overflow in vfat_create_shortname()\n\nWhen using the string representation of a random counter as part of the base\nname, ensure that it is no longer than 4 bytes.\n\nSince we are repeatedly decrementing the counter in a loop until we have found a\nunique base name, the counter may wrap around zero; therefore, it is not enough\nto mask its higher bits before entering the loop, this must be done inside the\nloop.\n\n[hirofumi@mail.parknet.co.jp: use snprintf()]\nSigned-off-by: Nikolaus Schulz \u003cmicroschulz@web.de\u003e\nCc: stable@kernel.org\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "1bdb6f9199def1c3538c18089e499f5df5ff1747",
      "tree": "ce7317cebdb4881fb84080e17027f2122be9268f",
      "parents": [
        "3ed3dec1568d1232fcfb2aa8c5f9e3f38940c9d8"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Mar 16 05:48:09 2010 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Mar 16 05:49:05 2010 +0900"
      },
      "message": "fat: Cleanup nls_unload() usage\n\nOther users doesn\u0027t check NULL explicitly. So, these doesn\u0027t also\ncheck to remove inconsistency.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "3ed3dec1568d1232fcfb2aa8c5f9e3f38940c9d8",
      "tree": "c13f22940cc8bd4bfd7c214354b218dd675a259e",
      "parents": [
        "a3d3203e4bb40f253b1541e310dc0f9305be7c84"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "ext-andriy.shevchenko@nokia.com",
        "time": "Tue Mar 16 05:48:08 2010 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Mar 16 05:49:01 2010 +0900"
      },
      "message": "fat: use pack_hex_byte() instead of custom one\n\nSigned-off-by: Andy Shevchenko \u003cext-andriy.shevchenko@nokia.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "9d85929fefd040ca84a5e04ee704d043efcc3c2e",
      "tree": "34cdd0f79f656962fe0aada6b603620a6afc294a",
      "parents": [
        "6db823cf4b44f235b5e1da8ec1fe3c3cd63647fe",
        "eeb5b4ae81f4a750355fa0c15f4fea22fdf83be1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:35:21 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 16:35:21 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: Fix stat-\u003ef_namelen\n  fat: Fix vfat_lookup()\n"
    },
    {
      "commit": "a9185b41a4f84971b930c519f0c63bd450c4810d",
      "tree": "268cf4e206cca12fb9e1dd68984e7c190e465b46",
      "parents": [
        "26821ed40b4230259e770c9911180f38fcaa6f59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:37 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:52 2010 -0500"
      },
      "message": "pass writeback_control to -\u003ewrite_inode\n\nThis gives the filesystem more information about the writeback that\nis happening.  Trond requested this for the NFS unstable write handling,\nand other filesystems might benefit from this too by beeing able to\ndistinguish between the different callers in more detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "eeb5b4ae81f4a750355fa0c15f4fea22fdf83be1",
      "tree": "d71cdc178b8643a5ddced54dc540403d11af9fa1",
      "parents": [
        "8045e2985012bdb95d832dfbcceae1815880a6ed"
      ],
      "author": {
        "name": "Kevin Dankwardt",
        "email": "k@kcomputing.com",
        "time": "Wed Feb 10 23:43:40 2010 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Wed Feb 10 23:49:08 2010 +0900"
      },
      "message": "fat: Fix stat-\u003ef_namelen\n\nI found that the length of a file name when created cannot exceed 255\ncharacters, yet, pathconf(), via statfs(), returns the maximum as 260.\n\nSigned-off-by: Kevin Dankwardt \u003ck@kcomputing.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "8045e2985012bdb95d832dfbcceae1815880a6ed",
      "tree": "513a853a81eee10f86047b681bf52132592b36b9",
      "parents": [
        "3c8ad49b015eb115fbd6982f56d530f53cf57f84"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Jan 12 03:32:24 2010 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Tue Jan 12 03:47:25 2010 +0900"
      },
      "message": "fat: Fix vfat_lookup()\n\nAfter d_find_alias(), vfat_lookup() checks !(-\u003ed_flags \u0026 DCACHE_DISCONNECTED)\nwithout IS_ROOT().  This means it hits non-anonymous but disconnected\ndentry. (NOTE: d_splice_alias() doesn\u0027t clear DCACHE_DISCONNECTED)\n\nBut, vfat_lookup() has interest to alias if it was non-anonymous. So,\nthis adds vfat_d_anon_disconn() helper to check it correctly.\n\nAnother bug is refcnt leak. It needs dput() for uninterested alias.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "337e4a1ab4d736b8c39a4c3a233ac21f1a6c036f",
      "tree": "20c58600b42600b8f62f3cfb63fc62b1a7fbc78c",
      "parents": [
        "7949456b1b96924c2d9ae5aea5fa7d4c81c946ed",
        "681142f9211b23e6aa2984259d38b76d7bdc05a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:29:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 10:29:26 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: make discard a mount option\n"
    },
    {
      "commit": "1d81a181e07cec584d1ab142eb921addc81d9b73",
      "tree": "5f8c19f08d4634c519e13b2a1de1399a9fa6bfaf",
      "parents": [
        "f4c54fcf3ae6bdc0abf4e777a9499e2581bc8e94"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Tue Dec 15 16:46:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 16 07:20:06 2009 -0800"
      },
      "message": "fatfs: use common time_to_tm in fat_time_unix2fat()\n\nIt is not necessary to write custom code for convert calendar time to\nbroken-down time.  time_to_tm() is more generic to do that.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "681142f9211b23e6aa2984259d38b76d7bdc05a8",
      "tree": "cad526094c576b74eb12b0cdb1b497bbb4765128",
      "parents": [
        "a8a8a669ea13d792296737505adc43ccacf3a648"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Nov 21 20:28:52 2009 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Nov 21 20:36:52 2009 +0900"
      },
      "message": "fat: make discard a mount option\n\nCurrently shipping discard capable SSDs and arrays have rather sub-optimal\nimplementations of the command and can the use of it can cause massive\nslowdowns.  Make issueing these commands option as it\u0027s already in btrfs\nand gfs2.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n[hirofumi@mail.parknet.co.jp: tweaks, and add \"discard\" to fat_show_options]\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "4c8f1cb266cba4d1052f524d04df839d8f732ace",
      "tree": "4bf2e6bcc56dcce2c919bca969f6626c8f18b7e6",
      "parents": [
        "9c1fe834c1bd7725b411055c66886b64c928083d",
        "ed248b290da7297c9b9a3ff180f5eee4db016224"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 09:31:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 30 09:31:14 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: Check s_dirt in fat_sync_fs()\n  vfat: change the default from shortname\u003dlower to shortname\u003dmixed\n  fat/nls: Fix handling of utf8 invalid char\n"
    },
    {
      "commit": "6d729e44a55547c009d7a87ea66bff21a8e0afea",
      "tree": "c27e69babb9b397ad56cb20a935b75c35ceb364f",
      "parents": [
        "4504230a71566785a05d3e6b53fa1ee071b864eb"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Aug 16 21:05:08 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Sep 24 07:47:42 2009 -0400"
      },
      "message": "fs: Make unload_nls() NULL pointer safe\n\nMost call sites of unload_nls() do:\n\tif (nls)\n\t\tunload_nls(nls);\n\nCheck the pointer inside unload_nls() like we do in kfree() and\nsimplify the call sites.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Steve French \u003csfrench@us.ibm.com\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Petr Vandrovec \u003cvandrove@vc.cvut.cz\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ed248b290da7297c9b9a3ff180f5eee4db016224",
      "tree": "86793695dccd8ff8e6973f546da0020964717534",
      "parents": [
        "955234755ce4a2c33cfc558912aa8f2148cc1fc6"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Sep 20 01:31:58 2009 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sun Sep 20 01:35:25 2009 +0900"
      },
      "message": "fat: Check s_dirt in fat_sync_fs()\n\nIf we didn\u0027t check sb-\u003es_dirt, it will update the FSINFO\nunconditionally. It will reduce the filetime of flash base device.\n\nSo, this checks sb-\u003es_dirt. sb-\u003es_dirt is racy, however FSINFO is just\nhint. So even if there is race, and we hit it, it would not become big\nproblem.\n\nAnd this also is as workaround of suspend problem.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "2f3d675bcd4a84251d6e8eea8096ec8fc795e5d6",
      "tree": "3b186e4960d4553fac577be5f1def6d17196beca",
      "parents": [
        "aa3caafe53cab7ef60605e481cd5d7943e1c3022"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 17:00:02 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:17 2009 +0200"
      },
      "message": "fat: Opencode sync_page_range_nolock()\n\nfat_cont_expand() is the only user of sync_page_range_nolock(). It\u0027s also the\nonly user of generic_osync_inode() which does not have a file open.  So\nopencode needed actions for FAT so that we can convert generic_osync_inode() to\na standard syncing path.\n\nUpdate a comment about generic_osync_inode().\n\nCC: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "955234755ce4a2c33cfc558912aa8f2148cc1fc6",
      "tree": "bf9e870da7ebcf5e9459e4109fc81cb21246441f",
      "parents": [
        "67638e4043083cdc6f10386a75fef87ba46eecb3"
      ],
      "author": {
        "name": "Paul Wise",
        "email": "pabs3@bonedaddy.net",
        "time": "Sat Aug 01 21:30:31 2009 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Aug 01 21:35:25 2009 +0900"
      },
      "message": "vfat: change the default from shortname\u003dlower to shortname\u003dmixed\n\nBecause, with \"shortname\u003dlower\", copying one FAT filesystem tree to\nanother FAT filesystem tree using Linux results in semantically\ndifferent filesystems. (E.g.: Filenames which were once \"all\nuppercase\" are now \"all lowercase\").\n\nSo, this changes the default of \"shortname\u003dlower\" to \"shortname\u003dmixed\".\n\nSigned-off-by: Paul Wise \u003cpabs3@bonedaddy.net\u003e\n[change fat_show_options()]\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "67638e4043083cdc6f10386a75fef87ba46eecb3",
      "tree": "4bf3c4ba8e5c316f7dcf98083b1a851ce248a2ee",
      "parents": [
        "ed680c4ad478d0fee9740f7d029087f181346564"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Aug 01 21:30:31 2009 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Aug 01 21:35:21 2009 +0900"
      },
      "message": "fat/nls: Fix handling of utf8 invalid char\n\nWith utf8 option, vfat allowed the duplicated filenames.\n\nNormal nls returns -EINVAL for invalid char. But utf8s_to_utf16s()\nskipped the invalid char historically.\n\nSo, this changes the utf8s_to_utf16s() directly to return -EINVAL for\ninvalid char, because vfat is only user of it.\n\nmkdir /mnt/fatfs\nFILENAME\u003d`echo -ne \"invalidutf8char_\\\\0341_endofchar\"`\necho \"Using filename: $FILENAME\"\ndd if\u003d/dev/zero of\u003dfatfs bs\u003d512 count\u003d128\nmkdosfs -F 32 fatfs\nmount -o loop,utf8 fatfs /mnt/fatfs\ntouch \"/mnt/fatfs/$FILENAME\"\numount /mnt/fatfs\nmount -o loop,utf8 fatfs /mnt/fatfs\ntouch \"/mnt/fatfs/$FILENAME\"\nls -l /mnt/fatfs\numount /mnt/fatfs\n\n----  And the output is:\n\nUsing filename: invalidutf8char_\\0341_endofchar\n128+0 records in\n128+0 records out\n65536 bytes (66 kB) copied, 0.000388118 s, 169 MB/s\nmkdosfs 2.11 (12 Mar 2005)\ntotal 0\n-rwxr-xr-x 1 root root 0 Jun 28 19:46 invalidutf8char__endofchar\n-rwxr-xr-x 1 root root 0 Jun 28 19:46 invalidutf8char__endofchar\n\nTested-by: Marton Balint \u003ccus@fazekas.hu\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "405f55712dfe464b3240d7816cc4fe4174831be2",
      "tree": "96c425ea7fa8b31058b8f83a433c5e5265c8ebc7",
      "parents": [
        "f9fabcb58a6d26d6efde842d1703ac7cfa9427b6"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jul 11 22:08:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 12 12:22:34 2009 -0700"
      },
      "message": "headers: smp_lock.h redux\n\n* Remove smp_lock.h from files which don\u0027t need it (including some headers!)\n* Add smp_lock.h to files which do need it\n* Make smp_lock.h include conditional in hardirq.h\n  It\u0027s needed only for one kernel_locked() usage which is under CONFIG_PREEMPT\n\n  This will make hardirq.h inclusion cheaper for every PREEMPT\u003dn config\n  (which includes allmodconfig/allyesconfig, BTW)\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8aa7e847d834ed937a9ad37a0f2ad5b8584c1ab0",
      "tree": "76c8b4f1362a928d426f2201790ab5d128f57724",
      "parents": [
        "c2cc49a2f8a479dde96a599646d30b6cc9dbed78"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 09 14:52:32 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.(none)",
        "time": "Fri Jul 10 20:31:53 2009 +0200"
      },
      "message": "Fix congestion_wait() sync/async vs read/write confusion\n\nCommit 1faa16d22877f4839bd433547d770c676d1d964c accidentally broke\nthe bdi congestion wait queue logic, causing us to wait on congestion\nfor WRITE (\u003d\u003d 1) when we really wanted BLK_RW_ASYNC (\u003d\u003d 0) instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3e107603aecf886e1e5bda9dacbd9796eb2a2171",
      "tree": "bb31c00228ee523fd9a064332956f20757d73824",
      "parents": [
        "fb20871a54961b82d35303b43452928186c1361d"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Jun 20 21:50:07 2009 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Sat Jun 20 21:50:47 2009 +0900"
      },
      "message": "fat: Fix the removal of opts-\u003efs_dmask\n\n(ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48: New helper - current_umask())\nis removing the opts-\u003efs_dmask, probably it\u0027s a cut-and-paste\nmiss or something.\n\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "e1f5b94fd0c93c3e27ede88b7ab652d086dc960f",
      "tree": "e8de7a132eb88521dd1c19e128eba2d5349bdf4f",
      "parents": [
        "6fd03301d76bc439382710e449f58efbb233df1b",
        "1b6ed69f974f6f32c8be0d9a7fc952822eb83b6f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 13:06:10 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)\n  USB: xhci depends on PCI.\n  USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.\n  USB: xhci: Respect critical sections.\n  USB: xHCI: Fix interrupt moderation.\n  USB: xhci: Remove packed attribute from structures.\n  usb; xhci: Fix TRB offset calculations.\n  USB: xhci: replace if-elseif-else with switch-case\n  USB: xhci: Make xhci-mem.c include linux/dmapool.h\n  USB: xhci: drop spinlock in xhci_urb_enqueue() error path.\n  USB: Change names of SuperSpeed ep companion descriptor structs.\n  USB: xhci: Avoid compiler reordering in Link TRB giveback.\n  USB: xhci: Clean up xhci_irq() function.\n  USB: xhci: Avoid global namespace pollution.\n  USB: xhci: Fix Link TRB handoff bit twiddling.\n  USB: xhci: Fix register write order.\n  USB: xhci: fix some compiler warnings in xhci.h\n  USB: xhci: fix lots of compiler warnings.\n  USB: xhci: use xhci_handle_event instead of handle_event\n  USB: xhci: URB cancellation support.\n  USB: xhci: Scatter gather list support for bulk transfers.\n  ...\n"
    }
  ],
  "next": "23059a0df5fad3d83b9a21fc2696a39148f49617"
}
