)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "23059a0df5fad3d83b9a21fc2696a39148f49617",
      "tree": "c23275fb1d4f6b4990d38c01344770c2d10f8e71",
      "parents": [
        "4858704da75ba84ce21e6d4b3b974e8b8594c9f2",
        "21bea495943f9532f16e819066b340762124f5dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:29:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 16 11:29:44 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: split fat_generic_ioctl\n  FAT: add \u0027errors\u0027 mount option\n"
    },
    {
      "commit": "b522412aeabadbb302fd4338eaabf09d10e2d29c",
      "tree": "6b6b73686bc77e10a3a8275e84bc545ddf7755b6",
      "parents": [
        "964f5369667b342994fe3f384e9ba41d404ee796"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jun 07 13:44:36 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:12 2009 -0400"
      },
      "message": "Sanitize -\u003efsync() for FAT\n\n* mark directory data blocks as assoc. metadata\n* add new inode to deal with FAT, mark FAT blocks as assoc. metadata of that\n* now -\u003efsync() is trivial both for files and directories\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "85c7859190c4197a7c34066db14c25903c401187",
      "tree": "9cf54e894f52eb1edfd35daeff66bfb5697b8360",
      "parents": [
        "9fa7eb283c5cdc2b0f4a8cfe6387ed82e5e9a3d3"
      ],
      "author": {
        "name": "Denis Karpov",
        "email": "ext-denis.2.karpov@nokia.com",
        "time": "Thu Jun 04 02:34:22 2009 +0900"
      },
      "committer": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Jun 04 02:34:51 2009 +0900"
      },
      "message": "FAT: add \u0027errors\u0027 mount option\n\nOn severe errors FAT remounts itself in read-only mode. Allow to\nspecify FAT fs desired behavior through \u0027errors\u0027 mount option:\npanic, continue or remount read-only.\n\n`mount -t [fat|vfat] -o errors\u003d[panic,remount-ro,continue] \\\n\t\u003cbdev\u003e \u003cmount point\u003e`\n\nThis is analog to ext2 fs \u0027errors\u0027 mount option.\n\nSigned-off-by: Denis Karpov \u003cext-denis.2.karpov@nokia.com\u003e\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\n"
    },
    {
      "commit": "c3302931db090d87e9015c3a7ce5c97a7dd90f78",
      "tree": "d7a1f9a2769630d7cfbcfc6f69199dbf69396e36",
      "parents": [
        "9ca59f4c3d28df14a1545a1e2832f34a0a50e3ed"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:22 2008 -0800"
      },
      "message": "fat: i_blocks warning fix\n\nblkcnt_t type depends on CONFIG_LSF. Use unsigned long long always for\nprintk().  But lazy to type it, so add \"llu\" and use it.\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": "2bdf67eb1631f30e2f3f5d49e4007c76e88877a8",
      "tree": "d3d337e52516b3b61cdf4508cf445ef8dcaae2ed",
      "parents": [
        "0e75f5da06c05425f4b375eb981c4489fb2d9787"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: mmu_private race fix\n\nmmu_private is 64bits value, hence it\u0027s not atomic to update.\n\nSo, the access rule for mmu_private is we must hold -\u003ei_mutex.  But,\nfat_get_block() path doesn\u0027t follow the rule on non-allocation path.\n\nThis fixes by using i_size instead if non-allocation path.\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": "0e75f5da06c05425f4b375eb981c4489fb2d9787",
      "tree": "58ffca2561f689aa253274376d440ae35ddee1b5",
      "parents": [
        "fa93ca18a8b0da4e26bd9491ad144cd14d22f8ec"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Add printf attribute to fat_fs_panic()\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": "dfc209c0064efef5590f608056a48b61a5cac09c",
      "tree": "1ace2df7370944dd94b3c8f6a53acf6ea76fdd79",
      "parents": [
        "9183482f5d4a2de00f66641b974e7f351d41b675"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Fix ATTR_RO for directory\n\nFAT has the ATTR_RO (read-only) attribute. But on Windows, the ATTR_RO\nof the directory will be just ignored actually, and is used by only\napplications as flag. E.g. it\u0027s setted for the customized folder by\nExplorer.\n\nhttp://msdn2.microsoft.com/en-us/library/aa969337.aspx\n\nThis adds \"rodir\" option. If user specified it, ATTR_RO is used as\nread-only flag even if it\u0027s the directory. Otherwise, inode-\u003ei_mode\nis not used to hold ATTR_RO (i.e. fat_mode_can_save_ro() returns 0).\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": "9183482f5d4a2de00f66641b974e7f351d41b675",
      "tree": "cc23af150f0aab03b29704eb461dac98b6c1f0cf",
      "parents": [
        "9c0aa1b87bf541affef519eb4879ce7c5a5941ae"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Fix ATTR_RO in the case of (~umask \u0026 S_WUGO) \u003d\u003d 0\n\nIf inode-\u003ei_mode doesn\u0027t have S_WUGO, current code assumes it means\nATTR_RO.  However, if (~[ufd]mask \u0026 S_WUGO) \u003d\u003d 0, inode-\u003ei_mode can\u0027t\nhold S_WUGO. Therefore the updated directory entry will always have\nATTR_RO.\n\nThis adds fat_mode_can_hold_ro() to check it. And if inode-\u003ei_mode\ncan\u0027t hold, uses -i_attrs to hold ATTR_RO instead.\n\nWith this, we don\u0027t set ATTR_RO unless users change it via ioctl() if\n(~[ufd]mask \u0026 S_WUGO) \u003d\u003d 0.\n\nAnd on FAT_IOCTL_GET_ATTRIBUTES path, this adds -\u003ei_mutex to it for\nnot returning the partially updated attributes by FAT_IOCTL_SET_ATTRIBUTES\nto userland.\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": "9c0aa1b87bf541affef519eb4879ce7c5a5941ae",
      "tree": "3bd583d8331c630b59fc01b68ab9cb34bb953d6e",
      "parents": [
        "45cfbe354785a5bc9a38354754d6f7322f598001"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:54 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:21 2008 -0800"
      },
      "message": "fat: Cleanup FAT attribute stuff\n\nThis adds three helpers:\n\nfat_make_attrs() - makes FAT attributes from inode.\nfat_make_mode()  - makes mode_t from FAT attributes.\nfat_save_attrs() - saves FAT attributes to inode.\n\nThen this replaces: MSDOS_MKMODE() by fat_make_mode(), fat_attr() by\nfat_make_attrs(), -\u003ei_attrs \u003d attr \u0026 ATTR_UNUSED by fat_save_attrs().\nAnd for root inode, those is used with ATTR_DIR instead of bogus\nATTR_NONE.\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": "d3dfa8228f87ab9960ab8b4718013d68e3c25a43",
      "tree": "236784875a5c735688e644fe8412649e5fdbfcd7",
      "parents": [
        "52e9d9f4b32a3bec91feb76c84e37b7dcffe5040"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: improve fat_hash()\n\nfat_hash() is using the algorithm known as bad. Instead of it, this\nuses hash_32(). The following is the summary of test.\n\nold hash:\n\thash func (1000 times): 33489 cycles\n\ttotal inodes in hash table: 70926\n\tlargest bucket contains: 696\n\tsmallest bucket contains: 54\n\nnew hash:\n\thash func (1000 times): 33129 cycles\n\ttotal inodes in hash table: 70926\n\tlargest bucket contains: 315\n\tsmallest bucket contains: 236\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": "7decd1cb0305b97243f283fa7f4baf5fe613edeb",
      "tree": "d17b291fd622c8ea45fd0ac8346f3c82c13759b6",
      "parents": [
        "9e975dae2970d22557662761c8505ce9fd165684"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: Fix and cleanup timestamp conversion\n\nThis cleans date_dos2unix()/fat_date_unix2dos() up. New code should be\nmuch more readable.\n\nAnd this fixes those old functions. Those doesn\u0027t handle 2100\ncorrectly. 2100 isn\u0027t leap year, but old one handles it as leap year.\nAlso, with this, centi sec is handled and is fixed.\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": "9e975dae2970d22557662761c8505ce9fd165684",
      "tree": "ecc662bd047ae784095b9effb4bafad99389b5f2",
      "parents": [
        "990e194e69009028e029b7d25da68c38241ec4f0"
      ],
      "author": {
        "name": "OGAWA Hirofumi",
        "email": "hirofumi@mail.parknet.co.jp",
        "time": "Thu Nov 06 12:53:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:20 2008 -0800"
      },
      "message": "fat: split include/msdos_fs.h\n\nThis splits __KERNEL__ stuff in include/msdos_fs.h into fs/fat/fat.h.\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"
    }
  ]
}
