)]}'
{
  "log": [
    {
      "commit": "342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca",
      "tree": "1f967f283dade6e03897169bb29513354f49f910",
      "parents": [
        "50223e486cabdcf7e540e519da1f26bab3084e5d",
        "24ed7a97464db44592495f98cff8bcee02f92bc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:51:45 2009 -0700"
      },
      "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: (34 commits)\n  trivial: fix typo in aic7xxx comment\n  trivial: fix comment typo in drivers/ata/pata_hpt37x.c\n  trivial: typo in kernel-parameters.txt\n  trivial: fix typo in tracing documentation\n  trivial: add __init/__exit macros in drivers/gpio/bt8xxgpio.c\n  trivial: add __init macro/ fix of __exit macro location in ipmi_poweroff.c\n  trivial: remove unnecessary semicolons\n  trivial: Fix duplicated word \"options\" in comment\n  trivial: kbuild: remove extraneous blank line after declaration of usage()\n  trivial: improve help text for mm debug config options\n  trivial: doc: hpfall: accept disk device to unload as argument\n  trivial: doc: hpfall: reduce risk that hpfall can do harm\n  trivial: SubmittingPatches: Fix reference to renumbered step\n  trivial: fix typos \"man[ae]g?ment\" -\u003e \"management\"\n  trivial: media/video/cx88: add __init/__exit macros to cx88 drivers\n  trivial: fix typo in CONFIG_DEBUG_FS in gcov doc\n  trivial: fix missing printk space in amd_k7_smp_check\n  trivial: fix typo s/ketymap/keymap/ in comment\n  trivial: fix typo \"to to\" in multiple files\n  trivial: fix typos in comments s/DGBU/DBGU/\n  ...\n"
    },
    {
      "commit": "0d54b217a247f39605361f867fefbb9e099a5432",
      "tree": "5af6a2cc4cbc6c327e735ac5edb642d47a1f0013",
      "parents": [
        "61e225dc341107be304fd1088146c2a5e88ff9e0"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: make struct super_block::s_qcop const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "61e225dc341107be304fd1088146c2a5e88ff9e0",
      "tree": "e6d3e1dc5506e232497f17721175a081a5306b5b",
      "parents": [
        "00d3803b656a5f0935518d746f6bb27d5181d29d"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 21 17:01:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:24 2009 -0700"
      },
      "message": "const: make struct super_block::dq_op const\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fd589a8f0a13f53a2dd580b1fe170633cf6b095f",
      "tree": "942c50188ca58041b0453189e710eafcfebaea57",
      "parents": [
        "4f37940d64a155c025968118849b596f6aaa8128"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Thu Jul 16 17:13:03 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Sep 21 15:14:55 2009 +0200"
      },
      "message": "trivial: fix typo \"to to\" in multiple files\n\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "0a80e9867db154966b2a771042e10452ac110e1e",
      "tree": "51f43830b3c0dd733b0d446399eb3ea2b6bc84ed",
      "parents": [
        "5534fb5bb35a62a94e0bd1fa2421f7fb6e894f10"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Sep 17 11:55:58 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Sep 17 11:55:58 2009 -0400"
      },
      "message": "ext4: replace MAX_DEFRAG_SIZE with EXT_MAX_BLOCK\n\nThere\u0027s no reason to redefine the maximum allowable offset\nin an extent-based file just for defrag; \nEXT_MAX_BLOCK already does this.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5534fb5bb35a62a94e0bd1fa2421f7fb6e894f10",
      "tree": "1a9da05279129a9331494c1faab6cfa22cd10ce8",
      "parents": [
        "fb40ba0d98968bc3454731360363d725b4f1064c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Sep 17 09:34:16 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Sep 17 09:34:16 2009 -0400"
      },
      "message": "ext4: Fix the alloc on close after a truncate hueristic\n\nIn an attempt to avoid doing an unneeded flush after opening a\n(previously non-existent) file with O_CREAT|O_TRUNC, the code only\ntriggered the hueristic if ei-\u003edisksize was non-zero.  Turns out that\nthe VFS doesn\u0027t call -\u003etruncate() if the file doesn\u0027t exist, and\nei-\u003edisksize is always zero even if the file previously existed.  So\nremove the test, since it isn\u0027t necessary and in fact disabled the\nhueristic.\n\nThanks to Clemens Eisserer that he was seeing problems with files\nwritten using kwrite and eclipse after sudden crashes caused by a\nbuggy Intel video driver.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fb40ba0d98968bc3454731360363d725b4f1064c",
      "tree": "08e8bb15b49bc6310e4c41653889e055d9594d9a",
      "parents": [
        "1b9c12f44c1eb614fd3b8822bfe8f1f5d8e53737"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 19:30:40 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 19:30:40 2009 -0400"
      },
      "message": "ext4: Add a tracepoint for ext4_alloc_da_blocks()\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1b9c12f44c1eb614fd3b8822bfe8f1f5d8e53737",
      "tree": "5de0737dd71557dadaa5e3f98d6e62bd3b9d7c51",
      "parents": [
        "fb0a387dcdcd21aab1b09ee7fd80b7c979bdbbfd"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Sep 17 08:32:22 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Sep 17 08:32:22 2009 -0400"
      },
      "message": "ext4: store EXT4_EXT_MIGRATE in i_state instead of i_flags\n\nEXT4_EXT_MIGRATE is only intended to be used for an in-memory flag,\nand the hex value assigned to it collides with FS_DIRECTIO_FL (which\nis also stored in i_flags).  There\u0027s no reason for the\nEXT4_EXT_MIGRATE bit to be stored in i_flags, so we switch it to use\ni_state instead.\n\nCc: \"Aneesh Kumar K.V\" \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fb0a387dcdcd21aab1b09ee7fd80b7c979bdbbfd",
      "tree": "dcb12c5fce8f7ccb8b183936ea71a29aba3f3846",
      "parents": [
        "c40ce3c9ea97425a12d7e44031a98fe50add6fc1"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Sep 16 14:45:10 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 14:45:10 2009 -0400"
      },
      "message": "ext4: limit block allocations for indirect-block files to \u003c 2^32\n\nToday, the ext4 allocator will happily allocate blocks past\n2^32 for indirect-block files, which results in the block\nnumbers getting truncated, and corruption ensues.\n\nThis patch limits such allocations to \u003c 2^32, and adds\nBUG_ONs if we do get blocks larger than that.\n\nThis should address RH Bug 519471, ext4 bitmap allocator \nmust limit blocks to \u003c 2^32\n\n* ext4_find_goal() is modified to choose a goal \u003c UINT_MAX,\n  so that our starting point is in an acceptable range.\n\n* ext4_xattr_block_set() is modified such that the goal block\n  is \u003c UINT_MAX, as above.\n\n* ext4_mb_regular_allocator() is modified so that the group\n  search does not continue into groups which are too high\n\n* ext4_mb_use_preallocated() has a check that we don\u0027t use\n  preallocated space which is too far out\n\n* ext4_alloc_blocks() and ext4_xattr_block_set() add some BUG_ONs\n\nNo attempt has been made to limit inode locations to \u003c 2^32,\nso we may wind up with blocks far from their inodes.  Doing\nthis much already will lead to some odd ENOSPC issues when the\n\"lower 32\" gets full, and further restricting inodes could\nmake that even weirder.\n\nFor high inodes, choosing a goal of the original, % UINT_MAX,\nmay be a bit odd, but then we\u0027re in an odd situation anyway,\nand I don\u0027t know of a better heuristic.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c40ce3c9ea97425a12d7e44031a98fe50add6fc1",
      "tree": "2150e1dbbcbf42c8293a887976a648fceaf8da73",
      "parents": [
        "347fa6f1c7cb5df2b38d3c9167cfe242ce0cd1da"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Wed Sep 16 14:25:39 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 14:25:39 2009 -0400"
      },
      "message": "ext4: Fix different block exchange issue in EXT4_IOC_MOVE_EXT\n\nIf logical block offset of original file which is passed to\nEXT4_IOC_MOVE_EXT is different from donor file\u0027s,\na calculation error occurs in ext4_calc_swap_extents(),\ntherefore wrong block is exchanged between original file and donor file.\nAs a result, we hit ext4_error() in check_block_validity().\nTo detect the logical offset difference in EXT4_IOC_MOVE_EXT,\nadd checks to mext_calc_swap_extents() and handle it as error,\nsince data exchange must be done between the same blocks in EXT4_IOC_MOVE_EXT.\n\nReported-by: Peng Tao \u003cbergwolf@gmail.com\u003e\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "347fa6f1c7cb5df2b38d3c9167cfe242ce0cd1da",
      "tree": "1e4b467f7baa6c5fe291b0f53d6483776b2d5a54",
      "parents": [
        "2147b1a6a48e28399120ca51d4a91840a278611f"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Wed Sep 16 14:25:07 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 14:25:07 2009 -0400"
      },
      "message": "ext4: Add null extent check to ext_get_path\n\nThere is the possibility that path structure which is taken\nby ext4_ext_find_extent() indicates null extents.\nBecause during data block exchanging in ext4_move_extents(),\nconstitution of an extent tree may be changed.\nAs a solution, the patch adds null extent check\nto ext_get_path().\n\nReported-by: Peng Tao \u003cbergwolf@gmail.com\u003e\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "2147b1a6a48e28399120ca51d4a91840a278611f",
      "tree": "bf60185face40e3a482998f489348afef0e72086",
      "parents": [
        "e8505970af46658ece2545e9bc1fe594998fdcdf"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Wed Sep 16 13:46:35 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 13:46:35 2009 -0400"
      },
      "message": "ext4: Replace BUG_ON() with ext4_error() in move_extents.c\n\nReplace BUG_ON calls with a call to ext4_error()\nto print an error message if EXT4_IOC_MOVE_EXT failed\nwith some kind of reasons.  This will help to debug.\nTed pointed this out, thanks.\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e8505970af46658ece2545e9bc1fe594998fdcdf",
      "tree": "14a26c8f120667c70d2925c756ee518fc56453aa",
      "parents": [
        "3661d28615ea580c1db02a972fd4d3898df1cb01"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Wed Sep 16 13:46:38 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 13:46:38 2009 -0400"
      },
      "message": "ext4: Replace get_ext_path macro with an inline funciton\n\nReplace get_ext_path macro with an inline function,\nsince this macro looks like a function call but its arguments\nget modified. Ted pointed this out, thanks.\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3661d28615ea580c1db02a972fd4d3898df1cb01",
      "tree": "35b5ee30b88913c3e0711f763f0fa4d3bca27807",
      "parents": [
        "7ad9bb651fc2036ea94bed94da76a4b08959a911"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 14 22:59:50 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Sep 14 22:59:50 2009 -0400"
      },
      "message": "ext4: Fix include/trace/events/ext4.h to work with Systemtap\n\nUsing relative pathnames in #include statements interacts badly with\nSystemTap, since the fs/ext4/*.h header files are not packaged up as\npart of a distribution kernel\u0027s header files.  Since systemtap doesn\u0027t\nuse TP_fast_assign(), we can use a blind structure definition and then\nmake sure the needed header files are defined before the ext4 source\nfiles #include the trace/events/ext4.h header file.\n\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d512478\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7ad9bb651fc2036ea94bed94da76a4b08959a911",
      "tree": "2669266f02c35b1b24d13d0adc4b3ac5afbdf7fd",
      "parents": [
        "1f7bebb9e911d870fa8f997ddff838e82b5715ea"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Sep 11 16:51:28 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Sep 11 16:51:28 2009 -0400"
      },
      "message": "ext4: Fix initalization of s_flex_groups\n\nThe s_flex_groups array should have been initialized using atomic_add\nto sum up the free counts from the block groups that make up a\nflex_bg.  By using atomic_set, the value of the s_flex_groups array\nwas set to the values of the last block group in the flex_bg.  \n\nThe impact of this bug is that the block and inode allocation\nalgorithms might not pick the best flex_bg for new allocation.\n\nThanks to Damien Guibouret for pointing out this problem!\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1f7bebb9e911d870fa8f997ddff838e82b5715ea",
      "tree": "be0efe4467b3f7f079e7f20d7580677580947017",
      "parents": [
        "0e3d2a6313d03413d93327202a60256d1d726fdc"
      ],
      "author": {
        "name": "Andreas Schlick",
        "email": "schlick@lavabit.com",
        "time": "Thu Sep 10 23:16:07 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Sep 10 23:16:07 2009 -0400"
      },
      "message": "ext4: Always set dx_node\u0027s fake_dirent explicitly.\n\nWhen ext4_dx_add_entry() has to split an index node, it has to ensure that\nname_len of dx_node\u0027s fake_dirent is also zero, because otherwise e2fsck\nwon\u0027t recognise it as an intermediate htree node and consider the htree to\nbe corrupted.\n\nSigned-off-by: Andreas Schlick \u003cschlick@lavabit.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "71290b368ad5e1e0b0b300c9d5638490a9fd1a2d",
      "tree": "a48503e3ddf3715613df2a3e29a7220cea3368b4",
      "parents": [
        "08c3a8133810d955d97f7146c50c43e4073f2148"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Sep 10 17:31:04 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Sep 10 17:31:04 2009 -0400"
      },
      "message": "ext4: Don\u0027t update superblock write time when filesystem is read-only\n\nThis avoids updating the superblock write time when we are mounting\nthe root file system read/only but we need to replay the journal; at\nthat point, for people who are east of GMT and who make their clock\ntick in localtime for Windows bug-for-bug compatibility, and this will\ncause e2fsck to complain and force a full file system check.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "08c3a8133810d955d97f7146c50c43e4073f2148",
      "tree": "7caab5e454cdfc39817bd34b9a5be21743af5771",
      "parents": [
        "f41c0750538667b87a19c93952e5d42fcc069bd7"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Sep 09 23:50:17 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 09 23:50:17 2009 -0400"
      },
      "message": "ext4: Clarify the locking details in mballoc\n\nWe don\u0027t need to take the alloc_sem lock when we are adding new\ngroups, since mballoc won\u0027t see the new group added until we bump\nsbi-\u003es_groups_count.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f41c0750538667b87a19c93952e5d42fcc069bd7",
      "tree": "042076950064d1201e7e408aba0e96ccbd7e00e2",
      "parents": [
        "b6a758ec3af3ec236dbfdcf6a06b84ac8f94957e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Sep 09 23:34:50 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 09 23:34:50 2009 -0400"
      },
      "message": "ext4: check for need init flag in ext4_mb_load_buddy\n\nWe should check for need init flag with the group\u0027s alloc_sem held, to\nmake sure while we are loading the buddy cache and holding a reference\nto it, a file system resize can\u0027t add new blocks to same group.\n\nThe patch also drops the need init flag check in\next4_mb_regular_allocator() because doing the check without holding\nalloc_sem is racy.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b6a758ec3af3ec236dbfdcf6a06b84ac8f94957e",
      "tree": "188505222c7fd0d92c18435aaf96e07c9f0ebdb6",
      "parents": [
        "91ac6f43317c0bf99969665f98016548011dfa38"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Sep 09 23:47:46 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 09 23:47:46 2009 -0400"
      },
      "message": "ext4: move ext4_mb_init_group() function earlier in the mballoc.c\n\nThis moves the function around so that it can be called from\next4_mb_load_buddy().\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "91ac6f43317c0bf99969665f98016548011dfa38",
      "tree": "07a49f2182dd16fdb372e4a14c263cdd2d166578",
      "parents": [
        "fe188c0e084bdf3038dc0ac963c21d764f53f7da"
      ],
      "author": {
        "name": "Frank Mayhar",
        "email": "fmayhar@google.com",
        "time": "Wed Sep 09 22:33:47 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 09 22:33:47 2009 -0400"
      },
      "message": "ext4: Make non-journal fsync work properly\n\nTeach ext4_write_inode() and ext4_do_update_inode() about non-journal\nmode:  If we\u0027re not using a journal, ext4_write_inode() now calls\next4_do_update_inode() (after getting the iloc via ext4_get_inode_loc())\nwith a new \"do_sync\" parameter.  If that parameter is nonzero _and_ we\u0027re\nnot using a journal, ext4_do_update_inode() calls sync_dirty_buffer()\ninstead of ext4_handle_dirty_metadata().\n\nThis problem was found in power-fail testing, checking the amount of\nloss of files and blocks after a power failure when using fsync() and\nwhen not using fsync().  It turned out that using fsync() was actually\nworse than not doing so, possibly because it increased the likelihood\nthat the inodes would remain unflushed and would therefore be lost at\nthe power failure.\n\nSigned-off-by: Frank Mayhar \u003cfmayhar@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "fe188c0e084bdf3038dc0ac963c21d764f53f7da",
      "tree": "bb712f58f4c0356058825da75da57d0af450e01b",
      "parents": [
        "c7acb4c16646943180bd221c167a077e0a084f9c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 12 13:41:55 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 12 13:41:55 2009 -0400"
      },
      "message": "ext4: Assure that metadata blocks are written during fsync in no journal mode\n\nWhen there is no journal present, we must attach buffer heads\nassociated with extent tree and indirect blocks to the inode\u0027s\nmapping-\u003eprivate_list via mark_buffer_dirty_inode() so that\next4_sync_file() --- which is called to service fsync() and\nfdatasync() system calls --- can write out the inode\u0027s metadata blocks\nby calling sync_mapping_buffers().\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c7acb4c16646943180bd221c167a077e0a084f9c",
      "tree": "bb6f867bffc867b5c160fcb09e3054e66d7cf2f6",
      "parents": [
        "80e42468d65475e92651e62175bb7807773321d0"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 09 21:32:41 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 09 21:32:41 2009 -0400"
      },
      "message": "ext4: Use bforget() in no journal mode for ext4_journal_{forget,revoke}()\n\nWhen ext4 is using a journal, a metadata block which is deallocated\nmust be passed into the journal layer so it can be dropped from the\ncurrent transaction and/or revoked.  This is done by calling the\nfunctions ext4_journal_forget() and ext4_journal_revoke(), which call\njbd2_journal_forget(), and jbd2_journal_revoke(), respectively.\n\nSince the jbd2_journal_forget() and jbd2_journal_revoke() call\nbforget(), if ext4 is not using a journal, ext4_journal_forget() and\next4_journal_revoke() must call bforget() to avoid a dirty metadata\nblock overwriting a block after it has been reallocated and reused for\nanother inode\u0027s data block.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "80e42468d65475e92651e62175bb7807773321d0",
      "tree": "7ab6bd05495a50a4c5fc507ab583daad5178006c",
      "parents": [
        "a827eaffff07c7d58a4cb32158cbeb4849f4e33a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 08 08:21:26 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 08 08:21:26 2009 -0400"
      },
      "message": "ext4: print more sysadmin-friendly message in check_block_validity()\n\nDrop the WARN_ON(1), as he stack trace is not appropriate, since it is\ntriggered by file system corruption, and it misleads users into\nthinking there is a kernel bug.  In addition, change the message\ndisplayed by ext4_error() to make it clear that this is a file system\ncorruption problem.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a827eaffff07c7d58a4cb32158cbeb4849f4e33a",
      "tree": "6167caf1619f0d9555fd67a2facbf2351a0a7905",
      "parents": [
        "44fc48f7048ab9657b524938a832fec4e0acea98"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Sep 09 22:36:03 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 09 22:36:03 2009 -0400"
      },
      "message": "ext4: Take page lock before looking at attached buffer_heads flags\n\nIn order to check whether the buffer_heads are mapped we need to hold\npage lock. Otherwise a reclaim can cleanup the attached buffer_heads.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "44fc48f7048ab9657b524938a832fec4e0acea98",
      "tree": "9aca224ca77c27a5656077bd8c03d0c94f3426af",
      "parents": [
        "8d6669133d8cdbb7cbe0e1f0f3744e7802a84afe"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Sat Sep 05 23:12:41 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 05 23:12:41 2009 -0400"
      },
      "message": "ext4: Fix small typo for move_extent_per_page()\n\nThis function means moving extents every page, so change its name from\nmove_exgtent_par_page().\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.co.jp\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8d6669133d8cdbb7cbe0e1f0f3744e7802a84afe",
      "tree": "ab4799f9299037ecb41de56bc1ad0b8c946c30f0",
      "parents": [
        "daea696dbac0e33af3cfe304efbfb8d74e0effe6"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Sat Sep 05 22:46:29 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 05 22:46:29 2009 -0400"
      },
      "message": "ext4: Return exchanged blocks count to user space in failure\n\nReturn exchanged blocks count (moved_len) to user space,\nif ext4_move_extents() failed on the way.\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "daea696dbac0e33af3cfe304efbfb8d74e0effe6",
      "tree": "35b64870a9377d1a89d2891084623bca8dd13e70",
      "parents": [
        "70d5d3dcea47c16058d2b093c29e07fdf61b56ad"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Sat Sep 05 22:11:55 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 05 22:11:55 2009 -0400"
      },
      "message": "ext4: Remove unneeded BUG_ON() in ext4_move_extents()\n\nThe ext4_move_extents() functions checks with BUG_ON() whether the\nexchanged blocks count accords with request blocks count.  But, if the\ntarget range (orig_start + len) includes sparse block(s), \u0027moved_len\u0027\n(exchanged blocks count) does not agree with \u0027len\u0027 (request blocks\ncount), since sparse block is not counted in \u0027moved_len\u0027.  This causes\nus to hit the BUG_ON(), even though the function succeeded.\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "70d5d3dcea47c16058d2b093c29e07fdf61b56ad",
      "tree": "82ff7d71973f259d8197bbc7c05461e978324c02",
      "parents": [
        "5f3481e9a80c240f169b36ea886e2325b9aeb745"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Wed Sep 16 14:28:22 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 14:28:22 2009 -0400"
      },
      "message": "ext4: Fix wrong comparisons in mext_check_arguments()\n\nThe mext_check_arguments() function in move_extents.c has wrong\ncomparisons.  orig_start which is passed from user-space is block\nunit, but i_size of inode is byte unit, therefore the checks do not\nwork fine.  This mis-check leads to the overflow of \u0027len\u0027 and then\nhits BUG_ON() in ext4_move_extents().  The patch fixes this issue.\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nReviewed-by: Greg Freemyer \u003cgreg.freemyer@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5f3481e9a80c240f169b36ea886e2325b9aeb745",
      "tree": "435a8cf2be9c81a545f42d5af881450f8d121e74",
      "parents": [
        "d0646f7b636d067d715fab52a2ba9c6f0f46b0d7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Sep 05 21:42:42 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 05 21:42:42 2009 -0400"
      },
      "message": "ext4: fix cache flush in ext4_sync_file\n\nWe need to flush the write cache unconditionally in -\u003efsync, otherwise\nwrites into already allocated blocks can get lost.  Writes into fully\nallocated files are very common when using disk images for\nvirtualization, and without this fix can easily lose data after\nan fdatasync, which is the typical implementation for a cache flush on\nthe virtual drive.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nAcked-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d0646f7b636d067d715fab52a2ba9c6f0f46b0d7",
      "tree": "f7b3ae9510e8c789651d99fee0c22867e6ccba94",
      "parents": [
        "a3710fd1ee8cd542c5de63cf2c39f8912031f867"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 05 12:50:43 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 05 12:50:43 2009 -0400"
      },
      "message": "ext4: Remove journal_checksum mount option and enable it by default\n\nThere\u0027s no real cost for the journal checksum feature, and we should\nmake sure it is enabled all the time.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "7f1346a9de6a689b03f2c1c3a387e49ec64da267",
      "tree": "d563c9842fe834b7a4aeb9a055443397b8cfb088",
      "parents": [
        "b3a3ca8ca0c3c29abc5b2bfe94bb14f3f4590df9"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Sat Sep 05 09:28:54 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Sep 05 09:28:54 2009 -0400"
      },
      "message": "ext4: Declare seq_operations and file_operations structures as const\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b3a3ca8ca0c3c29abc5b2bfe94bb14f3f4590df9",
      "tree": "1006f780d43ec8ff90ed11b1eb0d5ed961c9f613",
      "parents": [
        "de89de6e0cf4b1eb13f27137cf2aa40d287aabdf"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 31 23:13:11 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 31 23:13:11 2009 -0400"
      },
      "message": "ext4: Add new tracepoint: trace_ext4_da_write_pages()\n\nAdd a new tracepoint which shows the pages that will be written using\nwrite_cache_pages() by ext4_da_writepages().\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "de89de6e0cf4b1eb13f27137cf2aa40d287aabdf",
      "tree": "b6429d327cb0a6985d3fd9bf11755353408ee44c",
      "parents": [
        "98a56ab382079f777e261e14512cbd4fb2107af4"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 31 17:00:59 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 31 17:00:59 2009 -0400"
      },
      "message": "ext4: Restore wbc-\u003erange_start in ext4_da_writepages()\n\nTo solve a lock inversion problem, we implement part of the\nrange_cyclic algorithm in ext4_da_writepages().  (See commit 2acf2c26\nfor more details.)\n\nAs part of that change wbc-\u003erange_start was modified by ext4\u0027s\nwritepages function, which causes its callers to get confused since\nthey aren\u0027t expecting the filesystem to modify it.  The simplest fix\nis to save and restore wbc-\u003erange_start in ext4_da_writepages.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b05ab1dc3795e6f997fb0d34f38fce5012533c3e",
      "tree": "4479566851d82df15b0a350a3f2c3baa9009b9d4",
      "parents": [
        "2c94eb86c66e1eaaa1e7d8a2120f4fad5e7e7736"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 29 21:08:08 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Aug 29 21:08:08 2009 -0400"
      },
      "message": "ext4: Limit number of links that can be created by ext4_link()\n\nIn ext4_link we need to check using EXT4_LINK_MAX, and not\nEXT4_DIR_LINK_MAX(), since ext4_link() is creating hard links of\nregular files, and not directories.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "2c94eb86c66e1eaaa1e7d8a2120f4fad5e7e7736",
      "tree": "71f76a0ca097b887986ea0499401c3631f15a0e3",
      "parents": [
        "55ad63bf3a30936aced50f13452735c2f58b234c"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Aug 28 21:43:15 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 28 21:43:15 2009 -0400"
      },
      "message": "ext4: Allow rename to create more than EXT4_LINK_MAX subdirectories\n\nUse EXT4_DIR_LINK_MAX so that rename() can move a directory into new\nparent directory without running into the EXT4_LINK_MAX limit.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "55ad63bf3a30936aced50f13452735c2f58b234c",
      "tree": "13733cfa690c83a0a75d8d38489e3cace096f9f9",
      "parents": [
        "a36b44988cef1fc007535107013571fa691a2d7f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 28 10:40:33 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Aug 28 10:40:33 2009 -0400"
      },
      "message": "ext4: fix extent sanity checking code with AGGRESSIVE_TEST\n\nThe extents sanity-checking code depends on the ext4_ext_space_*()\nfunctions returning the maximum alloable size for eh_max; however,\nwhen the debugging #ifdef AGGRESSIVE_TEST is enabled to test the\nextent tree handling code, this prevents a normally created ext4\nfilesystem from being mounted with the errors:\n\nAug 26 15:43:50 bsd086 kernel: [   96.070277] EXT4-fs error (device sda8): ext4_ext_check_inode: bad header/extent in inode #8: too large eh_max - magic f30a, entries 1, max 4(3), depth 0(0)\nAug 26 15:43:50 bsd086 kernel: [   96.070526] EXT4-fs (sda8): no journal found\n\nBug reported by Akira Fujita.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a36b44988cef1fc007535107013571fa691a2d7f",
      "tree": "b9d659b8ac2a1068f6fbc08ac093902333512c70",
      "parents": [
        "1927805e6599d8602d2c0af6a0155c85acc0b214"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Aug 25 22:36:45 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 25 22:36:45 2009 -0400"
      },
      "message": "ext4: use ext4_grpblk_t more extensively\n\nunsigned  short is potentially too small to track blocks within\na group; today it is safe due to restrictions in e2fsprogs but\nwe have _lo / _hi bits for group blocks with the intent to go\nup to 32 bits, so clean this up now.\n\nThere are many more places where we use unsigned/int/unsigned int\nto contain a group block but this should at least fix all the\nshort types.\n\nI added a few comments to the struct ext4_group_info definition\nas well.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1927805e6599d8602d2c0af6a0155c85acc0b214",
      "tree": "b5549d33960ef312efc3b8f54c78268a3e4f74dd",
      "parents": [
        "a8526e84ac758ac6da45cf273aa1538a6a7aa3de"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Aug 25 22:36:25 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 25 22:36:25 2009 -0400"
      },
      "message": "ext4: use variables not types in sizeofs() for allocations\n\nPrecursor to changing some types; to keep things in sync, it \nseems better to allocate/memset based on the size of the \nvariables we are using rather than on some disconnected \nbasic type like \"unsigned short\"\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "a8526e84ac758ac6da45cf273aa1538a6a7aa3de",
      "tree": "ed77c3b790c3adab99090fe2ad411a03baa9a21a",
      "parents": [
        "a13fb1a4533f26c1e2b0204d5283b696689645af"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Aug 25 22:36:05 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 25 22:36:05 2009 -0400"
      },
      "message": "ext4: Add missing unlock_new_inode() call in extent migration code\n\nWe need to unlock the new inode before iput.  This patch fixes the\nfollowing warning when calling chattr +e to migrate a file to use\nextents.  It also fixes problems in when e4defrag attempts to\ndefragment an inode.\n\n[  470.400044] ------------[ cut here ]------------\n[  470.400065] WARNING: at fs/inode.c:1210 generic_delete_inode+0x65/0x16a()\n[  470.400072] Hardware name: N/A\n.....\n...\n[  470.400353] Pid: 4451, comm: chattr Not tainted 2.6.31-rc7-red-debug #4\n[  470.400359] Call Trace:\n[  470.400372]  [\u003cffffffff81037771\u003e] warn_slowpath_common+0x77/0x8f\n[  470.400385]  [\u003cffffffff81037798\u003e] warn_slowpath_null+0xf/0x11\n[  470.400395]  [\u003cffffffff810b7f28\u003e] generic_delete_inode+0x65/0x16a\n[  470.400405]  [\u003cffffffff810b8044\u003e] generic_drop_inode+0x17/0x1bd\n[  470.400413]  [\u003cffffffff810b7083\u003e] iput+0x61/0x65\n[  470.400455]  [\u003cffffffffa003b229\u003e] ext4_ext_migrate+0x5eb/0x66a [ext4]\n[  470.400492]  [\u003cffffffffa002b1f8\u003e] ext4_ioctl+0x340/0x756 [ext4]\n[  470.400507]  [\u003cffffffff810b1a91\u003e] vfs_ioctl+0x1d/0x82\n[  470.400517]  [\u003cffffffff810b1ff0\u003e] do_vfs_ioctl+0x483/0x4c9\n[  470.400527]  [\u003cffffffff81059c30\u003e] ? trace_hardirqs_on+0xd/0xf\n[  470.400537]  [\u003cffffffff810b2087\u003e] sys_ioctl+0x51/0x74\n[  470.400549]  [\u003cffffffff8100ba6b\u003e] system_call_fastpath+0x16/0x1b\n[  470.400557] ---[ end trace ab85723542352dac ]---\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a13fb1a4533f26c1e2b0204d5283b696689645af",
      "tree": "1f779dfe2057bef2a5985989f2a347ed32ca9179",
      "parents": [
        "38877f4e8dbbec12c6fde85ee1fce1dc27ef3290"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Aug 18 00:20:23 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Aug 18 00:20:23 2009 -0400"
      },
      "message": "ext4: Add feature set check helper for mount \u0026 remount paths\n\nA user reported that although his root ext4 filesystem was mounting\nfine, other filesystems would not mount, with the:\n\n\"Filesystem with huge files cannot be mounted RDWR without CONFIG_LBDAF\"\n\nerror on his 32-bit box built without CONFIG_LBDAF.  This is because\nthe test at mount time for this situation was not being re-checked\non remount, and the normal boot process makes an ro-\u003erw transition,\nso this was being missed.\n\nRefactor to make a common helper function to test the filesystem\nfeatures against the type of mount request (RO vs. RW) so that we \nstay consistent.\n\nAddresses Red-Hat-Bugzilla: #517650\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "38877f4e8dbbec12c6fde85ee1fce1dc27ef3290",
      "tree": "c7cab3a9c5f5bc53f0ba7df269a630b0018dac8a",
      "parents": [
        "0373130d5bc783751c1fbad948886916a21d4559"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Aug 17 23:55:24 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 17 23:55:24 2009 -0400"
      },
      "message": "simplify some logic in ext4_mb_normalize_request\n\nWhile reading through some of the mballoc code it seems that a couple\nspots in the size normalization function could be streamlined.\n\nThe test for non-overlapping PAs can be or\u0027d for the start \u0026 end\nconditions, and the tests for adjacent PAs can be else-if\u0027d - \nit\u0027s essentially independently testing:\n\n\tif (A + B \u003c\u003d C)\n\t\t...\n\tif (A \u003e C)\n\t\t...\n\nThese cannot both be true so it seems like the else-if might\nbe slightly more efficient and/or informative.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0373130d5bc783751c1fbad948886916a21d4559",
      "tree": "a5b4d21b84345354ff965714bd6a6c473bae4b0f",
      "parents": [
        "bf43d84b185e2ff54598f8c58a5a8e63148b6e90"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Aug 17 23:51:29 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 17 23:51:29 2009 -0400"
      },
      "message": "ext4: open-code ext4_mb_update_group_info\n\next4_mb_update_group_info is only called in one place, and it\u0027s\nextremely simple.  There\u0027s no reason to have it in a separate function\nin a separate file as far as I can tell, it just obfuscates what\u0027s\nreally going on.\n\nPerhaps it was intended to keep the grp-\u003ebb_* manipulation local to\nmballoc.c but we\u0027re already accessing other grp-\u003e fields in balloc.c\ndirectly so this seems ok.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bf43d84b185e2ff54598f8c58a5a8e63148b6e90",
      "tree": "1e7a7ca7e5d328c41ef6757ea33d709d8e47fcfb",
      "parents": [
        "0ccff1a49def92d6b838a6da166c89004b3a4d0c"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Aug 17 23:48:51 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 17 23:48:51 2009 -0400"
      },
      "message": "ext4: reject too-large filesystems on 32-bit kernels\n\next4 will happily mount a \u003e 16T filesystem on a 32-bit box, but\nthis is not safe; writes to the block device will wrap past 16T\nand the page cache can\u0027t index past 16T (232 index * 4k pages).\n\nAdding another test to the existing \"too many sectors\" test\nshould do the trick.\n\nAdd a comment, a relevant return value, and fix the reference\nto the CONFIG_LBD(AF) option as well.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "487caeef9fc08c0565e082c40a8aaf58dad92bbb",
      "tree": "69920293cfe3a50bdbbf845be785350e7c203a2b",
      "parents": [
        "9599b0e597d810be9b8f759ea6e9619c4f983c5e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 17 22:17:20 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 17 22:17:20 2009 -0400"
      },
      "message": "ext4: Fix possible deadlock between ext4_truncate() and ext4_get_blocks()\n\nDuring truncate we are sometimes forced to start a new transaction as\nthe amount of blocks to be journaled is both quite large and hard to\npredict. So far we restarted a transaction while holding i_data_sem\nand that violates lock ordering because i_data_sem ranks below a\ntransaction start (and it can lead to a real deadlock with\next4_get_blocks() mapping blocks in some page while having a\ntransaction open).\n\nWe fix the problem by dropping the i_data_sem before restarting the\ntransaction and acquire it afterwards. It\u0027s slightly subtle that this\nworks:\n\n1) By the time ext4_truncate() is called, all the page cache for the\ntruncated part of the file is dropped so get_block() should not be\ncalled on it (we only have to invalidate extent cache after we\nreacquire i_data_sem because some extent from not-truncated part could\nextend also into the part we are going to truncate).\n\n2) Writes, migrate or defrag hold i_mutex so they are stopped for all\nthe time of the truncate.\n\nThis bug has been found and analyzed by Theodore Tso \u003ctytso@mit.edu\u003e.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "553f9008939638335836eec834f4dea310c17eae",
      "tree": "1d1ea9defa550d522b68bb12dab7f0e139aa205a",
      "parents": [
        "84fe3bef59dc45a1cb0d2f9b0aefa8f1fbfbdf98"
      ],
      "author": {
        "name": "Mingming",
        "email": "cmm@us.ibm.com",
        "time": "Fri Sep 18 13:34:55 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Sep 18 13:34:55 2009 -0400"
      },
      "message": "ext4: Show unwritten extent flag in ext4_ext_show_leaf()\n\next4_ext_show_leaf() will display the leaf extents when extent\ndebugging is enabled.\n\nPrinting out the unwritten bit is useful for debugging unwritten\nextent, allow us to see the unwritten extents vs written extents,\nafter the unwritten extents are splitted or converted.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n\n"
    },
    {
      "commit": "84fe3bef59dc45a1cb0d2f9b0aefa8f1fbfbdf98",
      "tree": "2e6821186ace260d61d32774c5976e233e660a88",
      "parents": [
        "50797481a7bdee548589506d7d7b48b08bc14dcd"
      ],
      "author": {
        "name": "Mingming",
        "email": "cmm@us.ibm.com",
        "time": "Tue Sep 01 08:44:37 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Sep 01 08:44:37 2009 -0400"
      },
      "message": "ext4: Compile warning fix when EXT_DEBUG enabled\n\nWhen EXT_DEBUG is enabled I received the following compile warning on\nPPC64:\n\n  CC [M]  fs/ext4/inode.o\n  CC [M]  fs/ext4/extents.o\nfs/ext4/extents.c: In function ‘ext4_ext_rm_leaf’:\nfs/ext4/extents.c:2097: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 2 has type ‘ext4_lblk_t’\nfs/ext4/extents.c: In function ‘ext4_ext_get_blocks’:\nfs/ext4/extents.c:2789: warning: format ‘%u’ expects type ‘unsigned int’, but argument 4 has type ‘long unsigned int’\nfs/ext4/extents.c:2852: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘ext4_lblk_t’\nfs/ext4/extents.c:2953: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 4 has type ‘unsigned int’\n  CC [M]  fs/ext4/migrate.o\n\nThe patch fixes compile warning.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\nIndex: linux-2.6.31-rc4/fs/ext4/extents.c\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "50797481a7bdee548589506d7d7b48b08bc14dcd",
      "tree": "19989d27e3a69c6c2c507f798f55a2d9a47a5d27",
      "parents": [
        "4ba74d00a20256e22f159cb288ff34b587608917"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Sep 18 13:34:02 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Sep 18 13:34:02 2009 -0400"
      },
      "message": "ext4: Avoid group preallocation for closed files\n\nCurrently the group preallocation code tries to find a large (512)\nfree block from which to do per-cpu group allocation for small files.\nThe problem with this scheme is that it leaves the filesystem horribly\nfragmented.  In the worst case, if the filesystem is unmounted and\nremounted (after a system shutdown, for example) we forget the fact\nthat wee were using a particular (now-partially filled) 512 block\nextent.  So the next time we try to allocate space for a small file,\nwe will find *another* completely free 512 block chunk to allocate\nsmall files.  Given that there are 32,768 blocks in a block group,\nafter 64 iterations of \"mount, write one 4k file in a directory,\nunmount\", the block group will have 64 files, each separated by 511\nblocks, and the block group will no longer have any free 512\ncompletely free chunks of blocks for group preallocation space.\n\nSo if we try to allocate blocks for a file that has been closed, such\nthat we know the final size of the file, and the filesystem is not\nbusy, avoid using group preallocation.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4ba74d00a20256e22f159cb288ff34b587608917",
      "tree": "6859cf49f8043ec11846e2c8ebc836499e1048c4",
      "parents": [
        "0ef90db93a4ddfc300af288c2a1bfc1e6c79da64"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Aug 09 22:01:13 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Aug 09 22:01:13 2009 -0400"
      },
      "message": "ext4: Fix bugs in mballoc\u0027s stream allocation mode\n\nThe logic around sbi-\u003es_mb_last_group and sbi-\u003es_mb_last_start was all\nscrewed up.  These fields were getting unconditionally all the time,\nset even when stream allocation had not taken place, and if they were\nbeing used when the file was smaller than s_mb_stream_request, which\nis when the allocation should _not_ be doing stream allocation.\n\nFix this by determining whether or not we stream allocation should\ntake place once, in ext4_mb_group_or_file(), and setting a flag which\ngets used in ext4_mb_regular_allocator() and ext4_mb_use_best_found().\nThis simplifies the code and assures that we are consistently using\n(or not using) the stream allocation logic.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0ef90db93a4ddfc300af288c2a1bfc1e6c79da64",
      "tree": "9a16d71efd6458777391c993f3b964cb5cebfb7d",
      "parents": [
        "6ba495e9259cd9a0b40ebd6c315143535c92542f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Aug 09 16:46:13 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Aug 09 16:46:13 2009 -0400"
      },
      "message": "ext4: Display the mballoc flags in mb_history in hex instead of decimal\n\nDisplaying the flags in base 16 makes it easier to see which flags\nhave been set.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6ba495e9259cd9a0b40ebd6c315143535c92542f",
      "tree": "7d43ea10a8971087e6e8b00c9934b0cf83e53d1e",
      "parents": [
        "91cc219ad963731191247c5f2db4118be2bc341a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Sep 18 13:38:55 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Sep 18 13:38:55 2009 -0400"
      },
      "message": "ext4: Add configurable run-time mballoc debugging\n\nAllow mballoc debugging to be enabled at run-time instead of just at\ncompile time.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "91cc219ad963731191247c5f2db4118be2bc341a",
      "tree": "a00e1c0b8a773f88bcb3ae81758ec4528b73405d",
      "parents": [
        "b1f485f20eb9b02cc7d2009556287f3939d480cc"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Mon Aug 10 23:05:28 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 10 23:05:28 2009 -0400"
      },
      "message": "ext4: fix journal ref count in move_extent_par_page\n\nmove_extent_par_page calls a_ops-\u003ewrite_begin() to increase journal\nhandler\u0027s reference count. However, if either mext_replace_branches()\nor ext4_get_block fails, the increased reference count isn\u0027t\ndecreased. This will cause a later attempt to umount of the fs to hang\nforever. The patch addresses the issue by calling ext4_journal_stop()\nif page is not NULL (which means a_ops-\u003ewrite_end() isn\u0027t invoked).\n\nSigned-off-by: Peng Tao \u003cbergwolf@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c333e073b7bf76dc819a6b4ce6bef88ee5fa5e50",
      "tree": "500355f9b183c83afc47d2110175a175d775cb90",
      "parents": [
        "785b4b3a5a992eeb8b495a89b6f690b383010aba"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Aug 10 22:47:22 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 10 22:47:22 2009 -0400"
      },
      "message": "ext4: remove redundant test on unsigned\n\nunsigned i_block cannot be less than 0.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "785b4b3a5a992eeb8b495a89b6f690b383010aba",
      "tree": "2b67b107c268529de56f09b0ef86691899de6b96",
      "parents": [
        "1c718505171b06dbb60eafcb3fddba877dae5f7b"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Mon Jul 27 21:44:40 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 27 21:44:40 2009 -0400"
      },
      "message": "ext4: fix build warning when EXT4FS_DEBUG is on\n\nWhen compiling with EXT4FS_DEBUG on, gcc will complain with following warnings:\n\nlinux-2.6/fs/ext4/ialloc.c: In function ‘ext4_count_free_inodes’:\nlinux-2.6/fs/ext4/ialloc.c:1192: warning: format ‘%lu’ expects type\n‘long unsigned int’, but argument 2 has type ‘ext4_group_t’\n\nSo add a type cast to suppress it. \n\nSigned-off-by: Peng Tao \u003cbergwolf@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1c718505171b06dbb60eafcb3fddba877dae5f7b",
      "tree": "c50213e11adb1a97890428652d4111a7119189aa",
      "parents": [
        "5a4a798937f92413cb7dbdb6bd554186024092e9"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Sun Jul 05 23:04:36 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jul 05 23:04:36 2009 -0400"
      },
      "message": "ext4: Fix compile warnings with MB_DEBUG\n\nWhen MB_DEBUG is enabled, we get some compile warnings because\next4_group_t is unsigned int.  This patch fixes them.\n\nSigned-off-by Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5a4a798937f92413cb7dbdb6bd554186024092e9",
      "tree": "bbd4d948dfa72f4779dd0ebf96abd948a707ee49",
      "parents": [
        "6487a9d3b5476ffd1bbbe97e58cf26dbeb7a5d4a"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Jul 05 22:33:08 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jul 05 22:33:08 2009 -0400"
      },
      "message": "ext4: Remove unnecessary semicolons in mballoc.c\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "6487a9d3b5476ffd1bbbe97e58cf26dbeb7a5d4a",
      "tree": "6f03532934774f847e281a9eb52fbf539b36f42b",
      "parents": [
        "f6f50e28f0cb8d7bcdfaacc83129f005dede11b1"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Fri Jul 17 10:54:08 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 17 10:54:08 2009 -0400"
      },
      "message": "ext4: More buffer head reference leaks\n\nAfter the patch I posted last week regarding buffer head ref leaks in\nno-journal mode, I looked at all the code that uses buffer heads and\nsearched for more potential leaks.\n\nThe patch below fixes the issues I found; these can occur even when a\njournal is present.\n\nThe change to inode.c fixes a double release if\next4_journal_get_create_access() fails.\n\nThe changes to namei.c are more complicated.  add_dirent_to_buf() will\nrelease the input buffer head EXCEPT when it returns -ENOSPC.  There are\nsome callers of this routine that don\u0027t always do the brelse() in the event\nthat -ENOSPC is returned.  Unfortunately, to put this fix into ext4_add_entry()\nrequired capturing the return value of make_indexed_dir() and\nadd_dirent_to_buf().\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "78f1ddbb498283c2445c11b0dfa666424c301803",
      "tree": "aa25853e60d224812103ea5b5e520fc41d57cb05",
      "parents": [
        "43b38520296d0c1730c78c878e1d6d1a49122091"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 27 23:09:47 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 27 23:09:47 2009 -0400"
      },
      "message": "ext4: Avoid null pointer dereference when decoding EROFS w/o a journal\n\nWe need to check to make sure a journal is present before checking the\njournal flags in ext4_decode_error().\n\nSigned-off-by: Eric Sesterhenn \u003ceric.sesterhenn@lsexperts.de\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "43b38520296d0c1730c78c878e1d6d1a49122091",
      "tree": "31b420058ebb02d1ea0cd71ee4b037d1fa43fdae",
      "parents": [
        "024eab4d5bf7e3168a2b71038b3e04e6b1f376ed"
      ],
      "author": {
        "name": "Manish Katiyar",
        "email": "mkatiyar@gmail.com",
        "time": "Mon Jul 27 21:38:17 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 27 21:38:17 2009 -0400"
      },
      "message": "ext4: Fix typo in ext4/Kconfig\n\nSigned-off-by: Manish Katiyar \u003cmkatiyar@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "024eab4d5bf7e3168a2b71038b3e04e6b1f376ed",
      "tree": "1a588b519826ce0adde9c539e34154abcd2d156e",
      "parents": [
        "ab86e5765d41a5eb4239a1c04d613db87bea5ed8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jul 17 09:01:04 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jul 17 09:01:04 2009 -0400"
      },
      "message": "ext4: Fix memory leak fix when mounting an ext4 filesystem\n\nThe allocation of the ext4_group_info array was moved to a new\nfunction ext4_mb_add_group_info() in commit 5f21b0e6 so that online\nresize would use a common (and correct) codepath.  Unfortunately, the\ncall to the new ext4_mb_add_group_info() function was added without\nremoving the code which originally allocated the array.  This caused a\nmemory leak each time an ext4 filesystem was mounted.\n\nThe fix is simple; remove the code that did the original allocation,\nsince it is no longer needed.\n\nReported-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nTested-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0d34ec62e18984ac9476208660372306ef54e70d",
      "tree": "7b75d266b832bb8457369082fba86456ef88e568",
      "parents": [
        "e367626b6164aeecb97fb7c20509ed8696babc26"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 17:48:27 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ext4: Remove syncing logic from ext4_file_write\n\nThe syncing is now properly handled by generic_file_aio_write() so\nno special ext4 code is needed.\n\nCC: linux-ext4@vger.kernel.org\nCC: tytso@mit.edu\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1d5ccd1c422d7d292a9e45248aa36771900c6331",
      "tree": "6fa8e117697dcb42dfec026149dfea49325bed98",
      "parents": [
        "6d848a488ad83cc3891bb274691118f45ce6aab9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 12:12:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:09:04 2009 -0700"
      },
      "message": "ext[234]: move over to \u0027check_acl\u0027 permission model\n\nDon\u0027t implement per-filesystem \u0027extX_permission()\u0027 functions that have\nto be called for every path component operation, and instead just expose\nthe actual ACL checking so that the VFS layer can now do it for us.\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1cf29683f4414296dc772a87caa207cab16c310c",
      "tree": "90d05ba531c5ad48d8d171d5b78038a7df7728e7",
      "parents": [
        "4a390e07fc53ce9dd615d7b788e9ecc73f87ad94",
        "96577c43827697ca1af5982fa256a34786d0c720"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 13 16:39:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 13 16:39:25 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  jbd2: fix race between write_metadata_buffer and get_write_access\n  ext4: Fix ext4_mb_initialize_context() to initialize all fields\n  ext4: fix null handler of ioctls in no journal mode\n  ext4: Fix buffer head reference leak in no-journal mode\n  ext4: Move __ext4_journalled_writepage() to avoid forward declaration\n  ext4: Fix mmap/truncate race when blocksize \u003c pagesize \u0026\u0026 !nodellaoc\n  ext4: Fix mmap/truncate race when blocksize \u003c pagesize \u0026\u0026 delayed allocation\n  ext4: Don\u0027t look at buffer_heads outside i_size.\n  ext4: Fix goal inum check in the inode allocator\n  ext4: fix no journal corruption with locale-gen\n  ext4: Calculate required journal credits for inserting an extent properly\n  ext4: Fix truncation of symlinks after failed write\n  jbd2: Fix a race between checkpointing code and journal_get_write_access()\n  ext4: Use rcu_barrier() on module unload.\n  ext4: naturally align struct ext4_allocation_request\n  ext4: mark several more functions in mballoc.c as noinline\n  ext4: Fix potential reclaim deadlock when truncating partial block\n  jbd2: Remove GFP_ATOMIC kmalloc from inside spinlock critical region\n  ext4: Fix type warning on 64-bit platforms in tracing events header\n"
    },
    {
      "commit": "833576b362e15c38be3bfe43942cda693e56287c",
      "tree": "5a221bd167ae7f1b0575fd24fbc5e4cdae18a598",
      "parents": [
        "ac046f1d6121ccdda6db66bd88acd52418f489b2"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 13 09:45:52 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 13 09:45:52 2009 -0400"
      },
      "message": "ext4: Fix ext4_mb_initialize_context() to initialize all fields\n\nPavel Roskin pointed out that kmemcheck indicated that\next4_mb_store_history() was accessing uninitialized values of\nac-\u003eac_tail and ac-\u003eac_buddy leading to garbage in the mballoc\nhistory.  Fix this by initializing the entire structure to all zeros\nfirst.\n\nAlso, two fields were getting doubly initialized by the caller of\next4_mb_initialize_context, so remove them for efficiency\u0027s sake.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ac046f1d6121ccdda6db66bd88acd52418f489b2",
      "tree": "3a52ddd6ae7663b0cdd52a9eab059711626ae491",
      "parents": [
        "e6b5d30104db5f34110678ecab14988f1f1eff63"
      ],
      "author": {
        "name": "Peng Tao",
        "email": "bergwolf@gmail.com",
        "time": "Mon Jul 13 09:30:17 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 13 09:30:17 2009 -0400"
      },
      "message": "ext4: fix null handler of ioctls in no journal mode\n\nThe EXT4_IOC_GROUP_ADD and EXT4_IOC_GROUP_EXTEND ioctls should not\nflush the journal in no_journal mode.  Otherwise, running resize2fs on\na mounted no_journal partition triggers the following error messages:\n\nBUG: unable to handle kernel NULL pointer dereference at 00000014\nIP: [\u003cc039d282\u003e] _spin_lock+0x8/0x19\n*pde \u003d 00000000 \nOops: 0002 [#1] SMP\n\nSigned-off-by: Peng Tao \u003cbergwolf@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "e6b5d30104db5f34110678ecab14988f1f1eff63",
      "tree": "922408d70d388925f0113998649d56da475deff4",
      "parents": [
        "62e086be5d2abef8cad854bc5707329ad345f2ec"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Mon Jul 13 09:07:20 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 13 09:07:20 2009 -0400"
      },
      "message": "ext4: Fix buffer head reference leak in no-journal mode\n\nWe found a problem with buffer head reference leaks when using an ext4\npartition without a journal.  In particular, calls to ext4_forget() would\nnot to a brelse() on the input buffer head, which will cause pages they\nbelong to to not be reclaimable.\n\nFurther investigation showed that all places where ext4_journal_forget() and\next4_journal_revoke() are called are subject to the same problem.  The patch\nbelow changes __ext4_journal_forget/__ext4_journal_revoke to do an explicit\nrelease of the buffer head when the journal handle isn\u0027t valid.\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\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": "073aaa1b142461d91f83da66db1184d7c1b1edea",
      "tree": "2b54d185d78f1229418fca521a93e6b55c57248b",
      "parents": [
        "06b16e9f68edaa1e71aee943d3c030bcf7380af1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 09 12:11:54 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 24 08:17:07 2009 -0400"
      },
      "message": "helpers for acl caching + switch to those\n\nhelpers: get_cached_acl(inode, type), set_cached_acl(inode, type, acl),\nforget_cached_acl(inode, type).\n\nubifs/xattr.c needed includes reordered, the rest is a plain switchover.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d4bfe2f76d785cc77611a4bda8cedaff358d8c7d",
      "tree": "a8c953fe752afebadb4f0fb4aa3e80dbab934f7f",
      "parents": [
        "6582a0e6f6bc7bf64817b9e1a424782855292ab0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 08 19:54:26 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 24 08:17:04 2009 -0400"
      },
      "message": "switch ext4 to inode-\u003ei_acl\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "31583d6acf940d2951bc8716557b06d9de5a0c4b",
      "tree": "607aef385b0998f0cb7ff63b05407afed5182840",
      "parents": [
        "ee37ba7a4212c7420f12e6a2ad8a3966649ede7a",
        "f740f5ca056f0a4eff3abdf272a8a4ba3965d57d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 17:43:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 19 17:43:04 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  Fix kernel-doc parameter name typo in blk-settings.c:\n  block: rename CONFIG_LBD to CONFIG_LBDAF\n  block: Fix bounce_pfn setting\n  hd: stop defining MAJOR_NR\n"
    },
    {
      "commit": "90c699a9ee4be165966d40f1837909ccb8890a68",
      "tree": "ff136ce7b73c7d7bbf5eb4241d01cb3b930d3566",
      "parents": [
        "3a02c8e8142f7f133d4c6e72bc3e1d830e6b8b9e"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Fri Jun 19 08:08:50 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 19 08:08:50 2009 +0200"
      },
      "message": "block: rename CONFIG_LBD to CONFIG_LBDAF\n\nFollow-up to \"block: enable by default support for large devices\nand files on 32-bit archs\".\n\nRename CONFIG_LBD to CONFIG_LBDAF to:\n- allow update of existing [def]configs for \"default y\" change\n- reflect that it is used also for large files support nowadays\n\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "210ad6aedb332e73167ece5af9bd47f0da8c2aca",
      "tree": "29e463655148987f3bce2510d94e36da7dd07176",
      "parents": [
        "9c64daff9d5afb102dfe64a26829e26725538e58"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 08 15:22:25 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 17 00:36:35 2009 -0400"
      },
      "message": "ext4: avoid unnecessary spinlock in critical POSIX ACL path\n\nIf a filesystem supports POSIX ACL\u0027s, the VFS layer expects the filesystem\nto do POSIX ACL checks on any files not owned by the caller, and it does\nthis for every single pathname component that it looks up.\n\nThat obviously can be pretty expensive if the filesystem isn\u0027t careful\nabout it, especially with locking. That\u0027s doubly sad, since the common\ncase tends to be that there are no ACL\u0027s associated with the files in\nquestion.\n\next4 already caches the ACL data so that it doesn\u0027t have to look it up\nover and over again, but it does so by taking the inode-\u003ei_lock spinlock\non every lookup. Which is a noticeable overhead even if it\u0027s a private\nlock, especially on CPU\u0027s where the serialization is expensive (eg Intel\nNetburst aka \u0027P4\u0027).\n\nFor the special case of not actually having any ACL\u0027s, all that locking is\nunnecessary. Even if somebody else were to be changing the ACL\u0027s on\nanother CPU, we simply don\u0027t care - if we\u0027ve seen a NULL ACL, we might as\nwell use it.\n\nSo just load the ACL speculatively without any locking, and if it was\nNULL, just use it. If it\u0027s non-NULL (either because we had a cached\nentry, or because the cache hasn\u0027t been filled in at all), it means that\nwe\u0027ll need to get the lock and re-load it properly.\n\n(This commit was ported from a patch originally authored by Linus for\next3.)\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4159175058987cb68aefd0e9eec2598b795363b4",
      "tree": "452a3ef5f8f2ae4c79095519078383fe766d69ab",
      "parents": [
        "de9a55b841132f7ae097f6e31ccebad2d5030cf5"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 15 03:41:23 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 15 03:41:23 2009 -0400"
      },
      "message": "ext4: Don\u0027t update ctime for non-extent-mapped inodes\n\nThe VFS handles updating ctime, so we don\u0027t need to update the inode\u0027s\nctime in ext4_splace_branch() to update the direct or indirect blocks.\nThis was harmless when we did this in ext3, but in ext4, thanks to\ndelayed allocation, updating the ctime in ext4_splice_branch() can\ncause the ctime to mysteriously jump when the blocks are finally\nallocated.\n\nThanks to Björn Steinbrink for pointing out this problem on the git\nmailing list.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "62e086be5d2abef8cad854bc5707329ad345f2ec",
      "tree": "1f3ea5daf9325a338585e1368edf78a1d04747df",
      "parents": [
        "43ce1d23b43330634507a049b55c36e91d27282e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Jun 14 17:59:34 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jun 14 17:59:34 2009 -0400"
      },
      "message": "ext4: Move __ext4_journalled_writepage() to avoid forward declaration\n\nIn addition, fix two unused variable warnings.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "43ce1d23b43330634507a049b55c36e91d27282e",
      "tree": "d7532d7c0bea60b7bfe29dad51b4b92122acdd5a",
      "parents": [
        "c364b22c9580a885e0f8c0d0f9710d67dc448958"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Jun 14 17:58:45 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jun 14 17:58:45 2009 -0400"
      },
      "message": "ext4: Fix mmap/truncate race when blocksize \u003c pagesize \u0026\u0026 !nodellaoc\n\nThis patch fixes the mmap/truncate race that was fixed for delayed\nallocation by merging ext4_{journalled,normal,da}_writepage() into\next4_writepage().\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c364b22c9580a885e0f8c0d0f9710d67dc448958",
      "tree": "6a714e767afb7d08a648f8e23e4acca414896699",
      "parents": [
        "b767e78a179e5ab30fdbff1686d074ac270471eb"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Jun 14 17:57:10 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jun 14 17:57:10 2009 -0400"
      },
      "message": "ext4: Fix mmap/truncate race when blocksize \u003c pagesize \u0026\u0026 delayed allocation\n\nIt is possible to see buffer_heads which are not mapped in the\nwritepage callback in the following scneario (where the fs blocksize\nis 1k and the page size is 4k):\n\n1) truncate(f, 1024)\n2) mmap(f, 0, 4096)\n3) a[0] \u003d \u0027a\u0027\n4) truncate(f, 4096)\n5) writepage(...)\n\nNow if we get a writepage callback immediately after (4) and before an\nattempt to write at any other offset via mmap address (which implies we\nare yet to get a pagefault and do a get_block) what we would have is the\npage which is dirty have first block allocated and the other three\nbuffer_heads unmapped.\n\nIn the above case the writepage should go ahead and try to write the\nfirst blocks and clear the page_dirty flag. Further attempts to write\nto the page will again create a fault and result in allocating blocks\nand marking page dirty.  If we don\u0027t write any other offset via mmap\naddress we would still have written the first block to the disk and\nrest of the space will be considered as a hole.\n\nSo to address this, we change all of the places where we look for\ndelayed, unmapped, or unwritten buffer heads, and only check for\ndelayed or unwritten buffer heads instead.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "de9a55b841132f7ae097f6e31ccebad2d5030cf5",
      "tree": "9b66c7c68bff923a62d4c2b04114e22a8fa524e1",
      "parents": [
        "0610b6e99939828b77eec020ead0e1f44cba38ca"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jun 14 17:45:34 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jun 14 17:45:34 2009 -0400"
      },
      "message": "ext4: Fix up whitespace issues in fs/ext4/inode.c\n\nThis is a pure cleanup patch.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0610b6e99939828b77eec020ead0e1f44cba38ca",
      "tree": "ede610c64a0456a43618e500c577b35e462f8953",
      "parents": [
        "11013911daea4820147ae6d7094dd7c6894e8651"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 15 03:45:05 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 15 03:45:05 2009 -0400"
      },
      "message": "ext4: Fix 64-bit block type problem on 32-bit platforms\n\nThe function ext4_mb_free_blocks() was using an \"unsigned long\" to\npass a block number; this will cause 64-bit block numbers to get\ntruncated on x86 and other 32-bit platforms.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\n"
    },
    {
      "commit": "11013911daea4820147ae6d7094dd7c6894e8651",
      "tree": "f8e9f9d2058e0dfc826d4df3d88a7eb18a56b3f3",
      "parents": [
        "f157a4aa98a18bd3817a72bea90d48494e2586e7"
      ],
      "author": {
        "name": "Andreas Dilger",
        "email": "adilger@sun.com",
        "time": "Sat Jun 13 11:45:35 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 11:45:35 2009 -0400"
      },
      "message": "ext4: teach the inode allocator to use a goal inode number\n\nEnhance the inode allocator to take a goal inode number as a\nparemeter; if it is specified, it takes precedence over Orlov or\nparent directory inode allocation algorithms.\n\nThe extents migration function uses the goal inode number so that the\nextent trees allocated the migration function use the correct flex_bg.\nIn the future, the goal inode functionality will also be used to\nallocate an adjacent inode for the extended attributes.\n\nAlso, for testing purposes the goal inode number can be specified via\n/sys/fs/{dev}/inode_goal.  This can be useful for testing inode\nallocation beyond 2^32 blocks on very large filesystems.\n\nSigned-off-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f157a4aa98a18bd3817a72bea90d48494e2586e7",
      "tree": "105547639a67296b4ea7acdc35c9e65ee2a85fd8",
      "parents": [
        "8a8a2050c844d9de224ff591e91bda3f77bd6eda"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 11:09:42 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 11:09:42 2009 -0400"
      },
      "message": "ext4: Use a hash of the topdir directory name for the Orlov parent group\n\nInstead of using a random number to determine the goal parent grop for\nthe Orlov top directories, use a hash of the directory name.  This\nallows for repeatable results when trying to benchmark filesystem\nlayout algorithms.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "4ab2f15b7f709c3626a7eed075a7225b4c775c7e",
      "tree": "bfefc592c4c2eb176162134c615132e75f810486",
      "parents": [
        "bc0b0d6d69ee9022f18ae264e62beb30ddeb322a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 10:09:36 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 10:09:36 2009 -0400"
      },
      "message": "ext4: move the abort flag from s_mount_opts to s_mount_flags\n\nWe\u0027re running out of space in the mount options word, and\nEXT4_MOUNT_ABORT isn\u0027t really a mount option, but a run-time flag.  So\nmove it to become EXT4_MF_FS_ABORTED in s_mount_flags.\n\nAlso remove bogus ext2_fs.h / ext4.h simultaneous #include protection,\nwhich can never happen.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bc0b0d6d69ee9022f18ae264e62beb30ddeb322a",
      "tree": "fb1d04af657b6de21fa441c1d14fc296f32c723e",
      "parents": [
        "7f4520cc6242780ce720aa440ad4b391f998b558"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 10:09:48 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 10:09:48 2009 -0400"
      },
      "message": "ext4: update the s_last_mounted field in the superblock\n\nThis field can be very helpful when a system administrator is trying\nto sort through large numbers of block devices or filesystem images.\nWhat is stored in this field can be ambiguous if multiple filesystem\nnamespaces are in play; what we store in practice is the mountpoint\ninterpreted by the process\u0027s namespace which first opens a file in the\nfilesystem.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "7f4520cc6242780ce720aa440ad4b391f998b558",
      "tree": "c8f1d99e019f2e29a967851031f4a60bf7ab1467",
      "parents": [
        "748de6736c1e482e111f9d1b5a5d5b1787600cad"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 10:09:41 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jun 13 10:09:41 2009 -0400"
      },
      "message": "ext4: change s_mount_opt to be an unsigned int\n\nWe can only fit 32 options in s_mount_opt because an unsigned long is\n32-bits on a x86 machine.  So use an unsigned int to save space on\n64-bit platforms.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "748de6736c1e482e111f9d1b5a5d5b1787600cad",
      "tree": "9e5bd6085cd0eea0453c2a8bbce1422f291f059f",
      "parents": [
        "8b0f9e8f78bd0a65fa001bf18f2c47eef2893a10"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Wed Jun 17 19:24:03 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jun 17 19:24:03 2009 -0400"
      },
      "message": "ext4: online defrag -- Add EXT4_IOC_MOVE_EXT ioctl\n\nThe EXT4_IOC_MOVE_EXT exchanges the blocks between orig_fd and donor_fd,\nand then write the file data of orig_fd to donor_fd.\next4_mext_move_extent() is the main fucntion of ext4 online defrag,\nand this patch includes all functions related to ext4 online defrag.\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Kazuya Mio \u003ck-mio@sx.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "337eb00a2c3a421999c39c94ce7e33545ee8baa7",
      "tree": "d9b780d095b638b1d8fa23841ff70347cf5daa08",
      "parents": [
        "4195f73d1329e49727bcceb028e58cb38376c2b0"
      ],
      "author": {
        "name": "Alessio Igor Bogani",
        "email": "abogani@texware.it",
        "time": "Tue May 12 15:10:54 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:11 2009 -0400"
      },
      "message": "Push BKL down into -\u003eremount_fs()\n\n[xfs, btrfs, capifs, shmem don\u0027t need BKL, exempt]\n\nSigned-off-by: Alessio Igor Bogani \u003cabogani@texware.it\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebc1ac164560a241d9bf1b7519062910c3f90a01",
      "tree": "db17fd3043b15f8269cce2c2d00213814022fc30",
      "parents": [
        "01ba687577647beef6c5f2ea59bfb56fac9fcde2"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon May 11 23:35:03 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:09 2009 -0400"
      },
      "message": "-\u003ewrite_super lock_super pushdown\n\nPush down lock_super into -\u003ewrite_super instances and remove it from the\ncaller.\n\nFollowing filesystem don\u0027t need -\u003es_lock in -\u003ewrite_super and are skipped:\n\n * bfs, nilfs2 - no other uses of s_lock and have internal locks in\n\t-\u003ewrite_super\n * ext2 - uses BKL in ext2_write_super and has internal calls without s_lock\n * reiserfs - no other uses of s_lock as has reiserfs_write_lock (BKL) in\n \t-\u003ewrite_super\n * xfs - no other uses of s_lock and uses internal lock (buffer lock on\n\tsuperblock buffer) to serialize -\u003ewrite_super.  Also xfs_fs_write_super\n\tis superflous and will go away in the next merge window\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bbd6851a3213a525128473e978b692ab6ac11aba",
      "tree": "8ebddebadd8992871ab98456187cb00849a82058",
      "parents": [
        "6cfd0148425e528b859b26e436b01f23f6926224"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 06 10:43:07 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:08 2009 -0400"
      },
      "message": "Push lock_super() into the -\u003eremount_fs() of filesystems that care about it\n\nNote that since we can\u0027t run into contention between remount_fs and write_super\n(due to exclusion on s_umount), we have to care only about filesystems that\ntouch lock_super() on their own.  Out of those ext3, ext4, hpfs, sysv and ufs\ndo need it; fat doesn\u0027t since its -\u003eremount_fs() only accesses assign-once\ndata (basically, it\u0027s \"we have no atime on directories and only have atime on\nfiles for vfat; force nodiratime and possibly noatime into *flags\").\n\n[folded a build fix from hch]\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6cfd0148425e528b859b26e436b01f23f6926224",
      "tree": "60e3257053554ff198fe5825e6f12a00c3b4422a",
      "parents": [
        "a9e220f8322e2b0e0b8903fe00265461cffad3f0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue May 05 15:40:36 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "push BKL down into -\u003eput_super\n\nMove BKL into -\u003eput_super from the only caller.  A couple of\nfilesystems had trivial enough -\u003eput_super (only kfree and NULLing of\ns_fs_info + stuff in there) to not get any locking: coda, cramfs, efs,\nhugetlbfs, omfs, qnx4, shmem, all others got the full treatment.  Most\nof them probably don\u0027t need it, but I\u0027d rather sort that out individually.\nPreferably after all the other BKL pushdowns in that area.\n\n[AV: original used to move lock_super() down as well; these changes are\nremoved since we don\u0027t do lock_super() at all in generic_shutdown_super()\nnow]\n[AV: fuse, btrfs and xfs are known to need no damn BKL, exempt]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a9e220f8322e2b0e0b8903fe00265461cffad3f0",
      "tree": "b3be7d58b8eb9fd810636223f0458191ec1b9d75",
      "parents": [
        "62c6943b4b1e818aea60c11c5a68a50785b83119"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue May 05 22:10:44 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:07 2009 -0400"
      },
      "message": "No need to do lock_super() for exclusion in generic_shutdown_super()\n\nWe can\u0027t run into contention on it.  All other callers of lock_super()\neither hold s_umount (and we have it exclusive) or hold an active\nreference to superblock in question, which prevents the call of\ngeneric_shutdown_super() while the reference is held.  So we can\nreplace lock_super(s) with get_fs_excl() in generic_shutdown_super()\n(and corresponding change for unlock_super(), of course).\n\nSince ext4 expects s_lock held for its put_super, take lock_super()\ninto it.  The rest of filesystems do not care at all.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8c85e125124a473d6f3e9bb187b0b84207f81d91",
      "tree": "d883424a156c00c55193e46567efdffddb6ef6b9",
      "parents": [
        "517bfae28353e996160518add4d00033d3886e61"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Apr 28 18:00:26 2009 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:06 2009 -0400"
      },
      "message": "remove -\u003ewrite_super call in generic_shutdown_super\n\nWe just did a full fs writeout using sync_filesystem before, and if\nthat\u0027s not enough for the filesystem it can perform it\u0027s own writeout\nin -\u003eput_super, which many filesystems already do.\n\nMove a call to foofs_write_super into every foofs_put_super for now to\nguarantee identical behaviour until it\u0027s cleaned up by the individual\nfilesystem maintainers.\n\nExceptions:\n\n - affs already has identical copy \u0026 pasted code at the beginning of\n   affs_put_super so no need to do it twice.\n - xfs does the right thing without it and I have changes pending for\n   the xfs tree touching this are so I don\u0027t really need conflicts\n   here..\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c9059598ea8981d02356eead3188bf7fa4d717b8",
      "tree": "03e73b20a30e988da7c6a3e0ad93b2dc5843274d",
      "parents": [
        "0a33f80a8373eca7f4bea3961d1346c3815fa5ed",
        "b0fd271d5fba0b2d00888363f3869e3f9b26caa9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:52:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 11:10:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block: (153 commits)\n  block: add request clone interface (v2)\n  floppy: fix hibernation\n  ramdisk: remove long-deprecated \"ramdisk\u003d\" boot-time parameter\n  fs/bio.c: add missing __user annotation\n  block: prevent possible io_context-\u003erefcount overflow\n  Add serial number support for virtio_blk, V4a\n  block: Add missing bounce_pfn stacking and fix comments\n  Revert \"block: Fix bounce limit setting in DM\"\n  cciss: decode unit attention in SCSI error handling code\n  cciss: Remove no longer needed sendcmd reject processing code\n  cciss: change SCSI error handling routines to work with interrupts enabled.\n  cciss: separate error processing and command retrying code in sendcmd_withirq_core()\n  cciss: factor out fix target status processing code from sendcmd functions\n  cciss: simplify interface of sendcmd() and sendcmd_withirq()\n  cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code\n  cciss: Use schedule_timeout_uninterruptible in SCSI error handling code\n  block: needs to set the residual length of a bidi request\n  Revert \"block: implement blkdev_readpages\"\n  block: Fix bounce limit setting in DM\n  Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt\n  ...\n\nManually fix conflicts with tracing updates in:\n\tblock/blk-sysfs.c\n\tdrivers/ide/ide-atapi.c\n\tdrivers/ide/ide-cd.c\n\tdrivers/ide/ide-floppy.c\n\tdrivers/ide/ide-tape.c\n\tinclude/trace/events/block.h\n\tkernel/trace/blktrace.c\n"
    },
    {
      "commit": "a41f20716975910d9beb90b7efc61107901492b8",
      "tree": "99d3987296660884b998be4d2308d38ca84670a6",
      "parents": [
        "0eab928221bac8895a0b494a16a8810002bd8645"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Jun 10 14:22:55 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Jun 10 14:22:55 2009 -0400"
      },
      "message": "ext4: Avoid corrupting the uninitialized bit in the extent during truncate\n\nThe unitialized bit was not properly getting preserved in in an extent\nwhich is partially truncated because the it was geting set to the\nvalue of the first extent to be removed or truncated as part of the\ntruncate operation, and if there are multiple extents are getting\nremoved or modified as part of the truncate operation, it is only the\nlast extent which will might be partially truncated, and its\nuninitalized bit is not necessarily the same as the first extent to be\ntruncated.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "0eab928221bac8895a0b494a16a8810002bd8645",
      "tree": "733ca0ee831fffb3fd2c96b6715250e79e7a24fa",
      "parents": [
        "9aee2286071c23c535fe9928eec1a26e0bcf256d"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 09 09:54:40 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 09 09:54:40 2009 -0400"
      },
      "message": "ext4: Don\u0027t treat a truncation of a zero-length file as replace-via-truncate\n\nIf a non-existent file is opened via O_WRONLY|O_CREAT|O_TRUNC, there\u0027s\nno need to treat this as a true file truncation, so we shouldn\u0027t\nactivate the replace-via-truncate hueristic.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "9aee2286071c23c535fe9928eec1a26e0bcf256d",
      "tree": "e0518acaa75c1399ffcf67ca74a54d5a9488296b",
      "parents": [
        "f8514083cd61daef12fba5ef883ad9352c450428"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Mon Jun 08 12:41:35 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jun 08 12:41:35 2009 -0400"
      },
      "message": "ext4: fix dx_map_entry to support 256k directory blocks\n\nThe dx_map_entry structure doesn\u0027t support over 64KB block size by\ncurrent usage of its member(\"offs\"). Because \"offs\" treats an offset\nof copies of the ext4_dir_entry_2 structure as is. This member size is\n16 bits. But real offset for over 64KB(256KB) block size needs 18\nbits. However, real offset keeps 4 byte boundary, so lower 2 bits is\nnot used.\n\nTherefore, we do the following to fix this limitation:\nFor \"store\": \n\twe divide the real offset by 4 and then store this result to \"offs\" \n\tmember.\nFor \"use\":\n\twe multiply \"offs\" member by 4 and then use this result \n\tas real offset.\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f8514083cd61daef12fba5ef883ad9352c450428",
      "tree": "46cbf0c28ea112229c3ee9209750c8017f1b9385",
      "parents": [
        "1938a150c25bf7c2c47182e753a1038945b70b0e"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jun 05 00:56:49 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jun 05 00:56:49 2009 -0400"
      },
      "message": "ext4: truncate the file properly if we fail to copy data from userspace\n\nIn generic_perform_write if we fail to copy the user data we don\u0027t\nupdate the inode-\u003ei_size.  We should truncate the file in the above\ncase so that we don\u0027t have blocks allocated outside inode-\u003ei_size.  Add\nthe inode to orphan list in the same transaction as block allocation\nThis ensures that if we crash in between the recovery would do the\ntruncate.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCC:  Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "1938a150c25bf7c2c47182e753a1038945b70b0e",
      "tree": "cab711b2868d719c6f460a75387acf84f6b37576",
      "parents": [
        "b31e15527a9bb71b6a11a425d17ce139a62f5af5"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Fri Jun 05 01:00:26 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jun 05 01:00:26 2009 -0400"
      },
      "message": "ext4: Avoid leaking blocks after a block allocation failure\n\nWe should add inode to the orphan list in the same transaction\nas block allocation.  This ensures that if we crash after a failed\nblock allocation and before we do a vmtruncate we don\u0027t leak block\n(ie block marked as used in bitmap but not claimed by the inode).\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCC:  Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b31e15527a9bb71b6a11a425d17ce139a62f5af5",
      "tree": "3b8fdb014e3b960b27369643de9ad1213ec2cbba",
      "parents": [
        "03f5d8bcf094a5e3b501bd2ae1553656efa8d1be"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Thu Jun 04 17:36:36 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jun 04 17:36:36 2009 -0400"
      },
      "message": "ext4: Change all super.c messages to print the device\n\nThis patch changes ext4 super.c to include the device name with all \nwarning/error messages, by using a new utility function ext4_msg. \nIt\u0027s a rather large patch, but very mechanic. I left debug printks\nalone.\n\nThis is a straightforward port of a patch which Andi Kleen did for\next3.\n\nCc: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "03f5d8bcf094a5e3b501bd2ae1553656efa8d1be",
      "tree": "04644e9008e7357fd87f14fee6404b7c306bc3e9",
      "parents": [
        "0b8e58a140cae2ba1c4a21ccae7c6c3c939c51f9"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jun 09 00:17:05 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jun 09 00:17:05 2009 -0400"
      },
      "message": "ext4: Get rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle()\n\nGet rid of EXTEND_DISKSIZE flag of ext4_get_blocks_handle(). This\nseems to be a relict from some old days and setting disksize in this\nfunction does not make much sense.  Currently it was set only by\next4_getblk().  Since the parameter has some effect only if create \u003d\u003d\n1, it is easy to check by grepping through the sources that the three\ncallers which end up calling ext4_getblk() with create \u003d\u003d 1\n(ext4_append, ext4_quota_write, ext4_mkdir) do the right thing and set\ndisksize themselves.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b767e78a179e5ab30fdbff1686d074ac270471eb",
      "tree": "1ff6c357cf52e23acbed789adf20bca432e2b465",
      "parents": [
        "e6462869e4fd88be5141a356ee0c28d8067340cc"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Thu Jun 04 08:06:06 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jun 04 08:06:06 2009 -0400"
      },
      "message": "ext4: Don\u0027t look at buffer_heads outside i_size.\n\nBuffer heads outside i_size will be unmapped. So when we\nare doing \"walk_page_buffers\" limit ourself to i_size.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nReviewed-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n----\n"
    },
    {
      "commit": "e6462869e4fd88be5141a356ee0c28d8067340cc",
      "tree": "f22c68d85bc9192944d81dd0cec4b8c7f6827b9a",
      "parents": [
        "5adfee9c17314c1411095c23191c3cb0c2d25f9f"
      ],
      "author": {
        "name": "Johann Lombardi",
        "email": "johann@Sun.COM",
        "time": "Sun Jul 05 23:45:11 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Jul 05 23:45:11 2009 -0400"
      },
      "message": "ext4: Fix goal inum check in the inode allocator\n\nThe goal inode is specificed by inode number which belongs\nto [1; s_inodes_count].\n\nSigned-off-by: Johann Lombardi \u003cjohann@sun.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    }
  ],
  "next": "5adfee9c17314c1411095c23191c3cb0c2d25f9f"
}
