)]}'
{
  "log": [
    {
      "commit": "774f03fb2cf89951b5f5f363b7739a2835d5924e",
      "tree": "d269578e834e95332b2352addee2b59976eb54ec",
      "parents": [
        "fc7683a3c30c22131b1651271d6bf9ea113b77c5"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Fri Mar 26 19:29:55 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Apr 12 21:11:39 2010 +0200"
      },
      "message": "ext3: symlink must be handled via filesystem specific operation\n\ngeneric setattr implementation is no longer responsible for\nquota transfer so synlinks must be handled via ext3_setattr.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "de329820e920cd9cfbc2127cad26a37026260cce",
      "tree": "c392dbee75854e1f0b950f9d16dcf03214c63e80",
      "parents": [
        "ad4ba059005f18ec9e274966c16d99fc5ce8b2cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:30:19 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Mar 29 14:30:19 2010 -0700"
      },
      "message": "ext3: fix broken handling of EXT3_STATE_NEW\n\nIn commit 9df93939b735 (\"ext3: Use bitops to read/modify\nEXT3_I(inode)-\u003ei_state\") ext3 changed its internal \u0027i_state\u0027 variable to\nuse bitops for its state handling.  However, unline the same ext4\nchange, it didn\u0027t actually change the name of the field when it changed\nthe semantics of it.\n\nAs a result, an old use of \u0027i_state\u0027 remained in fs/ext3/ialloc.c that\ninitialized the field to EXT3_STATE_NEW.  And that does not work\n_at_all_ when we\u0027re now working with individually named bits rather than\nvalues that get masked.  So the code tried to mark the state to be new,\nbut in actual fact set the field to EXT3_STATE_JDATA.  Which makes no\nsense at all, and screws up all the code that checks whether the inode\nwas newly allocated.\n\nIn particular, it made the xattr code unhappy, and caused various random\nbehavior, like apparently\n\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d577911\n\nSo fix the initialization, and rename the field to match ext4 so that we\ndon\u0027t have this happen again.\n\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Daniel J Walsh \u003cdwalsh@redhat.com\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "e213e26ab3988c516c06eba4dcd030ac052f6dc9",
      "tree": "6e26fbdbb842b387697d73daf6e70cf718269a77",
      "parents": [
        "c812a51d11bbe983f4c24e32b59b265705ddd3c2",
        "efd8f0e6f6c1faa041f228d7113bd3a9db802d49"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 05 13:20:53 2010 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (33 commits)\n  quota: stop using QUOTA_OK / NO_QUOTA\n  dquot: cleanup dquot initialize routine\n  dquot: move dquot initialization responsibility into the filesystem\n  dquot: cleanup dquot drop routine\n  dquot: move dquot drop responsibility into the filesystem\n  dquot: cleanup dquot transfer routine\n  dquot: move dquot transfer responsibility into the filesystem\n  dquot: cleanup inode allocation / freeing routines\n  dquot: cleanup space allocation / freeing routines\n  ext3: add writepage sanity checks\n  ext3: Truncate allocated blocks if direct IO write fails to update i_size\n  quota: Properly invalidate caches even for filesystems with blocksize \u003c pagesize\n  quota: generalize quota transfer interface\n  quota: sb_quota state flags cleanup\n  jbd: Delay discarding buffers in journal_unmap_buffer\n  ext3: quota_write cross block boundary behaviour\n  quota: drop permission checks from xfs_fs_set_xstate/xfs_fs_set_xquota\n  quota: split out compat_sys_quotactl support from quota.c\n  quota: split out netlink notification support from quota.c\n  quota: remove invalid optimization from quota_sync_all\n  ...\n\nFixed trivial conflicts in fs/namei.c and fs/ufs/inode.c\n"
    },
    {
      "commit": "a9185b41a4f84971b930c519f0c63bd450c4810d",
      "tree": "268cf4e206cca12fb9e1dd68984e7c190e465b46",
      "parents": [
        "26821ed40b4230259e770c9911180f38fcaa6f59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Mar 05 09:21:37 2010 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 05 13:25:52 2010 -0500"
      },
      "message": "pass writeback_control to -\u003ewrite_inode\n\nThis gives the filesystem more information about the writeback that\nis happening.  Trond requested this for the NFS unstable write handling,\nand other filesystems might benefit from this too by beeing able to\ndistinguish between the different callers in more detail.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "871a293155a24554e153538d36e3a80fa169aefb",
      "tree": "7e38f5a2f9e87f63cbc4bc1077a4bb49dde441b0",
      "parents": [
        "907f4554e2521cb28b0009d17167760650a9561c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:07 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot initialize routine\n\nGet rid of the initialize dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_initialize helper to __dquot_initialize\nand vfs_dq_init to dquot_initialize to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "907f4554e2521cb28b0009d17167760650a9561c",
      "tree": "68dc49163fd34331f8efbd63592c8f1baa387031",
      "parents": [
        "9f7547580263d4a55efe06ce5cfd567f568be6e8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:06 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: move dquot initialization responsibility into the filesystem\n\nCurrently various places in the VFS call vfs_dq_init directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the initialization.   For most metadata operations\nthis is a straight forward move into the methods, but for truncate and\nopen it\u0027s a bit more complicated.\n\nFor truncate we currently only call vfs_dq_init for the sys_truncate case\nbecause open already takes care of it for ftruncate and open(O_TRUNC) - the\nnew code causes an additional vfs_dq_init for those which is harmless.\n\nFor open the initialization is moved from do_filp_open into the open method,\nwhich means it happens slightly earlier now, and only for regular files.\nThe latter is fine because we don\u0027t need to initialize it for operations\non special files, and we already do it as part of the namespace operations\nfor directories.\n\nAdd a dquot_file_open helper that filesystems that support generic quotas\ncan use to fill in -\u003eopen.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9f7547580263d4a55efe06ce5cfd567f568be6e8",
      "tree": "6f926a075eeed815d0a6680c06f235da0e5ea6d9",
      "parents": [
        "257ba15cedf1288f0c96118d7e63947231d27278"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:05 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:30 2010 +0100"
      },
      "message": "dquot: cleanup dquot drop routine\n\nGet rid of the drop dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_drop helper to __dquot_drop\nand vfs_dq_drop to dquot_drop to have a consistent namespace.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "257ba15cedf1288f0c96118d7e63947231d27278",
      "tree": "7a977a0ea08a324ce74aedce19406cb0688f15e2",
      "parents": [
        "b43fa8284d7790d9cca32c9c55e24f29be2fa33b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:04 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:29 2010 +0100"
      },
      "message": "dquot: move dquot drop responsibility into the filesystem\n\nCurrently clear_inode calls vfs_dq_drop directly.  This means\nwe tie the quota code into the VFS.  Get rid of that and make the\nfilesystem responsible for the drop inside the -\u003eclear_inode\nsuperblock operation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b43fa8284d7790d9cca32c9c55e24f29be2fa33b",
      "tree": "acb7f205fe2a1ae324e0e11c50f43baaa6b8dfab",
      "parents": [
        "759bfee658beab14af7b357156461d0eb852be2c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:03 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:29 2010 +0100"
      },
      "message": "dquot: cleanup dquot transfer routine\n\nGet rid of the transfer dquot operation - it is now always called from\nthe filesystem and if a filesystem really needs it\u0027s own (which none\ncurrently does) it can just call into it\u0027s own routine directly.\n\nRename the now static low-level dquot_transfer helper to __dquot_transfer\nand vfs_dq_transfer to dquot_transfer to have a consistent namespace,\nand make the new dquot_transfer return a normal negative errno value\nwhich all callers expect.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "63936ddaa16b9486e2d426ed7b09f559a5c60f87",
      "tree": "4cb1c4581799e10c26dd71d1a7d420de3c2cfd05",
      "parents": [
        "5dd4056db84387975140ff2568eaa0406f07985e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:01 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup inode allocation / freeing routines\n\nGet rid of the alloc_inode and free_inode dquot operations - they are\nalways called from the filesystem and if a filesystem really needs\ntheir own (which none currently does) it can just call into it\u0027s\nown routine directly.\n\nAlso get rid of the vfs_dq_alloc/vfs_dq_free wrappers and always\ncall the lowlevel dquot_alloc_inode / dqout_free_inode routines\ndirectly, which now lose the number argument which is always 1.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5dd4056db84387975140ff2568eaa0406f07985e",
      "tree": "03c26d7f6e3367b167bfeeb1a01654c6619573f4",
      "parents": [
        "49792c806d0bfd53afc789dcdf50dc9bed2c5b83"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Wed Mar 03 09:05:00 2010 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:28 2010 +0100"
      },
      "message": "dquot: cleanup space allocation / freeing routines\n\nGet rid of the alloc_space, free_space, reserve_space, claim_space and\nrelease_rsv dquot operations - they are always called from the filesystem\nand if a filesystem really needs their own (which none currently does)\nit can just call into it\u0027s own routine directly.\n\nMove shared logic into the common __dquot_alloc_space,\ndquot_claim_space_nodirty and __dquot_free_space low-level methods,\nand rationalize the wrappers around it to move as much as possible\ncode into the common block for CONFIG_QUOTA vs not.  Also rename\nall these helpers to be named dquot_* instead of vfs_dq_*.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "49792c806d0bfd53afc789dcdf50dc9bed2c5b83",
      "tree": "b24280fa76abad273e0f009a9cfe49b594c2becf",
      "parents": [
        "7eb4969e04060dcf3fbd46af9c21b1059b853068"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Mar 02 15:51:02 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:27 2010 +0100"
      },
      "message": "ext3: add writepage sanity checks\n\n- There is theoretical possibility to perform writepage on\n   RO superblock. Add explicit check for what case.\n- Page must being locked before writepage.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "7eb4969e04060dcf3fbd46af9c21b1059b853068",
      "tree": "ac093841df6abbe2d517af6656b149ad42536648",
      "parents": [
        "ab94c39b6fa076d4f6d2903dcc54cda35d938776"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Mar 01 14:02:37 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:27 2010 +0100"
      },
      "message": "ext3: Truncate allocated blocks if direct IO write fails to update i_size\n\nWe have to truncate blocks allocated to file during direct IO when we\nfail to update i_size properly.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e5472147e1c0712d95d973acfdbd862957c77add",
      "tree": "a1e48e5e57931e53c3c9991b5005dd911299a71a",
      "parents": [
        "ac0e773718dc20551e72900d2e7eada96ac91100"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 16 19:33:42 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:26 2010 +0100"
      },
      "message": "ext3: quota_write cross block boundary behaviour\n\nWe always assume what dquot update result in changes in one data block\nBut ext3_quota_write() function may handle cross block boundary writes\nIn fact if this ever happen it will result in incorrect journal credits\nreservation. And later bug_on triggering. As soon this never happen the\nboundary cross loop is NOOP. In order to make things straight\nlet\u0027s remove this loop and assert cross boundary condition.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e1f5c67a1994312300ebc41195e6f5bea2f6c065",
      "tree": "98f521004fe9dc83d3662d41ae5323f1286dab11",
      "parents": [
        "e3c9643597ac4bd6b5db62b5e7d915f8c8fa34b6"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 02 16:05:53 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:20 2010 +0100"
      },
      "message": "ext3: trivial quota cleanup\n\nThe patch is aimed to reorganize and simplify quota code a bit.\nQuota code is itself complex enouth, but we can make it more readable\nin some places:\n- Move quota option parsing to separate functions.\n- Simplify old-quota and journaled-quota mix check.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "e3c9643597ac4bd6b5db62b5e7d915f8c8fa34b6",
      "tree": "6b48a883406072c3f22218544a8c679271f5e44d",
      "parents": [
        "9df93939b735dd273e49cbee290b9f4738500ef4"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Feb 02 16:05:51 2010 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:20 2010 +0100"
      },
      "message": "ext3: mount flags manipulation cleanup\n\nReplace intermediate EXT3_MOUNT_XXX flags manipulation to\ncorresponding macro.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9df93939b735dd273e49cbee290b9f4738500ef4",
      "tree": "2840172239e13d1c0fea496755b8346a9b394336",
      "parents": [
        "26245c949c8473ea7352907b5a54bc34487eb87f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 06 21:58:48 2010 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Mar 05 00:20:20 2010 +0100"
      },
      "message": "ext3: Use bitops to read/modify EXT3_I(inode)-\u003ei_state\n\nAt several places we modify EXT3_I(inode)-\u003ei_state without holding i_mutex\n(ext3_release_file, ext3_bmap, ext3_journalled_writepage, ext3_do_update_inode,\n...). These modifications are racy and we can lose updates to i_state. So\nconvert handling of i_state to use bitops which are atomic.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d6b198bc8a67deee5984fb9506f000ae4fce9d75",
      "tree": "443b1ddaf619a87674bf42bc18360789f4a8b812",
      "parents": [
        "db18efac0bd644e4b7af757394ca0bef8d91dcee"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@holoscopio.com",
        "time": "Sun Jan 17 19:10:07 2010 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Feb 05 12:22:36 2010 +0100"
      },
      "message": "fix ext3/ext4 comment typo compain -\u003e complain\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@holoscopio.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "96d2a495c25d525873529b736cdb63ad502b101c",
      "tree": "7ceb418c1e26e682cc0c43d47efe4eb2cc639de9",
      "parents": [
        "b8a052d01669977f224255b0f9f2737018171ddb"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 13:01:05 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:12 2009 +0100"
      },
      "message": "ext3: Replace lock/unlock_super() with an explicit lock for resizing\n\nUse a separate lock to protect s_groups_count and the other block\ngroup descriptors which get changed via an on-line resize operation,\nso we can stop overloading the use of lock_super().\n\nPort of ext4 commit 32ed5058ce90024efcd811254b4b1de0468099df by\nTheodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b8a052d01669977f224255b0f9f2737018171ddb",
      "tree": "2ef6c2e038d269f2bc4eb73e82439f0301d5c6b1",
      "parents": [
        "4854a5f0cbb1967fc7db3ea861d97afeea78b88b"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 13:00:30 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:11 2009 +0100"
      },
      "message": "ext3: Replace lock/unlock_super() with an explicit lock for the orphan list\n\nUse a separate lock to protect the orphan list, so we can stop\noverloading the use of lock_super().\n\nPort of ext4 commit 3b9d4ed26680771295d904a6b83e88e620780893\nby Theodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4854a5f0cbb1967fc7db3ea861d97afeea78b88b",
      "tree": "092ac94277b2f3fc506f177a04f3e541e14b8aaa",
      "parents": [
        "ed505ee454dbf133b1a4067d3ac0325d4261eda1"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 12:59:59 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:44:11 2009 +0100"
      },
      "message": "ext3: ext3_mark_recovery_complete() doesn\u0027t need to use lock_super\n\nThe function ext3_mark_recovery_complete() is called from two call\npaths: either (a) while mounting the filesystem, in which case there\u0027s\nno danger of any other CPU calling write_super() until the mount is\ncompleted, and (b) while remounting the filesystem read-write, in\nwhich case the fs core has already locked the superblock.  This also\nallows us to take out a very vile unlock_super()/lock_super() pair in\next3_remount().\n\nPort of ext4 commit a63c9eb2ce6f5028da90f282798232c4f398ceb8 by\nTheodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "ed505ee454dbf133b1a4067d3ac0325d4261eda1",
      "tree": "352720f71d096b838d7db68b2005a00ee4966a2e",
      "parents": [
        "dc52dd3a3a800e70b3440ea4424f8c87ab043e42"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Dec 14 12:59:18 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:43:50 2009 +0100"
      },
      "message": "ext3: Remove outdated comment about lock_super()\n\next3_fill_super() is no longer called by read_super(), and it is no\nlonger called with the superblock locked.  The\nunlock_super()/lock_super() is no longer present, so this comment is\nentirely superfluous.\n\nPort of ext4 commit 32ed5058ce90024efcd811254b4b1de0468099df by\nTheodore Ts\u0027o \u003ctytso@mit.edu\u003e.\n\nCC: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c459001fa4f71deafb62e00fa70d35f695498965",
      "tree": "ec3bf9ebcd0b06944174ff5ec0d8e7136e7d91ff",
      "parents": [
        "c9f937e4a3f4ebf9924ec21d80632e5eb61d949c"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Wed Dec 09 03:05:30 2009 +0300"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Dec 23 13:33:54 2009 +0100"
      },
      "message": "ext3: quota macros cleanup [V2]\n\nCurrently all quota block reservation macros contains hardcoded \"2\"\naka MAXQUOTAS value. This is no good because in some places it is not\nobvious to understand what does this digit represent. Let\u0027s introduce\nnew macro with self descriptive name.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "431547b3c4533b8c7fd150ab36980b9a3147797b",
      "tree": "807ff2790f3c13c7c91ed2afd6d833032899482d",
      "parents": [
        "ef26ca97e83052790940cbc444b01b0d17a813c1"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Nov 13 09:52:56 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 16 12:16:49 2009 -0500"
      },
      "message": "sanitize xattr handler prototypes\n\nAdd a flags argument to struct xattr_handler and pass it to all xattr\nhandler methods.  This allows using the same methods for multiple\nhandlers, e.g. for the ACL methods which perform exactly the same action\nfor the access and default ACLs, just using a different underlying\nattribute.  With a little more groundwork it\u0027ll also allow sharing the\nmethods for the regular user/trusted/secure handlers in extN, ocfs2 and\njffs2 like it\u0027s already done for xfs in this patch.\n\nAlso change the inode argument to the handlers to a dentry to allow\nusing the handlers mechnism for filesystems that require it later,\ne.g. cifs.\n\n[with GFS2 bits updated by Steven Whitehouse \u003cswhiteho@redhat.com\u003e]\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8e0eb4011bd73d5f91b215b532f74eef478ef795",
      "tree": "53d60cdbb1a1a00e9787347aabb631e862b44969",
      "parents": [
        "68eb3db08344286733adac48304d9fb7a0e53b27"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Dec 07 14:50:11 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:55 2009 +0100"
      },
      "message": "ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks()\n\nReturn the PTR_ERR of the correct pointer.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "68eb3db08344286733adac48304d9fb7a0e53b27",
      "tree": "214133860fdb6ceac4adbeb621837df8c494f1fb",
      "parents": [
        "5a20bdfcdc5c5e5f0647d8d99a998066ef5496ac"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 01 16:53:06 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:55 2009 +0100"
      },
      "message": "ext3: Fix data / filesystem corruption when write fails to copy data\n\nWhen ext3_write_begin fails after allocating some blocks or\ngeneric_perform_write fails to copy data to write, we truncate blocks already\ninstantiated beyond i_size. Although these blocks were never inside i_size, we\nhave to truncate pagecache of these blocks so that corresponding buffers get\nunmapped. Otherwise subsequent __block_prepare_write (called because we are\nretrying the write) will find the buffers mapped, not call -\u003eget_block, and\nthus the page will be backed by already freed blocks leading to filesystem and\ndata corruption.\n\nReported-by: James Y Knight \u003cfoom@fuhm.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1aeec43432d6bfb7a300bb0363f2723b8c4c706d",
      "tree": "082a2dde06351428ba09b6de57e0178ab282e56d",
      "parents": [
        "498c60153ebb8889d8944591383c5c12af1127d4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 30 22:22:41 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:54 2009 +0100"
      },
      "message": "ext3: Support for vfsv1 quota format\n\nWe just have to add proper mount options handling. The rest is handled by\nthe generic quota code.\n\nCC: linux-ext4@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4cf46b67eb6de94532c1bea11d2479d085229d0e",
      "tree": "1d14729f879ccc0afc56563b4edfb50ddec8c38c",
      "parents": [
        "2074abfeb8ea2904aeeaecc45e0dfea3f83a22b2"
      ],
      "author": {
        "name": "Alexey Fisher",
        "email": "bug-track@fisher-privat.net",
        "time": "Sun Nov 22 20:38:55 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:53 2009 +0100"
      },
      "message": "ext3: Unify log messages in ext3\n\nMake messages produced by ext3 more unified. It should be\neasy to parse.\n\ndmesg before patch:\n[ 4893.684892] reservations ON\n[ 4893.684896] xip option not supported\n[ 4893.684964] EXT3-fs warning: maximal mount count reached, running\ne2fsck is recommended\n\ndmesg after patch:\n[  873.300792] EXT3-fs (loop0): using internal journaln\n[  873.300796] EXT3-fs (loop0): mounted filesystem with writeback data mode\n[  924.163657] EXT3-fs (loop0): error: can\u0027t find ext3 filesystem on dev loop0.\n[  723.755642] EXT3-fs (loop0): error: bad blocksize 8192\n[  357.874687] EXT3-fs (loop0): error: no journal found. mounting ext3 over ext2?\n[  873.300764] EXT3-fs (loop0): warning: maximal mount count reached, running e2fsck is recommended\n[  924.163657] EXT3-fs (loop0): error: can\u0027t find ext3 filesystem on dev loop0.\n\nSigned-off-by: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "dee1d3b6270a7cf5cc65c493a2ab4ebaad1a1caf",
      "tree": "c8de16452f9a70e96456bc4bfdfdf1b4f9e3c404",
      "parents": [
        "b918397542388de75bd86c32fbfa820e5d629fa9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Nov 16 16:50:49 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext3: make \"norecovery\" an alias for \"noload\"\n\nUsers on the list recently complained about differences across\nfilesystems w.r.t. how to mount without a journal replay.\n\nIn the discussion it was noted that xfs\u0027s \"norecovery\" option is\nperhaps more descriptively accurate than \"noload,\" so let\u0027s make\nthat an alias for ext3.\n\nAlso show this status in /proc/mounts\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b918397542388de75bd86c32fbfa820e5d629fa9",
      "tree": "ebb4653a73c48292611396f307b42e17e090f947",
      "parents": [
        "d965736b8cb42ae51ba9c3f13488035a98d025c6"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Nov 16 16:34:51 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext3: Don\u0027t update the superblock in ext3_statfs()\n\ncommit a71ce8c6c9bf269b192f352ea555217815cf027e updated ext3_statfs()\nto update the on-disk superblock counters, but modified this buffer\ndirectly without any journaling of the change.  This is one of the\naccesses that was causing the crc errors in journal replay as seen in\nkernel.org bugzilla #14354.\n\nThe modifications were originally to keep the sb \"more\" in sync,\nso that a readonly fsck of the device didn\u0027t flag this as an\nerror (as often), but apparently e2fsprogs deals with this differently\nnow, anyway.\n\nBased on Ted\u0027s patch for ext4, which was in turn based on my\nwork on that bug and another preliminary patch...\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d965736b8cb42ae51ba9c3f13488035a98d025c6",
      "tree": "9b65fbd9de506dca82319e138377cde299beb418",
      "parents": [
        "ad888a1f07a72fc7d19286b4ce5c154172a06eed"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Nov 16 16:27:30 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext3: journal all modifications in ext3_xattr_set_handle\n\next3_xattr_set_handle() was zeroing out an inode outside\nof journaling constraints; this is one of the accesses that\nwas causing the crc errors in journal replay as seen in\nkernel.org bugzilla #14354.\n\nAlthough ext3 doesn\u0027t have the crc issue, modifications\nout of journal control are a Bad Thing.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "bf48aabb894fd0639ab72a26e8abbd7683ef23c2",
      "tree": "cd7ba4504558ed518126966fa79f18adf2f37fd6",
      "parents": [
        "fb3d38b9904888aa8e36d88b2388dc70934b2169"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Oct 28 20:11:03 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:50 2009 +0100"
      },
      "message": "tree-wide: fix typos \"offest\" -\u003e \"offset\"\n\nThis patch was generated by\n\n\tgit grep -E -i -l \u0027offest\u0027 | xargs -r perl -p -i -e \u0027s/offest/offset/\u0027\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "fe8bc91c4c30122b357d197117705cfd4fabaf28",
      "tree": "33e2895847d812204209444db4093af9a2c3623d",
      "parents": [
        "ea0174a7137c8ca9f130ca681f3a99c872da6778"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Oct 16 19:26:15 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 11 15:22:49 2009 +0100"
      },
      "message": "ext3: Wait for proper transaction commit on fsync\n\nWe cannot rely on buffer dirty bits during fsync because pdflush can come\nbefore fsync is called and clear dirty bits without forcing a transaction\ncommit. What we do is that we track which transaction has last changed\nthe inode and which transaction last changed allocation and force it to\ndisk on fsync.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "ea0174a7137c8ca9f130ca681f3a99c872da6778",
      "tree": "9736ef15e0250810f204bfb8d6987bd71eeba111",
      "parents": [
        "799dd75b1a8380a967c929a4551895788c374b31"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Oct 12 21:34:27 2009 -0500"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 11 15:22:49 2009 +0100"
      },
      "message": "ext3: retry failed direct IO allocations\n\nOn a 256M 4k block filesystem, doing this in a loop:\n\n    dd if\u003d/dev/zero of\u003dtest oflag\u003ddirect bs\u003d1M count\u003d64\n    rm -f test\n\neventually leads to spurious ENOSPC:\n\n    dd: writing `test\u0027: No space left on device\n\nAs with other block allocation callers, it looks like we need to\npotentially retry the allocations on the initial ENOSPC.\n\nA similar patch went into ext4 (commit\nfbbf69456619de5d251cb9f1df609069178c62d5)\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "96ec2e0a719fd61791dd2b0dd01325c5d20e1233",
      "tree": "b68be3b6d76ee13dbd80f4877c7b9e45b8926e02",
      "parents": [
        "2caa731819a633bec5a56736e64c562b7e193666"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Sep 16 11:21:13 2009 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Oct 13 00:06:43 2009 +0200"
      },
      "message": "ext3: 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\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "db16826367fefcb0ddb93d76b66adc52eb4e6339",
      "tree": "626224c1eb1eb79c522714591f208b4fdbdcd9d4",
      "parents": [
        "cd6045138ed1bb5d8773e940d51c34318eef3ef2",
        "465fdd97cbe16ef8727221857e96ef62dd352017"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:53:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 24 07:53:22 2009 -0700"
      },
      "message": "Merge branch \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6\n\n* \u0027hwpoison\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6: (21 commits)\n  HWPOISON: Enable error_remove_page on btrfs\n  HWPOISON: Add simple debugfs interface to inject hwpoison on arbitary PFNs\n  HWPOISON: Add madvise() based injector for hardware poisoned pages v4\n  HWPOISON: Enable error_remove_page for NFS\n  HWPOISON: Enable .remove_error_page for migration aware file systems\n  HWPOISON: The high level memory error handler in the VM v7\n  HWPOISON: Add PR_MCE_KILL prctl to control early kill behaviour per process\n  HWPOISON: shmem: call set_page_dirty() with locked page\n  HWPOISON: Define a new error_remove_page address space op for async truncation\n  HWPOISON: Add invalidate_inode_page\n  HWPOISON: Refactor truncate to allow direct truncating of page v2\n  HWPOISON: check and isolate corrupted free pages v2\n  HWPOISON: Handle hardware poisoned pages in try_to_unmap\n  HWPOISON: Use bitmask/action code for try_to_unmap behaviour\n  HWPOISON: x86: Add VM_FAULT_HWPOISON handling to x86 page fault handler v2\n  HWPOISON: Add poison check to page fault handling\n  HWPOISON: Add basic support for poisoned pages in fault handler v3\n  HWPOISON: Add new SIGBUS error codes for hardware poison signals\n  HWPOISON: Add support for poison swap entries v2\n  HWPOISON: Export some rmap vma locking to outside world\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": "56fcad29d4b3cbcbb2ed47a9d3ceca3f57175417",
      "tree": "4ad4816b11706e350760a3e206126105a7bf9a5c",
      "parents": [
        "4f003fd32bc54ec438b8691795279844df27ce38"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Sep 08 14:59:42 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Sep 16 17:44:11 2009 +0200"
      },
      "message": "ext3: Flush disk caches on fsync when needed\n\nIn case we fsync() a file and inode is not dirty, we don\u0027t force a transaction\nto disk and hence don\u0027t flush disk caches. Thus file data could be just in disk\ncaches and not on persistent storage. Fix the problem by flushing disk caches\nif we didn\u0027t force a transaction commit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4f003fd32bc54ec438b8691795279844df27ce38",
      "tree": "2fe0a97307f9b3fe481f07713a271630951eb51b",
      "parents": [
        "00171d3c7e3b738ba582c7a9b37408e796f49046"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Sep 08 00:22:14 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Sep 16 17:44:11 2009 +0200"
      },
      "message": "ext3: Add locking to ext3_do_update_inode\n\nI\u0027ve been struggling with this off and on while I\u0027ve been testing the\ndata\u003dguarded work.  The symptom is corrupted orphan lists and inodes\nwith the wrong i_size stored on disk.  I was convinced the\ndata\u003dguarded code was just missing a call to ext3_mark_inode_dirty, but\ntracing showed the i_disksize I was sending to ext3_mark_inode_dirty\nwasn\u0027t actually making it to the drive.\n\next3_mark_inode_dirty can be called without locks held (atime updates\nand a few others), so the data\u003dguarded code uses locks while updating\nthe in-memory inode, and then calls ext3_mark_inode_dirty\nwithout any locks held.\n\nBut, ext3_mark_inode_dirty has no internal locking to make sure that\nonly one CPU is updating the buffer head at a time.  Generally this\nworks out ok because everyone that changes the inode then calls\next3_mark_inode_dirty themselves.  Even though it races, eventually\nsomeone updates the buffer heads and things move on.\n\nBut there is still a risk of the wrong values getting in, and the\ndata\u003dguarded code seems to hit the race very often.\n\nSince everyone that changes the inode also logs it, it should be\npossible to fix this with some memory barriers.  I\u0027ll leave that as an\nexercise to the reader and lock the buffer head instead.\n\nIt it probably a good idea to have a different patch series for lockless\nbit flipping on the ext3 i_state field.  ext3_do_update_inode \u0026\u003d clears\nEXT3_STATE_NEW without any locks held.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "00171d3c7e3b738ba582c7a9b37408e796f49046",
      "tree": "4c43c59666d78ccb1522a99dd7966252d5878ccf",
      "parents": [
        "3adae9da0b35d2ca908039f42a1e90395c335181"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 11 19:06:10 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Sep 16 17:44:11 2009 +0200"
      },
      "message": "ext3: Fix possible deadlock between ext3_truncate() and ext3_get_blocks()\n\nDuring truncate we are sometimes forced to start a new transaction as the\namount of blocks to be journaled is both quite large and hard to predict. So\nfar we restarted a transaction while holding truncate_mutex and that violates\nlock ordering because truncate_mutex ranks below transaction start (and it\ncan lead to a real deadlock with ext3_get_blocks() allocating new blocks\nfrom ext3_writepage()).\n\nLuckily, the problem is easy to fix: We just drop the truncate_mutex before\nrestarting the transaction and acquire it afterwards. We are safe to do this as\nby the time ext3_truncate() is called, all the page cache for the truncated\npart of the file is dropped and so writepage() cannot come and allocate new\nblocks in the part of the file we are truncating. The rest of writers is\nstopped by us holding i_mutex.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "aa261f549d7652258331ebb12795f3bc4395d213",
      "tree": "0ca807db32a6e3f213fa52b5a053d2b27e5e6bac",
      "parents": [
        "6a46079cf57a7f7758e8b926980a4f852f89b34d"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Sep 16 11:50:16 2009 +0200"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "ak@linux.intel.com",
        "time": "Wed Sep 16 11:50:16 2009 +0200"
      },
      "message": "HWPOISON: Enable .remove_error_page for migration aware file systems\n\nEnable removing of corrupted pages through truncation\nfor a bunch of file systems: ext*, xfs, gfs2, ocfs2, ntfs\nThese should cover most server needs.\n\nI chose the set of migration aware file systems for this\nfor now, assuming they have been especially audited.\nBut in general it should be safe for all file systems\non the data area that support read/write and truncate.\n\nCaveat: the hardware error handler does not take i_mutex\nfor now before calling the truncate function. Is that ok?\n\nCc: tytso@mit.edu\nCc: hch@infradead.org\nCc: mfasheh@suse.com\nCc: aia21@cantab.net\nCc: hugh.dickins@tiscali.co.uk\nCc: swhiteho@redhat.com\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n"
    },
    {
      "commit": "e367626b6164aeecb97fb7c20509ed8696babc26",
      "tree": "e69721734412f9373aea87297c4ff9450cf55308",
      "parents": [
        "a2a735ad666a04306a708b5a0109cc1fe113f569"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Aug 18 17:51:23 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Sep 14 17:08:16 2009 +0200"
      },
      "message": "ext3: Remove syncing logic from ext3_file_write\n\nSyncing is now properly done by generic_file_aio_write() so no special logic is\nneeded in ext3.\n\nCC: linux-ext4@vger.kernel.org\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": "3c4cec65274481ec6332b0a91f19b4c8c5394801",
      "tree": "c74bd4cedaecdf2b1132753ffbc337e8d3e6b161",
      "parents": [
        "6d41807614151829ae17a3a58bff8572af5e407e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 24 16:38:43 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 24 16:48:45 2009 +0200"
      },
      "message": "ext3: Improve error message that changing journaling mode on remount is not possible\n\nThis patch makes the error message about changing journaling mode on remount\nmore descriptive. Some people are going to hit this error now due to commit\nbbae8bcc49bc4d002221dab52c79a50a82e7cd1f if they configure a kernel to default\nto data\u003dwriteback mode. The problem happens if they have data\u003dordered set for\nthe root filesystem in /etc/fstab but not in the kernel command line (and they\ndon\u0027t use initrd). Their filesystem then gets mounted as data\u003dwriteback by\nkernel but then their boot fails because init scripts won\u0027t be able to remount\nthe filesystem rw. Better error message will hopefully make it easier for them\nto find the error in their setup and bother us less with error reports :).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "6d41807614151829ae17a3a58bff8572af5e407e",
      "tree": "8d507b9ed679e2a42f9e1c8f4e7ba5a958360ea2",
      "parents": [
        "f4b9a988685da6386d7f9a72df3098bcc3270526"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Aug 10 16:03:43 2009 -0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Aug 24 16:48:32 2009 +0200"
      },
      "message": "ext3: Update Kconfig description of EXT3_DEFAULTS_TO_ORDERED\n\nThe old description for this configuration option was perhaps not\ncompletely balanced in terms of describing the tradeoffs of using a\ndefault of data\u003dwriteback vs. data\u003dordered.  Despite the fact that old\ndescription very strongly recomended disabling this feature, all of\nthe major distributions have elected to preserve the existing \u0027legacy\u0027\ndefault, which is a strong hint that it perhaps wasn\u0027t telling the\nwhole story.\n\nThis revised description has been vetted by a number of ext3\ndevelopers as being better at informing the user about the tradeoffs\nof enabling or disabling this configuration feature.\n\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "43237b5490e8f2f4679decd660064ff35ce490cc",
      "tree": "487380755d875bfe4e5b3700d08c85d58f97ae14",
      "parents": [
        "1e9fd53b783ea646de3ee09a4574afeb6778d504"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed May 20 18:41:58 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 15 21:30:46 2009 +0200"
      },
      "message": "ext3: Get rid of extenddisksize parameter of ext3_get_blocks_handle()\n\nGet rid of extenddisksize parameter of ext3_get_blocks_handle(). This seems to\nbe a relict from some old days and setting disksize in this function does not\nmake much sence. Currently it was set only by ext3_getblk().  Since the\nparameter has some effect only if create \u003d\u003d 1, it is easy to check that the\nthree callers which end up calling ext3_getblk() with create \u003d\u003d 1 (ext3_append,\next3_quota_write, ext3_mkdir) do the right thing and set disksize themselves.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "9eaaa2d5759837402ec5eee13b2a97921808c3eb",
      "tree": "c1ba576d1175a91e7fb443a7d87a76c2380ce9cf",
      "parents": [
        "7447a668a3860b66b3c9db86fdea91e355ba59ac"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jul 13 20:26:52 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jul 15 21:28:07 2009 +0200"
      },
      "message": "ext3: Fix truncation of symlinks after failed write\n\nContents of long symlinks is written via standard write methods. So when the\nwrite fails, we add inode to orphan list. But symlinks don\u0027t have .truncate\nmethod defined so nobody properly removes them from the orphan list (both on\ndisk and in memory).\n\nFix this by calling ext3_truncate() directly instead of calling vmtruncate()\n(which is saner anyway since we don\u0027t need anything vmtruncate() does except\nfrom calling .truncate in these paths).  We also add inode to orphan list only\nif ext3_can_truncate() is true (currently, it can be false for symlinks when\nthere are no blocks allocated) - otherwise orphan list processing will complain\nand ext3_truncate() will not remove inode from on-disk orphan list.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\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": "6582a0e6f6bc7bf64817b9e1a424782855292ab0",
      "tree": "7f7ac59f476a461a33706714e7bcb635b60977af",
      "parents": [
        "5e78b435683daaaacadad1b2aeefb8904cf6acfb"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jun 08 19:53:58 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 24 08:17:04 2009 -0400"
      },
      "message": "switch ext3 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": "ef43618a47179b41e7203a624f2c7445e7da488c",
      "tree": "64d42f459e5086768e57d8e8e9bec8304b17c150",
      "parents": [
        "6f3f1cb21f08fbf757bbbbb0709ee515a7a7c6ad"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:45 2009 -0700"
      },
      "message": "ext3: make sure inode is deleted from orphan list after truncate\n\nAs Ted pointed out, it can happen that ext3_truncate() returns without\nremoving inode from orphan list.  This way we could in some rare cases\n(like when we get ENOMEM from an allocation in ext3_truncate called\nbecause of failed ext3_write_begin) leave the inode on orphan list and\nthat triggers assertion failure on umount.\n\nSo make ext3_truncate() always remove inode from in-memory orphan list.\n\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8ef7aaea79a899be4d7f50e829900c0ce15e52f",
      "tree": "1cc2370f081264e506d85e954110d363961e37bd",
      "parents": [
        "ce05b2a9db1d86635a906f14427deff97eeb6183"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jun 17 16:26:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 18 13:03:45 2009 -0700"
      },
      "message": "ext3: fix chain verification in ext3_get_blocks()\n\nChain verification in ext3_get_blocks() has been hosed since it called\nverify_chain(chain, NULL) which always returns success.  As a result\nreaders could in theory race with truncate.  On the other hand the race\nprobably cannot happen with the current locking scheme, since by the\ntime ext3_truncate() is called all the pages are already removed and\nhence get_block() shouldn\u0027t be called on such pages...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c64daff9d5afb102dfe64a26829e26725538e58",
      "tree": "6af331d16bf2b730716fd932d1747372fdf790a3",
      "parents": [
        "03347e2592078a90df818670fddf97a33eec70fb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 15:22:24 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 17 00:36:35 2009 -0400"
      },
      "message": "ext3: 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\next3 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\nThis is noticeable even on Nehalem, which does locking quite well (much\nbetter than P4). From lmbench:\n\n\tProcessor, Processes - times in microseconds - smaller is better\n\t--------------------------------------------------------------------\n\tHost                 OS  Mhz null null      open slct fork exec sh\n\t                             call  I/O stat clos TCP  proc proc proc\n\t--------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ----\n - before:\n\tnehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.45 2.18 69.1 273. 1141\n\tnehalem.l Linux 2.6.30- 3193 0.04 0.09 0.95 1.48 2.28 69.9 253. 1140\n\tnehalem.l Linux 2.6.30- 3193 0.04 0.10 0.95 1.42 2.19 68.6 284. 1141\n - after:\n\tnehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.44 2.12 68.3 282. 1094\n\tnehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.20 67.0 308. 1123\n\tnehalem.l Linux 2.6.30- 3193 0.04 0.09 0.92 1.39 2.36 67.4 293. 1148\n\nwhere you can see what appears to be a roughly 3% improvement in stat\nand open/close latencies from just the removal of the locking overhead.\n\nOf course, this only matters for files you don\u0027t own (the owner never\nneeds to do the ACL checks), but that\u0027s the common case for libraries,\nheader files, and executables. As well as for the base components of any\nabsolute pathname, even if you are the owner of the final file.\n\n[ At some point we probably want to move this ACL caching logic entirely\n  into the VFS layer (and only call down to the filesystem when\n  uncached), but in the meantime this improves ext3 a bit.\n\n  A similar fix to btrfs makes a much bigger difference (15x improvement\n  in lmbench) due to broken caching. ]\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\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": "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": "ca41f7b918294c2a17780e057568413dcbfc6d49",
      "tree": "0f10dbd7e56d5e594802898d744820e551f17cda",
      "parents": [
        "59d697b70285c348c01cfc2695c3469ba71d7539"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Apr 27 09:46:42 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jun 11 21:36:05 2009 -0400"
      },
      "message": "ext3: remove -\u003ewrite_super and stop maintaining -\u003es_dirt\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": "e1defc4ff0cf57aca6c5e3ff99fa503f5943c1f1",
      "tree": "d60d15a082171c58ac811d547d51a9c3119f23e3",
      "parents": [
        "9bd7de51ee8537094656149eaf45338cadb7d7d4"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Fri May 22 17:17:49 2009 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri May 22 23:22:54 2009 +0200"
      },
      "message": "block: Do away with the notion of hardsect_size\n\nUntil now we have had a 1:1 mapping between storage device physical\nblock size and the logical block sized used when addressing the device.\nWith SATA 4KB drives coming out that will no longer be the case.  The\nsector size will be 4KB but the logical block size will remain\n512-bytes.  Hence we need to distinguish between the physical block size\nand the logical ditto.\n\nThis patch renames hardsect_size to logical_block_size.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "de5ce037304f2c88a319b1c3b808ab0c4c618c1c",
      "tree": "1ae0fd2b9f571288f90f93f72967d5fc748869e3",
      "parents": [
        "f68301656b5f5d2de104f2687add6beeb8f3c3b9"
      ],
      "author": {
        "name": "Manish Katiyar",
        "email": "mkatiyar@gmail.com",
        "time": "Sun May 17 23:52:47 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun May 17 23:52:47 2009 -0400"
      },
      "message": "ext3: Fix memory leak in ext3_fill_super() in case of a failed mount\n\nSigned-off-by: Manish Katiyar \u003cmkatiyar@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "430db323fae7665da721768949ade6304811c648",
      "tree": "468f04ce720dd9ad295be1c3f3710fecc8d35a2e",
      "parents": [
        "6e34eeddf7deec1444bbddab533f03f520d8458c"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Apr 07 18:25:01 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Apr 08 13:15:10 2009 -0400"
      },
      "message": "ext3: Try to avoid starting a transaction in writepage for data\u003dwritepage\n\nThis does the same as commit 9e80d407736161d9b8b0c5a0d44f786e44c322ea\n(avoid starting a transaction when no block allocation is needed)\nbut for data\u003dwriteback mode of ext3. We also cleanup the data\u003dordered\ncase a bit to stick to coding style...\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "bbae8bcc49bc4d002221dab52c79a50a82e7cd1f",
      "tree": "7144a78d9f734734e977cef45c012a1cd4e98008",
      "parents": [
        "e0724bf6e4a1f2e678d2b2aab01cae22e17862f0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 17:16:47 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 17:16:47 2009 -0700"
      },
      "message": "ext3: make default data ordering mode configurable\n\nThis makes the defautl ext3 data ordering mode (when no explicit\nordering is set) configurable, so as to allow people to default to\n\u0027data\u003dwriteback\u0027 and get the resulting latency improvements.\n\nThis is a non-issue if a filesystem has been explicitly set to some\nordering (with \u0027tune2fs\u0027).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20bec8ab1458c24bed0d5492ee15d87807fc415a",
      "tree": "e5f910947dbe314b96a591e41e2cfb2d3322caad",
      "parents": [
        "18b34b9546dc192d978dda940673f40928d2e36e",
        "e7c8f5079ed9ec9e6eb1abe3defc5fb4ebfdf1cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 11:10:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 11:10:33 2009 -0700"
      },
      "message": "Merge branch \u0027ext3-latency-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027ext3-latency-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  ext3: Add replace-on-rename hueristics for data\u003dwriteback mode\n  ext3: Add replace-on-truncate hueristics for data\u003dwriteback mode\n  ext3: Use WRITE_SYNC for commits which are caused by fsync()\n  block_write_full_page: Use synchronous writes for WBC_SYNC_ALL writebacks\n"
    },
    {
      "commit": "e7c8f5079ed9ec9e6eb1abe3defc5fb4ebfdf1cb",
      "tree": "fd0191b45890e37b5e20a2d7e200d34a6432eb7e",
      "parents": [
        "f7ab34ea723ed304b19698efca85d6f40cecd99b"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Apr 03 01:34:49 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Apr 03 01:34:49 2009 -0400"
      },
      "message": "ext3: Add replace-on-rename hueristics for data\u003dwriteback mode\n\nIn data\u003dwriteback mode, start an asynchronous flush when renaming a\nfile on top of an already-existing file.  This lowers the probability\nof data loss in the case of applications that attempt to replace a\nfile via using rename().\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "f7ab34ea723ed304b19698efca85d6f40cecd99b",
      "tree": "28a609a654a24bc40d694fd2ec87a1f785c97c79",
      "parents": [
        "512a004382f2c60d5c4f855476ba965adc00250c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Apr 03 01:34:35 2009 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Apr 03 01:34:35 2009 -0400"
      },
      "message": "ext3: Add replace-on-truncate hueristics for data\u003dwriteback mode\n\nIn data\u003dwriteback mode, start an asynchronous flush when closing a\nfile which had been previously truncated down to zero.  This lowers\nthe probability of data loss in the case of applications that attempt\nto replace a file using truncate.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8fe74cf053de7ad2124a894996f84fa890a81093",
      "tree": "77dcd8fbf33ce53a3821942233962fb28c6f2848",
      "parents": [
        "c2eb2fa6d2b6fe122d3479ec5b28d978418b2698",
        "ced117c73edc917e96dea7cca98c91383f0792f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 21:09:10 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  Remove two unneeded exports and make two symbols static in fs/mpage.c\n  Cleanup after commit 585d3bc06f4ca57f975a5a1f698f65a45ea66225\n  Trim includes of fdtable.h\n  Don\u0027t crap into descriptor table in binfmt_som\n  Trim includes in binfmt_elf\n  Don\u0027t mess with descriptor table in load_elf_binary()\n  Get rid of indirect include of fs_struct.h\n  New helper - current_umask()\n  check_unsafe_exec() doesn\u0027t care about signal handlers sharing\n  New locking/refcounting for fs_struct\n  Take fs_struct handling to new file (fs/fs_struct.c)\n  Get rid of bumping fs_struct refcount in pivot_root(2)\n  Kill unsharing fs_struct in __set_personality()\n"
    },
    {
      "commit": "695f6ae0dcea3dd83bfbb9634ff067f780649ba8",
      "tree": "0c97d92bfdc0791d0456faad6ef93b88e5739247",
      "parents": [
        "de18f3b2d68c1f3481839be760a5ff93f6a9a5e5"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Apr 02 16:57:17 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:52 2009 -0700"
      },
      "message": "ext3: avoid false EIO errors\n\nSometimes block_write_begin() can map buffers in a page but later we\nfail to copy data into those buffers (because the source page has been\npaged out in the mean time).  We then end up with !uptodate mapped\nbuffers.  To add a bit more to the confusion, block_write_end() does\nnot commit any data (and thus does not any mark buffers as uptodate) if\nwe didn\u0027t succeed with copying all the data.\n\nCommit f4fc66a894546bdc88a775d0e83ad20a65210bcb (ext3: convert to new\naops) missed these cases and thus we were inserting non-uptodate\nbuffers to transaction\u0027s list which confuses JBD code and it reports IO\nerrors, aborts a transaction and generally makes users afraid about\ntheir data ;-P.\n\nThis patch fixes the problem by reorganizing ext3_..._write_end() code\nto first call block_write_end() to mark buffers with valid data\nuptodate and after that we file only uptodate buffers to transaction\u0027s\nlists.\n\nWe also fix a problem where we could leave blocks allocated beyond i_size\n(i_disksize in fact) because of failed write. We now add inode to orphan\nlist when write fails (to be safe in case we crash) and then truncate blocks\nbeyond i_size in a separate transaction.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "de18f3b2d68c1f3481839be760a5ff93f6a9a5e5",
      "tree": "75b4b389baed2c56b1fc94948d1ab42e08ddcdfe",
      "parents": [
        "45f902178022439795a21e14f886b8ccb49a75d2"
      ],
      "author": {
        "name": "Bryan Donlan",
        "email": "bdonlan@gmail.com",
        "time": "Thu Apr 02 16:57:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:52 2009 -0700"
      },
      "message": "ext3: return -EIO not -ESTALE on directory traversal through deleted inode\n\next3_iget() returns -ESTALE if invoked on a deleted inode, in order to\nreport errors to NFS properly.  However, in ext[234]_lookup(), this\n-ESTALE can be propagated to userspace if the filesystem is corrupted such\nthat a directory entry references a deleted inode.  This leads to a\nmisleading error message - \"Stale NFS file handle\" - and confusion on the\npart of the admin.\n\nThe bug can be easily reproduced by creating a new filesystem, making a\nlink to an unused inode using debugfs, then mounting and attempting to ls\n-l said link.\n\nThis patch thus changes ext3_lookup to return -EIO if it receives -ESTALE\nfrom ext3_iget(), as ext3 does for other filesystem metadata corruption;\nand also invokes the appropriate ext*_error functions when this case is\ndetected.\n\nSigned-off-by: Bryan Donlan \u003cbdonlan@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "45f902178022439795a21e14f886b8ccb49a75d2",
      "tree": "addf5725b2cd80be4a140a70499cc07f86635a23",
      "parents": [
        "ecca9af0a98fdacfcdc73979d08481d7b27ff986"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Thu Apr 02 16:57:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:52 2009 -0700"
      },
      "message": "ext3: use unsigned instead of int for type of blocksize in fs/ext3/namei.c\n\nUse unsigned instead of int for the parameter which carries a blocksize.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "039fd8ce6258e01ec29f1637f9bf1868dd877c55",
      "tree": "dcc90b006655eecad1d0cd82850feef2398976fa",
      "parents": [
        "b277c884f7856ce0791b1e72079023a86767981b"
      ],
      "author": {
        "name": "Cyrus Massoumi",
        "email": "cyrusm@gmx.net",
        "time": "Thu Apr 02 16:57:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 02 19:04:52 2009 -0700"
      },
      "message": "ext3: remove the BKL in ext3/ioctl.c\n\nReformat ext3/ioctl.c to make it look more like ext4/ioctl.c and remove\nthe BKL around ext3_ioctl().\n\nSigned-off-by: Cyrus Massoumi \u003ccyrusm@gmx.net\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nAcked-by: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48",
      "tree": "ab952affafe18e604f6aaf6b13315b9435588e60",
      "parents": [
        "f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 29 19:08:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 31 23:00:26 2009 -0400"
      },
      "message": "New helper - current_umask()\n\ncurrent-\u003efs-\u003eumask is what most of fs_struct users are doing.\nPut that into a helper function.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
      "tree": "6d9b27a07f88ad4509dcd86aa74a2cdecd0d5f4b",
      "parents": [
        "805de022b100bcf796860fe88d7db4164066d1c3",
        "c16831b4cc9b0805adf8ca3001752a7ec10a17bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 14:48:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 14:48:34 2009 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-quota-2.6: (27 commits)\n  ext2: Zero our b_size in ext2_quota_read()\n  trivial: fix typos/grammar errors in fs/Kconfig\n  quota: Coding style fixes\n  quota: Remove superfluous inlines\n  quota: Remove uppercase aliases for quota functions.\n  nfsd: Use lowercase names of quota functions\n  jfs: Use lowercase names of quota functions\n  udf: Use lowercase names of quota functions\n  ufs: Use lowercase names of quota functions\n  reiserfs: Use lowercase names of quota functions\n  ext4: Use lowercase names of quota functions\n  ext3: Use lowercase names of quota functions\n  ext2: Use lowercase names of quota functions\n  ramfs: Remove quota call\n  vfs: Use lowercase names of quota functions\n  quota: Remove dqbuf_t and other cleanups\n  quota: Remove NODQUOT macro\n  quota: Make global quota locks cacheline aligned\n  quota: Move quota files into separate directory\n  ext4: quota reservation for delayed allocation\n  ...\n"
    },
    {
      "commit": "9e80d407736161d9b8b0c5a0d44f786e44c322ea",
      "tree": "1d60b5b3e766cd123189278c3576f79d26315426",
      "parents": [
        "0384e2959127a56d0640505d004d8dd92f9c29f5"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 13:08:04 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 15:44:59 2009 -0700"
      },
      "message": "ext3: Avoid starting a transaction in writepage when not necessary\n\nWe don\u0027t have to start a transaction in writepage() when all the blocks\nare a properly allocated. Even in ordered mode either the data has been\nwritten via write() and they are thus already added to transaction\u0027s list\nor the data was written via mmap and then it\u0027s random in which transaction\nthey get written anyway.\n\nThis should help VM to pageout dirty memory without blocking on transaction\ncommits.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81a052273998f94b098945c4c313e05246956eb2",
      "tree": "c199d71543863ecd8bb45a9ef28b09a2340485ac",
      "parents": [
        "6f90bee5062a8af24d8aa5c47182d15aa28a0f17"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 26 16:58:01 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:36 2009 +0100"
      },
      "message": "ext3: Use lowercase names of quota functions\n\nUse lowercase names of quota functions instead of old uppercase ones.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCC: linux-ext4@vger.kernel.org\n"
    },
    {
      "commit": "a219ce3748bbc596cec85c44754b3f6b994f1e1d",
      "tree": "58fb672ba4ae804500327e863b83bb9491b98b95",
      "parents": [
        "08d0350ce9d63b19b62498c7b6421c2a95246b95"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Jan 12 19:03:19 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Mar 26 02:18:34 2009 +0100"
      },
      "message": "ext3: Remove unnecessary quota functions\n\next3_dquot_initialize() and ext3_dquot_drop() is no longer\nneeded because of modified quota locking.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "02ac597c9b86af49b2016aa98aee20ab59dbf0d2",
      "tree": "7ecf4acd955eabb023dba50c0b4ef67d585eb56e",
      "parents": [
        "8fe4cd0dc5ea43760c59eb256404188272cc95dd"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Feb 11 13:04:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 14:25:35 2009 -0800"
      },
      "message": "ext3: revert \"ext3: wait on all pending commits in ext3_sync_fs\"\n\nThis reverts commit c87591b719737b4e91eb1a9fa8fd55a4ff1886d6.\n\nSince journal_start_commit() is now fixed to return 1 when we started a\ntransaction commit, there\u0027s some transaction waiting to be committed or\nthere\u0027s a transaction already committing, we don\u0027t need to call\next3_force_commit() in ext3_sync_fs().  Furthermore ext3_force_commit()\ncan unnecessarily create sync transaction which is expensive so it\u0027s\nworthwhile to remove it when we can.\n\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a21102b55c4f8dfd3adb4a15a34cd62237b46039",
      "tree": "270f663b46460ee6055073fe862b4ec68ee47bbd",
      "parents": [
        "e6b8bc09ba2075cd91fbffefcd2778b1a00bd76f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jan 16 11:13:47 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Fri Jan 16 11:13:47 2009 -0500"
      },
      "message": "ext3: Add sanity check to make_indexed_dir\n\nMake sure the rec_len field in the \u0027..\u0027 entry is sane, lest we overrun\nthe directory block and cause a kernel oops on a purposefully\ncorrupted filesystem.\n\nThis fixes a bug related to a bug originally reported by Sami Liedes\nfor ext4 at:\n\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12430\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "c4be0c1dc4cdc37b175579be1460f15ac6495e9a",
      "tree": "716ea88318211ed27cadcebda0fd85c1f8246edb",
      "parents": [
        "69347a236b22c3962ea812511495e502dedfd50c"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:40:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: add error handling of write_super_lockfs/unlockfs\n\nCurrently, ext3 in mainline Linux doesn\u0027t have the freeze feature which\nsuspends write requests.  So, we cannot take a backup which keeps the\nfilesystem\u0027s consistency with the storage device\u0027s features (snapshot and\nreplication) while it is mounted.\n\nIn many case, a commercial filesystem (e.g.  VxFS) has the freeze feature\nand it would be used to get the consistent backup.\n\nIf Linux\u0027s standard filesystem ext3 has the freeze feature, we can do it\nwithout a commercial filesystem.\n\nSo I have implemented the ioctls of the freeze feature.\nI think we can take the consistent backup with the following steps.\n1. Freeze the filesystem with the freeze ioctl.\n2. Separate the replication volume or create the snapshot\n   with the storage device\u0027s feature.\n3. Unfreeze the filesystem with the unfreeze ioctl.\n4. Take the backup from the separated replication volume\n   or the snapshot.\n\nThis patch:\n\nVFS:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they can return an error.\nRename write_super_lockfs and unlockfs of the super block operation\nfreeze_fs and unfreeze_fs to avoid a confusion.\n\next3, ext4, xfs, gfs2, jfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that write_super_lockfs returns an error if needed,\nand unlockfs always returns 0.\n\nreiserfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they always return 0 (success) to keep a current behavior.\n\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Masayuki Hamaguchi \u003cm-hamaguchi@ys.jp.nec.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f",
      "tree": "f72a0d85e66f500b4cead348a231e3d3b9f357bc",
      "parents": [
        "cd764695b67386a81964f68e9c66efd9f13f4d29",
        "4b905671d2ea09fd48fed72c581df17e40823f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "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: (57 commits)\n  jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs\n  ext4: Remove \"extents\" mount option\n  block: Add Kconfig help which notes that ext4 needs CONFIG_LBD\n  ext4: Make printk\u0027s consistently prefixed with \"EXT4-fs: \"\n  ext4: Add sanity checks for the superblock before mounting the filesystem\n  ext4: Add mount option to set kjournald\u0027s I/O priority\n  jbd2: Submit writes to the journal using WRITE_SYNC\n  jbd2: Add pid and journal device name to the \"kjournald2 starting\" message\n  ext4: Add markers for better debuggability\n  ext4: Remove code to create the journal inode\n  ext4: provide function to release metadata pages under memory pressure\n  ext3: provide function to release metadata pages under memory pressure\n  add releasepage hooks to block devices which can be used by file systems\n  ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc\n  ext4: Init the complete page while building buddy cache\n  ext4: Don\u0027t allow new groups to be added during block allocation\n  ext4: mark the blocks/inode bitmap beyond end of group as used\n  ext4: Use new buffer_head flag to check uninit group bitmaps initialization\n  ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()\n  ext4: code cleanup\n  ...\n"
    },
    {
      "commit": "be857df1dd8d8e1491e60d999caf3b8446ccd475",
      "tree": "c3c45d80066bab95bd6f677f05afebf4ba6efe56",
      "parents": [
        "91f68b7359144aa40bb9668124543d15284750b4"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jan 07 18:09:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "generic swap(): ext3: remove local swap() macro\n\nUse the new generic implementation.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04143e2fb9d512c21e1dcfb561dbb0445dcfdc8c",
      "tree": "1a8b6add3f19db63663bcf33205b771272e451d8",
      "parents": [
        "2e8671cb566da993425d324fc355af31edc6e7f1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "ext3: tighten restrictions on inode flags\n\nAt the moment there are few restrictions on which flags may be set on\nwhich inodes.  Specifically DIRSYNC may only be set on directories and\nIMMUTABLE and APPEND may not be set on links.  Tighten that to disallow\nTOPDIR being set on non-directories and only NODUMP and NOATIME to be set\non non-regular file, non-directories.\n\nIntroduces a flags masking function which masks flags based on mode and\nuse it during inode creation and when flags are set via the ioctl to\nfacilitate future consistency.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e8671cb566da993425d324fc355af31edc6e7f1",
      "tree": "6da1dc8231ecbff398229398b602a6a3543979fd",
      "parents": [
        "5df096d67ec2b6578518caed7d57317a4b807aa1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "ext3: don\u0027t inherit inappropriate inode flags from parent\n\nAt present INDEX is the only flag that new ext3 inodes do NOT inherit from\ntheir parent.  In addition prevent the flags DIRTY, ECOMPR, IMAGIC and\nTOPDIR from being inherited.  List inheritable flags explicitly to prevent\nfuture flags from accidentally being inherited.\n\nThis fixes the TOPDIR flag inheritance bug reported at\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9866.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5df096d67ec2b6578518caed7d57317a4b807aa1",
      "tree": "8e92d19c89dea347eed6fc018fc6e4388bf9ebdc",
      "parents": [
        "f420d4dc4272fd223986762df2ad06056ddebada"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 07 18:07:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext3: allocate -\u003es_blockgroup_lock separately\n\nAs spotted by kmemtrace, struct ext3_sb_info is 17152 bytes on 64-bit\nwhich makes it a very bad fit for SLAB allocators.  The culprit of the\nwasted memory is -\u003es_blockgroup_lock which can be as big as 16 KB when\nNR_CPUS \u003e\u003d 32.\n\nTo fix that, allocate -\u003es_blockgroup_lock, which fits nicely in a order 2\npage in the worst case, separately.  This shinks down struct ext3_sb_info\nenough to fit a 1 KB slab cache so now we allocate 16 KB + 1 KB instead of\n32 KB saving 15 KB of memory.\n\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "157091a2c3cdc71422cbc71eace205cf1b9f2200",
      "tree": "4d941f73fb8899a3701d77b6484a271a3dc6083a",
      "parents": [
        "4103003b3abb85af9dec9e60616ae086c2bcb4c9"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Nov 25 15:31:34 2008 +0100"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:40:25 2009 -0800"
      },
      "message": "ext3: Add default allocation routines for quota structures\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "ee0d5ffe0da2aa992004447113e28622621a983f",
      "tree": "602c66693af5f1cadbc4f6c3d1475ff048aa94f5",
      "parents": [
        "f55abc0fb9c3189de3da829adf3220322c0da43e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Aug 20 18:11:50 2008 +0200"
      },
      "committer": {
        "name": "Mark Fasheh",
        "email": "mfasheh@suse.com",
        "time": "Mon Jan 05 08:36:56 2009 -0800"
      },
      "message": "ext3: Use sb_any_quota_loaded() instead of sb_any_quota_enabled()\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b082b531228c43d454c082fc0f969da1695b060",
      "tree": "dbd2f64945064e31383a24729fcdb672a23f65e9",
      "parents": [
        "87d8fe1ee6b8d2f95076142d58c440dba4e7bdc2"
      ],
      "author": {
        "name": "Toshiyuki Okajima",
        "email": "toshi.okajima@jp.fujitsu.com",
        "time": "Mon Jan 05 22:38:14 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jan 05 22:38:14 2009 -0500"
      },
      "message": "ext3: provide function to release metadata pages under memory pressure\n\nPages in the page cache belonging to ext3 data files are released via\nthe ext3_releasepage() function specified in the ext3 inode\u0027s\naddress_space_ops.  However, metadata blocks (such as indirect blocks,\ndirectory blocks, etc) are managed via the block device\naddress_space_ops, and they can not be released by\ntry_to_free_buffers() if they have a journal head attached to them.\n\nTo address this, we supply a try_to_free_pages() function which calls\njournal_try_to_free_buffers() function to free the metadata, and which\nis called by the block device\u0027s blkdev_releasepage() function.\n\nSigned-off-by: Toshiyuki Okajima \u003ctoshi.okajima@jp.fujitsu.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: linux-fsdevel@vger.kernel.org\n"
    },
    {
      "commit": "c38012daa7ad902a39a4213ba2b3fe50e81157ea",
      "tree": "69dd3bdf2efe82f9bee13eaf729df7bf70e89381",
      "parents": [
        "41080b5a240113328c607f22b849f653373db0ce"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 30 02:02:50 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:44 2008 -0500"
      },
      "message": "nfsd race fixes: ext3\n\next3 analog of the previous patch\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5ed3112b5f74c8ec1c7aa03a76c596635e85197",
      "tree": "943736d8c2502a8bebf71d86296bd98377235690",
      "parents": [
        "8d6d0c4da2dbbe0a69fea3692146af39f139f8b4"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:14 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:39 2008 -0500"
      },
      "message": "ext3: ensure fast symlinks are NUL-terminated\n\nEnsure fast symlink targets are NUL-terminated, even if corrupted\non-disk.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "2b828925652340277a889cbc11b2d0637f7cdaf7",
      "tree": "32fcb3d3e466fc419fad2d3717956a5b5ad3d35a",
      "parents": [
        "3a3b7ce9336952ea7b9564d976d068a238976c9d",
        "58e20d8d344b0ee083febb18c2b021d2427e56ca"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 11:29:12 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tsecurity/keys/internal.h\n\tsecurity/keys/process_keys.c\n\tsecurity/keys/request_key.c\n\nFixed conflicts above by using the non \u0027tsk\u0027 versions.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6a2f90e9fae0824e8b6b123f1ea7d9fff9079ef3",
      "tree": "7ae64fd6e64eefbafd021f4c3afaeba1673c3f1c",
      "parents": [
        "a8dd4d67bdf9c48c5ebfa366592fde7e2d318b4f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:51 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:51 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the Ext3 filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: adilger@sun.com\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "6cdfcc275e40b89fb020da1088ead86a61d33115",
      "tree": "9518d64cb5d0e68ac2731aa5391d2d3a32728c34",
      "parents": [
        "50d7d5bf3168db5d04566dd7ffb9a820e9fdf484"
      ],
      "author": {
        "name": "Theodore Tso",
        "email": "tytso@mit.edu",
        "time": "Wed Nov 12 13:27:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 12 17:17:17 2008 -0800"
      },
      "message": "ext3: Clean up outdated and incorrect comment for ext3_write_super()\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c87591b719737b4e91eb1a9fa8fd55a4ff1886d6",
      "tree": "b442f22c99aa46524d4c1256dffadeaec975607e",
      "parents": [
        "fbdd12676c83df77480f00ebd32fc98fbe3bf836"
      ],
      "author": {
        "name": "Arthur Jones",
        "email": "ajones@riverbed.com",
        "time": "Thu Nov 06 12:53:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 06 15:41:19 2008 -0800"
      },
      "message": "ext3: wait on all pending commits in ext3_sync_fs\n\nIn ext3_sync_fs, we only wait for a commit to finish if we started it, but\nthere may be one already in progress which will not be synced.\n\nIn the case of a data\u003dordered umount with pending long symlinks which are\ndelayed due to a long list of other I/O on the backing block device, this\ncauses the buffer associated with the long symlinks to not be moved to the\ninode dirty list in the second phase of fsync_super.  Then, before they\ncan be dirtied again, kjournald exits, seeing the UMOUNT flag and the\ndirty pages are never written to the backing block device, causing long\nsymlink corruption and exposing new or previously freed block data to\nuserspace.\n\nThis can be reproduced with a script created\nby Eric Sandeen \u003csandeen@redhat.com\u003e:\n\n\t#!/bin/bash\n\n\tumount /mnt/test2\n\tmount /dev/sdb4 /mnt/test2\n\trm -f /mnt/test2/*\n\tdd if\u003d/dev/zero of\u003d/mnt/test2/bigfile bs\u003d1M count\u003d512\n\ttouch\n\t/mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename\n\tln -s\n\t/mnt/test2/thisisveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongfilename\n\t/mnt/test2/link\n\tumount /mnt/test2\n\tmount /dev/sdb4 /mnt/test2\n\tls /mnt/test2/\n\tumount /mnt/test2\n\nTo ensure all commits are synced, we flush all journal commits now when\nsync_fs\u0027ing ext3.\n\nSigned-off-by: Arthur Jones \u003cajones@riverbed.com\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.everything]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59e315b4c410b00a9acd0f24a00dbadbe81ce692",
      "tree": "d19e7b45d98c42c6f94cb5aa292e2efea44244f5",
      "parents": [
        "f99b25897a86fcfff9140396a97261ae65fed872"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Dec 06 16:58:39 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Dec 06 16:58:39 2008 -0500"
      },
      "message": "ext3/4: Fix loop index in do_split() so it is signed\n\nThis fixes a gcc warning but it doesn\u0027t appear able to result in a\nfailure, since the primary way the loop is exited is the first\nconditional in the for loop, and at least for a consistent filesystem,\nthe signed/unsigned should in practice never be exposed.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5e1f8c9e20a92743eefc9a82c2db835213905e26",
      "tree": "0c945d1e31b87d1d8c18381f4ffe99122ddb797b",
      "parents": [
        "8f72fbdf0d92e6127583cc548bf043c60cd4720f"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 28 13:21:55 2008 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Oct 28 13:21:55 2008 -0400"
      },
      "message": "ext3: Add support for non-native signed/unsigned htree hash algorithms\n\nThe original ext3 hash algorithms assumed that variables of type char\nwere signed, as God and K\u0026R intended.  Unfortunately, this assumption\nis not true on some architectures.  Userspace support for marking\nfilesystems with non-native signed/unsigned chars was added two years\nago, but the kernel-side support was never added (until now).\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: akpm@linux-foundation.org\nCc: linux-kernel@vger.kernel.org\n"
    }
  ],
  "next": "44d6f78756560e95903de239e10f8a40a6eae444"
}
