)]}'
{
  "log": [
    {
      "commit": "edfacdd6f81119b9005615593f2cbd94b8c7e2d8",
      "tree": "9cdd79e4cc6f57b01848a20d5f79fcf46d6e9f16",
      "parents": [
        "68cb4f8e246bbbc649980be0628cae9265870a91"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Tue Nov 17 18:35:43 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 15:18:05 2009 -0800"
      },
      "message": "devpts_get_tty() should validate inode\n\ndevpts_get_tty() assumes that the inode passed in is associated with a valid\npty.  But if the only reference to the pty is via a bind-mount, the inode\npassed to devpts_get_tty() while valid, would refer to a pty that no longer\nexists.\n\nWith a lot of debug effort, Grzegorz Nosek developed a small program (see\nbelow) to reproduce a crash on recent kernels. This crash is a regression\nintroduced by the commit:\n\n\tcommit 527b3e4773628b30d03323a2cb5fb0d84441990f\n\tAuthor: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\n\tDate:   Mon Oct 13 10:43:08 2008 +0100\n\nTo fix, ensure that the dentry associated with the inode has not yet been\ndeleted/unhashed by devpts_pty_kill().\n\nSee also:\nhttps://lists.linux-foundation.org/pipermail/containers/2009-July/019273.html \n\ntty-bug.c:\n\n#define _GNU_SOURCE\n#include \u003cfcntl.h\u003e\n#include \u003csched.h\u003e\n#include \u003cstdlib.h\u003e\n#include \u003csys/mount.h\u003e\n#include \u003csys/signal.h\u003e\n#include \u003cunistd.h\u003e\n#include \u003cstdio.h\u003e\n\n#include \u003clinux/fs.h\u003e\n\nvoid dummy(int sig)\n{\n}\n\nstatic int child(void *unused)\n{\n\tint fd;\n\n\tsignal(SIGINT, dummy); signal(SIGHUP, dummy);\n\tpause(); /* cheesy synchronisation to wait for /dev/pts/0 to appear */\n\n\tmount(\"/dev/pts/0\", \"/dev/console\", NULL, MS_BIND, NULL);\n\tsleep(2);\n\n\tfd \u003d open(\"/dev/console\", O_RDWR);\n\tdup(0); dup(0);\n\twrite(1, \"Hello world!\\n\", sizeof(\"Hello world!\\n\")-1);\n\treturn 0;\n}\n\nint main(void)\n{\n\tpid_t pid;\n\tchar *stack;\n\n\tstack \u003d malloc(16384);\n\tpid \u003d clone(child, stack+16384, CLONE_NEWNS|SIGCHLD, NULL);\n\n\topen(\"/dev/ptmx\", O_RDWR|O_NOCTTY|O_NONBLOCK);\n\n\tunlockpt(fd); grantpt(fd);\n\n\tsleep(2);\n\tkill(pid, SIGHUP);\n\tsleep(1);\n\treturn 0; /* exit before child opens /dev/console */\n}\n\nReported-by: Grzegorz Nosek \u003croot@localdomain.pl\u003e\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nTested-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "02412f49f6a7e35753d9af49d92662fb562fc9fa",
      "tree": "ecf4c573ff8944227ca04e342e97ab17493cda5c",
      "parents": [
        "4515c3069da5bfb6f08dbfca499464b4cbdfcb50",
        "573c24c4af6664ffcd9aa7ba617a35fde2b95534"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:33:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:33:59 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: always use GFP_NOFS\n"
    },
    {
      "commit": "4515c3069da5bfb6f08dbfca499464b4cbdfcb50",
      "tree": "0f067045a0e31f126aebcf3087028639ceb237b4",
      "parents": [
        "a5eba3f66f812cbc076a1170b3f888ad63f850b2",
        "fab3a549e204172236779f502eccb4f9bf0dc87d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:33:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:33:29 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: (47 commits)\n  ext4: Fix potential fiemap deadlock (mmap_sem vs. i_data_sem)\n  ext4: Do not override ext2 or ext3 if built they are built as modules\n  jbd2: Export jbd2_log_start_commit to fix ext4 build\n  ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT\n  ext4: Wait for proper transaction commit on fsync\n  ext4: fix incorrect block reservation on quota transfer.\n  ext4: quota macros cleanup\n  ext4: ext4_get_reserved_space() must return bytes instead of blocks\n  ext4: remove blocks from inode prealloc list on failure\n  ext4: wait for log to commit when umounting\n  ext4: Avoid data / filesystem corruption when write fails to copy data\n  ext4: Use ext4 file system driver for ext2/ext3 file system mounts\n  ext4: Return the PTR_ERR of the correct pointer in setup_new_group_blocks()\n  jbd2: Add ENOMEM checking in and for jbd2_journal_write_metadata_buffer()\n  ext4: remove unused parameter wbc from __ext4_journalled_writepage()\n  ext4: remove encountered_congestion trace\n  ext4: move_extent_per_page() cleanup\n  ext4: initialize moved_len before calling ext4_move_extents()\n  ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT\n  ext4: use ext4_data_block_valid() in ext4_free_blocks()\n  ...\n"
    },
    {
      "commit": "a5eba3f66f812cbc076a1170b3f888ad63f850b2",
      "tree": "32bcbbc77e2bc1c04c5ed577ff8f24612148631c",
      "parents": [
        "fc1495bf99de6f65066b3234813180301ff8b693",
        "04dc1e88ad9c9f9639019e9646a89ce0ebf706bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:32:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:32:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd\n\n* \u0027for-linus\u0027 of git://git.open-osd.org/linux-open-osd:\n  exofs: Multi-device mirror support\n  exofs: Move all operations to an io_engine\n  exofs: move osd.c to ios.c\n  exofs: statfs blocks is sectors not FS blocks\n  exofs: Prints on mount and unmout\n  exofs: refactor exofs_i_info initialization into common helper\n  exofs: dbg-print less\n  exofs: More sane debug print\n  trivial: some small fixes in exofs documentation\n"
    },
    {
      "commit": "fc1495bf99de6f65066b3234813180301ff8b693",
      "tree": "4858db540f3c57f6f998383056ad4714b969660c",
      "parents": [
        "5476ffd2b78f06cce31a57f8611162918fe1ae3a",
        "b38882f5c066dc681679e90f1903eda323e605b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:31:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 10 09:31:45 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/ubifs-2.6\n\n* git://git.infradead.org/ubifs-2.6:\n  UBIFS: fix return code in check_leaf\n  UBI: flush wl before clearing update marker\n  MAINTAINERS: change e-mail of Artem Bityutskiy\n  UBIFS: remove manual O_SYNC handling\n  UBIFS: support mounting of UBI volume character devices\n  UBI: Add ubi_open_volume_path\n"
    },
    {
      "commit": "04dc1e88ad9c9f9639019e9646a89ce0ebf706bb",
      "tree": "403206d1e85e9e487d847694cbe0ecf111b3f02b",
      "parents": [
        "06886a5a3dc5a5abe0a4d257c26317bde7047be8"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Nov 16 16:03:05 2009 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:23 2009 +0200"
      },
      "message": "exofs: Multi-device mirror support\n\nThis patch changes on-disk format, it is accompanied with a parallel\npatch to mkfs.exofs that enables multi-device capabilities.\n\nAfter this patch, old exofs will refuse to mount a new formatted FS and\nnew exofs will refuse an old format. This is done by moving the magic\nfield offset inside the FSCB. A new FSCB *version* field was added. In\nthe future, exofs will refuse to mount unmatched FSCB version. To\nup-grade or down-grade an exofs one must use mkfs.exofs --upgrade option\nbefore mounting.\n\nIntroduced, a new object that contains a *device-table*. This object\ncontains the default *data-map* and a linear array of devices\ninformation, which identifies the devices used in the filesystem. This\nobject is only written to offline by mkfs.exofs. This is why it is kept\nseparate from the FSCB, since the later is written to while mounted.\n\nSame partition number, same object number is used on all devices only\nthe device varies.\n\n* define the new format, then load the device table on mount time make\n  sure every thing is supported.\n\n* Change I/O engine to now support Mirror IO, .i.e write same data\n  to multiple devices, read from a random device to spread the\n  read-load from multiple clients (TODO: stripe read)\n\nImplementation notes:\n A few points introduced in previous patch should be mentioned here:\n\n* Special care was made so absolutlly all operation that have any chance\n  of failing are done before any osd-request is executed. This is to\n  minimize the need for a data consistency recovery, to only real IO\n  errors.\n\n* Each IO state has a kref. It starts at 1, any osd-request executed\n  will increment the kref, finally when all are executed the first ref\n  is dropped. At IO-done, each request completion decrements the kref,\n  the last one to return executes the internal _last_io() routine.\n  _last_io() will call the registered io_state_done. On sync mode a\n  caller does not supply a done method, indicating a synchronous\n  request, the caller is put to sleep and a special io_state_done is\n  registered that will awaken the caller. Though also in sync mode all\n  operations are executed in parallel.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "06886a5a3dc5a5abe0a4d257c26317bde7047be8",
      "tree": "858ac56e120c0473d764fc64a2660e6d79729c8c",
      "parents": [
        "8ce9bdd1fbe962933736d7977e972972cd5d754c"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Nov 08 14:54:08 2009 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:22 2009 +0200"
      },
      "message": "exofs: Move all operations to an io_engine\n\nIn anticipation for multi-device operations, we separate osd operations\ninto an abstract I/O API. Currently only one device is used but later\nwhen adding more devices, we will drive all devices in parallel according\nto a \"data_map\" that describes how data is arranged on multiple devices.\nThe file system level operates, like before, as if there is one object\n(inode-number) and an i_size. The io engine will split this to the same\nobject-number but on multiple device.\n\nAt first we introduce Mirror (raid 1) layout. But at the final outcome\nwe intend to fully implement the pNFS-Objects data-map, including\nraid 0,4,5,6 over mirrored devices, over multiple device-groups. And\nmore. See: http://tools.ietf.org/html/draft-ietf-nfsv4-pnfs-obj-12\n\n* Define an io_state based API for accessing osd storage devices\n  in an abstract way.\n  Usage:\n\tFirst a caller allocates an io state with:\n\t\texofs_get_io_state(struct exofs_sb_info *sbi,\n\t\t\t\t   struct exofs_io_state** ios);\n\n\tThen calles one of:\n\t\texofs_sbi_create(struct exofs_io_state *ios);\n\t\texofs_sbi_remove(struct exofs_io_state *ios);\n\t\texofs_sbi_write(struct exofs_io_state *ios);\n\t\texofs_sbi_read(struct exofs_io_state *ios);\n\t\texofs_oi_truncate(struct exofs_i_info *oi, u64 new_len);\n\n\tAnd when done\n\t\texofs_put_io_state(struct exofs_io_state *ios);\n\n* Convert all source files to use this new API\n* Convert from bio_alloc to bio_kmalloc\n* In io engine we make use of the now fixed osd_req_decode_sense\n\nThere are no functional changes or on disk additions after this patch.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "8ce9bdd1fbe962933736d7977e972972cd5d754c",
      "tree": "7fd0047737fe618be909f84f7a2364309fd3e5bf",
      "parents": [
        "cae012d8532879544326fff5fa2ae22a6dfe8e23"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Nov 03 16:46:00 2009 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:21 2009 +0200"
      },
      "message": "exofs: move osd.c to ios.c\n\nIf I do a \"git mv\" together with a massive code change\nand commit in one patch, git looses the rename and\nrecords a delete/new instead. This is bad because I want\na rename recorded so later rebased/cherry-picked patches\nto the old name will work. Also the --follow is lost.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "cae012d8532879544326fff5fa2ae22a6dfe8e23",
      "tree": "7958c2c11cee1b0c342f7902cd538dcec679989e",
      "parents": [
        "19fe294f2eaee33574ac1fdcf3cc26880de820ea"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Mon Nov 02 18:19:24 2009 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:21 2009 +0200"
      },
      "message": "exofs: statfs blocks is sectors not FS blocks\n\nEven though exofs has a 4k block size, statfs blocks\nis in sectors (512 bytes).\n\nAlso if target returns 0 for capacity then make it\nULLONG_MAX. df does not like zero-size filesystems\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "19fe294f2eaee33574ac1fdcf3cc26880de820ea",
      "tree": "ea00168d7f7fb8594c40a41cdb9d4aeea8ec9222",
      "parents": [
        "9cfdc7aa9f1b59627029ad00a58c3f59eb2cc383"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Sep 03 20:38:02 2009 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:20 2009 +0200"
      },
      "message": "exofs: Prints on mount and unmout\n\nIt is important to print in the logs when a filesystem was\nmounted and eventually unmounted.\n\nPrint the osd-device\u0027s osd_name and pid the FS was\nmounted/unmounted on.\n\nTODO: How to also print the namespace path the filesystem was\n      mounted on?\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "9cfdc7aa9f1b59627029ad00a58c3f59eb2cc383",
      "tree": "62b60dccb98ff71a332fbccd5f69e6a6416818c9",
      "parents": [
        "fe33cc1ee170c0e3b47ab9cbac07083b3446961c"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Aug 04 20:40:29 2009 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:19 2009 +0200"
      },
      "message": "exofs: refactor exofs_i_info initialization into common helper\n\nThere are two places that initialize inodes: exofs_iget() and\nexofs_new_inode()\n\nAs more members of exofs_i_info that need initialization are\nadded this code will grow. (soon)\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "fe33cc1ee170c0e3b47ab9cbac07083b3446961c",
      "tree": "f90535189f375074f192b91eeaf59c4736cbf748",
      "parents": [
        "58311c43dfc3997a1f7b5883f827443f34108f8f"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Sun Nov 01 18:28:14 2009 +0200"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:18 2009 +0200"
      },
      "message": "exofs: dbg-print less\n\nIner-loops printing is converted to EXOFS_DBG2 which is #defined\nto nothing.\n\nIt is now almost bareable to just leave debug-on. Every operation\nis printed once, with most relevant info (I hope).\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "58311c43dfc3997a1f7b5883f827443f34108f8f",
      "tree": "0d3630692a0fbb67afd117c562cac3f03ad6cefa",
      "parents": [
        "9f249162fbf1aea1335e13c57fd5355d00e07a47"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Jul 14 11:06:08 2009 +0300"
      },
      "committer": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Thu Dec 10 09:59:17 2009 +0200"
      },
      "message": "exofs: More sane debug print\n\ndebug prints should be somewhat useful without actually\nreading the source code\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\n"
    },
    {
      "commit": "4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8",
      "tree": "856ba96302a36014736747e8464f80eeb827bbdd",
      "parents": [
        "f6c4c8195b5e7878823caa1181be404d9e86d369",
        "d014d043869cdc591f3a33243d3481fa4479c2d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 19:43:33 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)\n  tree-wide: fix misspelling of \"definition\" in comments\n  reiserfs: fix misspelling of \"journaled\"\n  doc: Fix a typo in slub.txt.\n  inotify: remove superfluous return code check\n  hdlc: spelling fix in find_pvc() comment\n  doc: fix regulator docs cut-and-pasteism\n  mtd: Fix comment in Kconfig\n  doc: Fix IRQ chip docs\n  tree-wide: fix assorted typos all over the place\n  drivers/ata/libata-sff.c: comment spelling fixes\n  fix typos/grammos in Documentation/edac.txt\n  sysctl: add missing comments\n  fs/debugfs/inode.c: fix comment typos\n  sgivwfb: Make use of ARRAY_SIZE.\n  sky2: fix sky2_link_down copy/paste comment error\n  tree-wide: fix typos \"couter\" -\u003e \"counter\"\n  tree-wide: fix typos \"offest\" -\u003e \"offset\"\n  fix kerneldoc for set_irq_msi()\n  spidev: fix double \"of of\" in comment\n  comment typo fix: sybsystem -\u003e subsystem\n  ...\n"
    },
    {
      "commit": "fab3a549e204172236779f502eccb4f9bf0dc87d",
      "tree": "5d478a2a583459832b9c5999ccd07b3b6a5569a7",
      "parents": [
        "a214238d3bb03723f820b0a398928d8e1637c987"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 09 21:30:02 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 09 21:30:02 2009 -0500"
      },
      "message": "ext4: Fix potential fiemap deadlock (mmap_sem vs. i_data_sem)\n\nFix the following potential circular locking dependency between\nmm-\u003emmap_sem and ei-\u003ei_data_sem:\n\n    \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n    [ INFO: possible circular locking dependency detected ]\n    2.6.32-04115-gec044c5 #37\n    -------------------------------------------------------\n    ureadahead/1855 is trying to acquire lock:\n     (\u0026mm-\u003emmap_sem){++++++}, at: [\u003cffffffff81107224\u003e] might_fault+0x5c/0xac\n\n    but task is already holding lock:\n     (\u0026ei-\u003ei_data_sem){++++..}, at: [\u003cffffffff811be1fd\u003e] ext4_fiemap+0x11b/0x159\n\n    which lock already depends on the new lock.\n\n    the existing dependency chain (in reverse order) is:\n\n    -\u003e #1 (\u0026ei-\u003ei_data_sem){++++..}:\n           [\u003cffffffff81099bfa\u003e] __lock_acquire+0xb67/0xd0f\n           [\u003cffffffff81099e7e\u003e] lock_acquire+0xdc/0x102\n           [\u003cffffffff81516633\u003e] down_read+0x51/0x84\n           [\u003cffffffff811a2414\u003e] ext4_get_blocks+0x50/0x2a5\n           [\u003cffffffff811a3453\u003e] ext4_get_block+0xab/0xef\n           [\u003cffffffff81154f39\u003e] do_mpage_readpage+0x198/0x48d\n           [\u003cffffffff81155360\u003e] mpage_readpages+0xd0/0x114\n           [\u003cffffffff811a104b\u003e] ext4_readpages+0x1d/0x1f\n           [\u003cffffffff810f8644\u003e] __do_page_cache_readahead+0x12f/0x1bc\n           [\u003cffffffff810f86f2\u003e] ra_submit+0x21/0x25\n           [\u003cffffffff810f0cfd\u003e] filemap_fault+0x19f/0x32c\n           [\u003cffffffff81107b97\u003e] __do_fault+0x55/0x3a2\n           [\u003cffffffff81109db0\u003e] handle_mm_fault+0x327/0x734\n           [\u003cffffffff8151aaa9\u003e] do_page_fault+0x292/0x2aa\n           [\u003cffffffff81518205\u003e] page_fault+0x25/0x30\n           [\u003cffffffff812a34d8\u003e] clear_user+0x38/0x3c\n           [\u003cffffffff81167e16\u003e] padzero+0x20/0x31\n           [\u003cffffffff81168b47\u003e] load_elf_binary+0x8bc/0x17ed\n           [\u003cffffffff81130e95\u003e] search_binary_handler+0xc2/0x259\n           [\u003cffffffff81166d64\u003e] load_script+0x1b8/0x1cc\n           [\u003cffffffff81130e95\u003e] search_binary_handler+0xc2/0x259\n           [\u003cffffffff8113255f\u003e] do_execve+0x1ce/0x2cf\n           [\u003cffffffff81027494\u003e] sys_execve+0x43/0x5a\n           [\u003cffffffff8102918a\u003e] stub_execve+0x6a/0xc0\n\n    -\u003e #0 (\u0026mm-\u003emmap_sem){++++++}:\n           [\u003cffffffff81099aa4\u003e] __lock_acquire+0xa11/0xd0f\n           [\u003cffffffff81099e7e\u003e] lock_acquire+0xdc/0x102\n           [\u003cffffffff81107251\u003e] might_fault+0x89/0xac\n           [\u003cffffffff81139382\u003e] fiemap_fill_next_extent+0x95/0xda\n           [\u003cffffffff811bcb43\u003e] ext4_ext_fiemap_cb+0x138/0x157\n           [\u003cffffffff811be069\u003e] ext4_ext_walk_space+0x178/0x1f1\n           [\u003cffffffff811be21e\u003e] ext4_fiemap+0x13c/0x159\n           [\u003cffffffff811390e6\u003e] do_vfs_ioctl+0x348/0x4d6\n           [\u003cffffffff811392ca\u003e] sys_ioctl+0x56/0x79\n           [\u003cffffffff81028cb2\u003e] system_call_fastpath+0x16/0x1b\n\n    other info that might help us debug this:\n\n    1 lock held by ureadahead/1855:\n     #0:  (\u0026ei-\u003ei_data_sem){++++..}, at: [\u003cffffffff811be1fd\u003e] ext4_fiemap+0x11b/0x159\n\n    stack backtrace:\n    Pid: 1855, comm: ureadahead Not tainted 2.6.32-04115-gec044c5 #37\n    Call Trace:\n     [\u003cffffffff81098c70\u003e] print_circular_bug+0xa8/0xb7\n     [\u003cffffffff81099aa4\u003e] __lock_acquire+0xa11/0xd0f\n     [\u003cffffffff8102f229\u003e] ? sched_clock+0x9/0xd\n     [\u003cffffffff81099e7e\u003e] lock_acquire+0xdc/0x102\n     [\u003cffffffff81107224\u003e] ? might_fault+0x5c/0xac\n     [\u003cffffffff81107251\u003e] might_fault+0x89/0xac\n     [\u003cffffffff81107224\u003e] ? might_fault+0x5c/0xac\n     [\u003cffffffff81124b44\u003e] ? __kmalloc+0x13b/0x18c\n     [\u003cffffffff81139382\u003e] fiemap_fill_next_extent+0x95/0xda\n     [\u003cffffffff811bcb43\u003e] ext4_ext_fiemap_cb+0x138/0x157\n     [\u003cffffffff811bca0b\u003e] ? ext4_ext_fiemap_cb+0x0/0x157\n     [\u003cffffffff811be069\u003e] ext4_ext_walk_space+0x178/0x1f1\n     [\u003cffffffff811be21e\u003e] ext4_fiemap+0x13c/0x159\n     [\u003cffffffff81107224\u003e] ? might_fault+0x5c/0xac\n     [\u003cffffffff811390e6\u003e] do_vfs_ioctl+0x348/0x4d6\n     [\u003cffffffff8129f6d0\u003e] ? __up_read+0x8d/0x95\n     [\u003cffffffff81517fb5\u003e] ? retint_swapgs+0x13/0x1b\n     [\u003cffffffff811392ca\u003e] sys_ioctl+0x56/0x79\n     [\u003cffffffff81028cb2\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a214238d3bb03723f820b0a398928d8e1637c987",
      "tree": "d4ca39dc2701279f815a7b4f4b47b1ac339ed35e",
      "parents": [
        "3b799d15f2622c44bae93961892d90ab012ea2be"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 09 21:09:58 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 09 21:09:58 2009 -0500"
      },
      "message": "ext4: Do not override ext2 or ext3 if built they are built as modules\n\nThe CONFIG_EXT4_USE_FOR_EXT23 option must not try to take over the\next2 or ext3 file systems if the those file system drivers are\nconfigured to be built as mdoules.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "3b799d15f2622c44bae93961892d90ab012ea2be",
      "tree": "200eda7f3615d354aba02b9f5183524d172006e5",
      "parents": [
        "4a58579b9e4e2a35d57e6c9c8483e52f6f1b7fd6"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 09 20:42:53 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Wed Dec 09 20:42:53 2009 -0500"
      },
      "message": "jbd2: Export jbd2_log_start_commit to fix ext4 build\n    \n    This fixes:\n    ERROR: \"jbd2_log_start_commit\" [fs/ext4/ext4.ko] undefined!\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "a9280fed383082da08a40af3f38daccaed6d8d62",
      "tree": "7eeacfcd07f7f1de56b1b29f473cb31b7251d8b4",
      "parents": [
        "2b876f95d03e226394b5d360c86127cbefaf614b",
        "1d2c6cfd40b2dece3bb958cbbc405a2c1536ab75"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 07:58:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 09 07:58:15 2009 -0800"
      },
      "message": "Merge branch \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing\n\n* \u0027reiserfs/kill-bkl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: (31 commits)\n  kill-the-bkl/reiserfs: turn GFP_ATOMIC flag to GFP_NOFS in reiserfs_get_block()\n  kill-the-bkl/reiserfs: drop the fs race watchdog from _get_block_create_0()\n  kill-the-bkl/reiserfs: definitely drop the bkl from reiserfs_ioctl()\n  kill-the-bkl/reiserfs: always lock the ioctl path\n  kill-the-bkl/reiserfs: fix reiserfs lock to cpu_add_remove_lock dependency\n  kill-the-bkl/reiserfs: Fix induced mm-\u003emmap_sem to sysfs_mutex dependency\n  kill-the-bkl/reiserfs: panic in case of lock imbalance\n  kill-the-bkl/reiserfs: fix recursive reiserfs write lock in reiserfs_commit_write()\n  kill-the-bkl/reiserfs: fix recursive reiserfs lock in reiserfs_mkdir()\n  kill-the-bkl/reiserfs: fix \"reiserfs lock\" / \"inode mutex\" lock inversion dependency\n  kill-the-bkl/reiserfs: move the concurrent tree accesses checks per superblock\n  kill-the-bkl/reiserfs: acquire the inode mutex safely\n  kill-the-bkl/reiserfs: unlock only when needed in search_by_key\n  kill-the-bkl/reiserfs: use mutex_lock in reiserfs_mutex_lock_safe\n  kill-the-bkl/reiserfs: factorize the locking in reiserfs_write_end()\n  kill-the-bkl/reiserfs: reduce number of contentions in search_by_key()\n  kill-the-bkl/reiserfs: don\u0027t hold the write recursively in reiserfs_lookup()\n  kill-the-bkl/reiserfs: lock only once on reiserfs_get_block()\n  kill-the-bkl/reiserfs: conditionaly release the write lock on fs_changed()\n  kill-the-BKL/reiserfs: add reiserfs_cond_resched()\n  ...\n"
    },
    {
      "commit": "6035ccd8e9e40bb654fbfdef325902ab531679a5",
      "tree": "c1810d8a4d4ef150cdf14af72e6087dfc3f4b6e0",
      "parents": [
        "23eb3b64b5e44680c867e165fe1cd18e57fba255",
        "878eaddd05d251cefa9632c2b8046833c5eead66"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:19:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 08:19:16 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.33\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.33\u0027 of git://git.kernel.dk/linux-2.6-block: (113 commits)\n  cfq-iosched: Do not access cfqq after freeing it\n  block: include linux/err.h to use ERR_PTR\n  cfq-iosched: use call_rcu() instead of doing grace period stall on queue exit\n  blkio: Allow CFQ group IO scheduling even when CFQ is a module\n  blkio: Implement dynamic io controlling policy registration\n  blkio: Export some symbols from blkio as its user CFQ can be a module\n  block: Fix io_context leak after failure of clone with CLONE_IO\n  block: Fix io_context leak after clone with CLONE_IO\n  cfq-iosched: make nonrot check logic consistent\n  io controller: quick fix for blk-cgroup and modular CFQ\n  cfq-iosched: move IO controller declerations to a header file\n  cfq-iosched: fix compile problem with !CONFIG_CGROUP\n  blkio: Documentation\n  blkio: Wait on sync-noidle queue even if rq_noidle \u003d 1\n  blkio: Implement group_isolation tunable\n  blkio: Determine async workload length based on total number of queues\n  blkio: Wait for cfq queue to get backlogged if group is empty\n  blkio: Propagate cgroup weight updation to cfq groups\n  blkio: Drop the reference to queue once the task changes cgroup\n  blkio: Provide some isolation between groups\n  ...\n"
    },
    {
      "commit": "d7fc02c7bae7b1cf69269992cf880a43a350cdaa",
      "tree": "a43d56fa72913a1cc98a0bbebe054d08581b3a7c",
      "parents": [
        "ee1262dbc65ce0b6234a915d8432171e8d77f518",
        "28b4d5cc17c20786848cdc07b7ea237a309776bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:55:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)\n  mac80211: fix reorder buffer release\n  iwmc3200wifi: Enable wimax core through module parameter\n  iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter\n  iwmc3200wifi: Coex table command does not expect a response\n  iwmc3200wifi: Update wiwi priority table\n  iwlwifi: driver version track kernel version\n  iwlwifi: indicate uCode type when fail dump error/event log\n  iwl3945: remove duplicated event logging code\n  b43: fix two warnings\n  ipw2100: fix rebooting hang with driver loaded\n  cfg80211: indent regulatory messages with spaces\n  iwmc3200wifi: fix NULL pointer dereference in pmkid update\n  mac80211: Fix TX status reporting for injected data frames\n  ath9k: enable 2GHz band only if the device supports it\n  airo: Fix integer overflow warning\n  rt2x00: Fix padding bug on L2PAD devices.\n  WE: Fix set events not propagated\n  b43legacy: avoid PPC fault during resume\n  b43: avoid PPC fault during resume\n  tcp: fix a timewait refcnt race\n  ...\n\nFix up conflicts due to sysctl cleanups (dead sysctl_check code and\nCTL_UNNUMBERED removed) in\n\tkernel/sysctl_check.c\n\tnet/ipv4/sysctl_net_ipv4.c\n\tnet/ipv6/addrconf.c\n\tnet/sctp/sysctl.c\n"
    },
    {
      "commit": "1557d33007f63dd96e5d15f33af389378e5f2e54",
      "tree": "06d05722b2ba5d2a67532f779fa8a88efe3c88f1",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "c656ae95d1c5c8ed5763356263ace2d03087efec"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 08 07:38:50 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6: (43 commits)\n  security/tomoyo: Remove now unnecessary handling of security_sysctl.\n  security/tomoyo: Add a special case to handle accesses through the internal proc mount.\n  sysctl: Drop \u0026 in front of every proc_handler.\n  sysctl: Remove CTL_NONE and CTL_UNNUMBERED\n  sysctl: kill dead ctl_handler definitions.\n  sysctl: Remove the last of the generic binary sysctl support\n  sysctl net: Remove unused binary sysctl code\n  sysctl security/tomoyo: Don\u0027t look at ctl_name\n  sysctl arm: Remove binary sysctl support\n  sysctl x86: Remove dead binary sysctl support\n  sysctl sh: Remove dead binary sysctl support\n  sysctl powerpc: Remove dead binary sysctl support\n  sysctl ia64: Remove dead binary sysctl support\n  sysctl s390: Remove dead sysctl binary support\n  sysctl frv: Remove dead binary sysctl support\n  sysctl mips/lasat: Remove dead binary sysctl support\n  sysctl drivers: Remove dead binary sysctl support\n  sysctl crypto: Remove dead binary sysctl support\n  sysctl security/keys: Remove dead binary sysctl support\n  sysctl kernel: Remove binary sysctl logic\n  ...\n"
    },
    {
      "commit": "b38882f5c066dc681679e90f1903eda323e605b1",
      "tree": "da9f693c414415c416e69e45bd9379bb27003640",
      "parents": [
        "6afaf8a484cbbfd2ccf58a4e5396d1f280469789"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Dec 07 14:21:45 2009 +0100"
      },
      "committer": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Tue Dec 08 14:24:00 2009 +0200"
      },
      "message": "UBIFS: fix return code in check_leaf\n\nReturn the PTR_ERR of the correct pointer. This fixes the debugging code.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\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": "4a58579b9e4e2a35d57e6c9c8483e52f6f1b7fd6",
      "tree": "f3a7f898a081d0917f7fe7f051aba687308cbf0a",
      "parents": [
        "b436b9bef84de6893e86346d8fbf7104bc520645"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Sun Dec 06 23:38:31 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Dec 06 23:38:31 2009 -0500"
      },
      "message": "ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT\n\nThis patch fixes three problems in the handling of the\nEXT4_IOC_MOVE_EXT ioctl:\n\n1. In current EXT4_IOC_MOVE_EXT, there are read access mode checks for\noriginal and donor files, but they allow the illegal write access to\ndonor file, since donor file is overwritten by original file data.  To\nfix this problem, change access mode checks of original (r-\u003er/w) and\ndonor (r-\u003ew) files.\n\n2.  Disallow the use of donor files that have a setuid or setgid bits.\n\n3.  Call mnt_want_write() and mnt_drop_write() before and after\next4_move_extents() calling to get write access to a mount.\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b436b9bef84de6893e86346d8fbf7104bc520645",
      "tree": "50fb9ae167bcd622e9adf47646bcf3b4c7dd111d",
      "parents": [
        "194074acacebc169ded90a4657193f5180015051"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 08 23:51:10 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 08 23:51:10 2009 -0500"
      },
      "message": "ext4: 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\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "194074acacebc169ded90a4657193f5180015051",
      "tree": "6661f85c6ef4548abe348c2611ad8a43b17ec320",
      "parents": [
        "5aca07eb7d8f14d90c740834d15ca15277f4820c"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Dec 08 22:42:28 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 08 22:42:28 2009 -0500"
      },
      "message": "ext4: fix incorrect block reservation on quota transfer.\n\nInside -\u003esetattr() call both ATTR_UID and ATTR_GID may be valid\nThis means that we may end-up with transferring all quotas. Add\nwe have to reserve QUOTA_DEL_BLOCKS for all quotas, as we do in\ncase of QUOTA_INIT_BLOCKS.\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nReviewed-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "5aca07eb7d8f14d90c740834d15ca15277f4820c",
      "tree": "362ab7bb56cf0920ee27bbaf97e2657c022eb4b4",
      "parents": [
        "8aa6790f876e81f5a2211fe1711a5fe3fe2d7b20"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Dec 08 22:42:15 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 08 22:42:15 2009 -0500"
      },
      "message": "ext4: quota macros cleanup\n\nCurrently all quota block reservation macros contains hard-coded \"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\nAcked-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "8aa6790f876e81f5a2211fe1711a5fe3fe2d7b20",
      "tree": "d82eef7f6753858a08640b226bece35dfca3c52d",
      "parents": [
        "b844167edc7fcafda9623955c05e4c1b3c32ebc7"
      ],
      "author": {
        "name": "Dmitry Monakhov",
        "email": "dmonakhov@openvz.org",
        "time": "Tue Dec 08 22:41:52 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 08 22:41:52 2009 -0500"
      },
      "message": "ext4: ext4_get_reserved_space() must return bytes instead of blocks\n\nSigned-off-by: Dmitry Monakhov \u003cdmonakhov@openvz.org\u003e\nReviewed-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b844167edc7fcafda9623955c05e4c1b3c32ebc7",
      "tree": "60b204901afb6393ace94bd5c8d39246d0a87383",
      "parents": [
        "d4edac314e9ad0b21ba20ba8bc61b61f186f79e1"
      ],
      "author": {
        "name": "Curt Wohlgemuth",
        "email": "curtw@google.com",
        "time": "Tue Dec 08 22:18:25 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 08 22:18:25 2009 -0500"
      },
      "message": "ext4: remove blocks from inode prealloc list on failure\n\nThis fixes a leak of blocks in an inode prealloc list if device failures\ncause ext4_mb_mark_diskspace_used() to fail.\n\nSigned-off-by: Curt Wohlgemuth \u003ccurtw@google.com\u003e\nAcked-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "d4edac314e9ad0b21ba20ba8bc61b61f186f79e1",
      "tree": "af44b291976308b9db6c215cb2dc03bbe020d6fc",
      "parents": [
        "b9a4207d5e911b938f73079a83cc2ae10524ec7f"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Tue Dec 08 21:48:58 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 08 21:48:58 2009 -0500"
      },
      "message": "ext4: wait for log to commit when umounting\n\nThere is a potential race when a transaction is committing right when\nthe file system is being umounting.  This could reduce in a race\nbecause EXT4_SB(sb)-\u003es_group_info could be freed in ext4_put_super\nbefore the commit code calls a callback so the mballoc code can\nrelease freed blocks in the transaction, resulting in a panic trying\nto access the freed s_group_info.\n\nThe fix is to wait for the transaction to finish committing before we\nshutdown the multiblock allocator.  \n\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "b9a4207d5e911b938f73079a83cc2ae10524ec7f",
      "tree": "6926354a2c6cc8e5f0e930845774ffe73d3766b8",
      "parents": [
        "24b584240a0006ea7436cd35f5e8983eb76f1e6f"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 08 21:24:33 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 08 21:24:33 2009 -0500"
      },
      "message": "ext4: Avoid data / filesystem corruption when write fails to copy data\n\nWhen ext4_write_begin fails after allocating some blocks or\ngeneric_perform_write fails to copy data to write, we truncate blocks\nalready instantiated beyond i_size.  Although these blocks were never\ninside i_size, we have to truncate the pagecache of these blocks so\nthat corresponding buffers get unmapped.  Otherwise subsequent\n__block_prepare_write (called because we are retrying the write) will\nfind the buffers mapped, not call -\u003eget_block, and thus the page will\nbe backed by already freed blocks leading to filesystem and data\ncorruption.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "24b584240a0006ea7436cd35f5e8983eb76f1e6f",
      "tree": "8b14be4ebcc93301bc63b061ecf89a16f114a31c",
      "parents": [
        "c09eef305dd43846360944ad072f051f964fa383"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Dec 07 14:08:51 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Dec 07 14:08:51 2009 -0500"
      },
      "message": "ext4: Use ext4 file system driver for ext2/ext3 file system mounts\n\nAdd a new config option, CONFIG_EXT4_USE_FOR_EXT23 which if enabled,\nwill cause ext4 to be used for either ext2 or ext3 file system mounts\nwhen ext2 or ext3 is not enabled in the configuration.\n\nThis allows minimalist kernel fanatics to drop to file system drivers\nfrom their compiled kernel with out losing functionality.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "c09eef305dd43846360944ad072f051f964fa383",
      "tree": "d0ce2efcbad1dbc1fa6ebc60b13f95aace0004dc",
      "parents": [
        "e6ec116b67f46e0e7808276476554727b2e6240b"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Dec 07 10:38:16 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Dec 07 10:38:16 2009 -0500"
      },
      "message": "ext4: Return the PTR_ERR of the correct pointer in setup_new_group_blocks()\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "897e81bea1fcfcd2c5cdb720c9efdb25da9ff374",
      "tree": "92cf33ed2c35c1ece633f09365702f1c8e24d415",
      "parents": [
        "c3fa27d1367fac63ac8533d6f20ea851d0d70a10",
        "0cf55e1ec08bb5a22e068309e2d8ba1180ab4239"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 15:30:49 2009 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (35 commits)\n  sched, cputime: Introduce thread_group_times()\n  sched, cputime: Cleanups related to task_times()\n  Revert \"sched, x86: Optimize branch hint in __switch_to()\"\n  sched: Fix isolcpus boot option\n  sched: Revert 498657a478c60be092208422fefa9c7b248729c2\n  sched, time: Define nsecs_to_jiffies()\n  sched: Remove task_{u,s,g}time()\n  sched: Introduce task_times() to replace task_{u,s}time() pair\n  sched: Limit the number of scheduler debug messages\n  sched.c: Call debug_show_all_locks() when dumping all tasks\n  sched, x86: Optimize branch hint in __switch_to()\n  sched: Optimize branch hint in context_switch()\n  sched: Optimize branch hint in pick_next_task_fair()\n  sched_feat_write(): Update ppos instead of file-\u003ef_pos\n  sched: Sched_rt_periodic_timer vs cpu hotplug\n  sched, kvm: Fix race condition involving sched_in_preempt_notifers\n  sched: More generic WAKE_AFFINE vs select_idle_sibling()\n  sched: Cleanup select_task_rq_fair()\n  sched: Fix granularity of task_u/stime()\n  sched: Fix/add missing update_rq_clock() calls\n  ...\n"
    },
    {
      "commit": "28b4d5cc17c20786848cdc07b7ea237a309776bb",
      "tree": "bae406a4b17229dcce7c11be5073f7a67665e477",
      "parents": [
        "d29cecda036f251aee4947f47eea0fe9ed8cc931",
        "96fa2b508d2d3fe040cf4ef2fffb955f0a537ea1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 05 15:22:26 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 05 15:22:26 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/pcmcia/fmvj18x_cs.c\n\tdrivers/net/pcmcia/nmclan_cs.c\n\tdrivers/net/pcmcia/xirc2ps_cs.c\n\tdrivers/net/wireless/ray_cs.c\n"
    },
    {
      "commit": "1ebb275afcf5a47092e995541d6c604eef96062a",
      "tree": "56722c2a688f4034e5157a0fceec98d6ac3b36f0",
      "parents": [
        "83fdbfbfe6e7e8906e3a3f8f6bc074d887e92109",
        "26bb7505cf7db3560286be9f6384b6d3911f78b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:47:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:47:17 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: (31 commits)\n  GFS2: Fix glock refcount issues\n  writeback: remove unused nonblocking and congestion checks (gfs2)\n  GFS2: drop rindex glock to refresh rindex list\n  GFS2: Tag all metadata with jid\n  GFS2: Locking order fix in gfs2_check_blk_state\n  GFS2: Remove dirent_first() function\n  GFS2: Display nobarrier option in /proc/mounts\n  GFS2: add barrier/nobarrier mount options\n  GFS2: remove division from new statfs code\n  GFS2: Improve statfs and quota usability\n  GFS2: Use dquot_send_warning()\n  VFS: Export dquot_send_warning\n  GFS2: Add set_xquota support\n  GFS2: Add get_xquota support\n  GFS2: Clean up gfs2_adjust_quota() and do_glock()\n  GFS2: Remove constant argument from qd_get()\n  GFS2: Remove constant argument from qdsb_get()\n  GFS2: Add proper error reporting to quota sync via sysfs\n  GFS2: Add get_xstate quota function\n  GFS2: Remove obsolete code in quota.c\n  ...\n"
    },
    {
      "commit": "6070d81eb5f2d4943223c96e7609a53cdc984364",
      "tree": "d2464159210bded5c7824fea2d4a8744233bd168",
      "parents": [
        "febe29d957c5076ff6a9fa49f39b01f1e48d1c04"
      ],
      "author": {
        "name": "Adam Buchbinder",
        "email": "adam.buchbinder@gmail.com",
        "time": "Fri Dec 04 15:47:01 2009 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 23:41:47 2009 +0100"
      },
      "message": "tree-wide: fix misspelling of \"definition\" in comments\n\n\"Definition\" is misspelled \"defintion\" in several comments; this\npatch fixes them. No code changes.\n\nSigned-off-by: Adam Buchbinder \u003cadam.buchbinder@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "febe29d957c5076ff6a9fa49f39b01f1e48d1c04",
      "tree": "a8707ab69455a7082c594445881403df2870d19e",
      "parents": [
        "e02f0e868a2664c1f5d72cd9a7fc08b4c4309169"
      ],
      "author": {
        "name": "Adam Buchbinder",
        "email": "adam.buchbinder@gmail.com",
        "time": "Fri Dec 04 15:24:22 2009 -0500"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 23:39:11 2009 +0100"
      },
      "message": "reiserfs: fix misspelling of \"journaled\"\n\n\"Journaled\" is misspelled \"journlaled\" in an output string; this patch\nfixed it. No changes in functionality.\n\nSigned-off-by: Adam Buchbinder \u003cadam.buchbinder@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "336e8683b9a8921049d0e6bb0ca5e18160828ec6",
      "tree": "53d921024a3cc62615cca5b5c54934ebfc70db7c",
      "parents": [
        "870571a2ef6fb2d6306673b4376fec93d441e013"
      ],
      "author": {
        "name": "Giuseppe Scrivano",
        "email": "gscrivano@gnu.org",
        "time": "Thu Dec 03 17:01:41 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:58 2009 +0100"
      },
      "message": "inotify: remove superfluous return code check\n\nSigned-off-by: Giuseppe Scrivano \u003cgscrivano@gnu.org\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "af901ca181d92aac3a7dc265144a9081a86d8f39",
      "tree": "380054af22521144fbe1364c3bcd55ad24c9bde4",
      "parents": [
        "972b94ffb90ea6d20c589d9a47215df103388ddd"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Sat Nov 14 13:09:05 2009 -0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:55 2009 +0100"
      },
      "message": "tree-wide: fix assorted typos all over the place\n\nThat is \"success\", \"unknown\", \"through\", \"performance\", \"[re|un]mapping\"\n, \"access\", \"default\", \"reasonable\", \"[con]currently\", \"temperature\"\n, \"channel\", \"[un]used\", \"application\", \"example\",\"hierarchy\", \"therefore\"\n, \"[over|under]flow\", \"contiguous\", \"threshold\", \"enough\" and others.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "be030e653f1f31b75684e0e9bca160f8dc7e7aa5",
      "tree": "c8d3fbbc11d61a8ee6f16e873691fc1408e977b4",
      "parents": [
        "96c085db0a0f22895917f09cf942853186b892fd"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Sat Oct 31 18:26:52 2009 -0300"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:52 2009 +0100"
      },
      "message": "fs/debugfs/inode.c: fix comment typos\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\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": "0d99519efef15fd0cf84a849492c7b1deee1e4b7",
      "tree": "d0f9d922ef73f6b9c4529826878f3cc5567848fd",
      "parents": [
        "b17621fed6aa039387e35f9b4d34d98f213e5673"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@gmail.com",
        "time": "Thu Dec 03 13:54:25 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 13:54:25 2009 +0100"
      },
      "message": "writeback: remove unused nonblocking and congestion checks\n\n- no one is calling wb_writeback and write_cache_pages with\n  wbc.nonblocking\u003d1 any more\n- lumpy pageout will want to do nonblocking writeback without the\n  congestion wait\n\nSo remove the congestion checks as suggested by Chris.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Evgeniy Polyakov \u003czbr@ioremap.net\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b17621fed6aa039387e35f9b4d34d98f213e5673",
      "tree": "bc755d1aa204518600a6d82dd51d970c685dc68c",
      "parents": [
        "951c30d135390a108f102b0f6e3cfa6241f2a1aa"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@gmail.com",
        "time": "Thu Dec 03 13:54:25 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 13:54:25 2009 +0100"
      },
      "message": "writeback: introduce wbc.for_background\n\nIt will lower the flush priority for NFS, and maybe more in future.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "951c30d135390a108f102b0f6e3cfa6241f2a1aa",
      "tree": "d3184e177a7b47094ddf5a1e7540214de5b3a5e5",
      "parents": [
        "bf7ec5bb6114b2f086e536e24486fdacd1c0d339"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@gmail.com",
        "time": "Thu Dec 03 13:54:25 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 13:54:25 2009 +0100"
      },
      "message": "writeback: remove the always false bdi_cap_writeback_dirty() test\n\nThis is dead code because no bdi flush thread will be started for\n!bdi_cap_writeback_dirty bdi.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "220d0b1dbf78c6417a658c96e571415552d3abac",
      "tree": "70cd3862540c38ea490e7a27c3c7acc35b680234",
      "parents": [
        "474b18ccc264c472abeec50f48469b6477202699",
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 13:49:39 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Dec 03 13:49:39 2009 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-2.6.33\n"
    },
    {
      "commit": "26bb7505cf7db3560286be9f6384b6d3911f78b5",
      "tree": "0fcdf84b70a9effe7ab9c661dca74b6a4b4afb31",
      "parents": [
        "c29cd9004e72acb5a6cb8caf08508f1c5edee686"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 27 10:31:11 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 12:00:12 2009 +0000"
      },
      "message": "GFS2: Fix glock refcount issues\n\nThis patch fixes some ref counting issues. Firstly by moving\nthe point at which we drop the ref count after a dlm lock\noperation has completed we ensure that we never call\ngfs2_glock_hold() on a lock with a zero ref count.\n\nSecondly, by using atomic_dec_and_lock() in gfs2_glock_put()\nwe ensure that at no time will a glock with zero ref count\nappear on the lru_list. That means that we can remove the\ncheck for this in our shrinker (which was racy).\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c29cd9004e72acb5a6cb8caf08508f1c5edee686",
      "tree": "f2cf39f10f99b551b7feddf759ab7775d6db8b9a",
      "parents": [
        "9ae3c6de6981a1e8765b5d029f94555fc0f0fea0"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Nov 18 18:09:41 2009 +0800"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:59:17 2009 +0000"
      },
      "message": "writeback: remove unused nonblocking and congestion checks (gfs2)\n\nNo one is calling wb_writeback and write_cache_pages with\nwbc.nonblocking\u003d1 any more. And lumpy pageout will want to do\nnonblocking writeback without the congestion wait.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "9ae3c6de6981a1e8765b5d029f94555fc0f0fea0",
      "tree": "de903f8b904281ff44cc5ca0ec62b4f8e0010af2",
      "parents": [
        "0ab7d13fcbd7ce1658c563e345990ba453719deb"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Nov 10 12:54:56 2009 -0600"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:59:03 2009 +0000"
      },
      "message": "GFS2: drop rindex glock to refresh rindex list\n\nWhen a gfs2 filesystem is grown, it needs to rebuild the rindex list to be able\nto use the new space.  gfs2 does this when the rindex is marked not uptodate,\nwhich happens when the rindex glock is dropped.  However, on a single node\nsetup, there is never any reason to drop the rindex glock, so gfs2 never\ninvalidates the the rindex. This patch makes gfs2 automatically drop the\nrindex glock after filesystem grows, so it can refresh the rindex list.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "0ab7d13fcbd7ce1658c563e345990ba453719deb",
      "tree": "5db7f97c264883765da4a9c6324019f0cf746e44",
      "parents": [
        "2c77634965ee28c8b4790ffb5e83dd5ff7ac8988"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 06 16:20:51 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:58:47 2009 +0000"
      },
      "message": "GFS2: Tag all metadata with jid\n\nThere are two spare field in the header common to all GFS2\nmetadata. One is just the right size to fit a journal id\nin it, and this patch updates the journal code so that each\ntime a metadata block is modified, we tag it with the journal\nid of the node which is performing the modification.\n\nThe reason for this is that it should make it much easier to\ndebug issues which arise if we can tell which node was the\nlast to modify a particular metadata block.\n\nSince the field is updated before the block is written into\nthe journal, each journal should only contain metadata which\nis tagged with its own journal id. The one exception to this\nis the journal header block, which might have a different node\u0027s\nid in it, if that journal was recovered by another node in the\ncluster.\n\nThus each journal will contain a record of which nodes recovered\nit, via the journal header.\n\nThe other field in the metadata header could potentially be\nused to hold information about what kind of operation was\nperformed, but for the time being we just zero it on each\ntransaction so that if we use it for that in future, we\u0027ll\nknow that the information (where it exists) is reliable.\n\nI did consider using the other field to hold the journal\nsequence number, however since in GFS2\u0027s journaling we write\nthe modified data into the journal and not the original\ndata, this gives no information as to what action caused the\nmodification, so I think we can probably come up with a better\nuse for those 64 bits in the future.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2c77634965ee28c8b4790ffb5e83dd5ff7ac8988",
      "tree": "d8b32167ae8cdeca4be7977ee416359f9c9f5543",
      "parents": [
        "1579343a73e32b5886e186e8f3e4db85e420ed3f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 06 11:10:51 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:57:41 2009 +0000"
      },
      "message": "GFS2: Locking order fix in gfs2_check_blk_state\n\nIn some cases we already have the rindex lock when\nwe enter this function.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1579343a73e32b5886e186e8f3e4db85e420ed3f",
      "tree": "6bfe6aa71c9326a4f636b1fdfbecc809fa1d96a2",
      "parents": [
        "cdcfde62dac64c86ff34e483c595d568a252c433"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Nov 06 11:06:37 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:57:23 2009 +0000"
      },
      "message": "GFS2: Remove dirent_first() function\n\nThis function only had one caller left, and that caller only\ncalled it for leaf blocks, hence one branch of the \"if\" was\nnever taken. In addition the call to get_left had already\nverified the metadata type, so the function can be reduced\nto a single line of code in its caller.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cdcfde62dac64c86ff34e483c595d568a252c433",
      "tree": "fc8c3d5d4475df414772781513af673fc63e9928",
      "parents": [
        "f25934c5f88655a8d5c3c40a540daed1f0e6dedc"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 30 10:48:53 2009 +0000"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:57:05 2009 +0000"
      },
      "message": "GFS2: Display nobarrier option in /proc/mounts\n\nSince the default is barriers on, this only displays the\nnobarrier option when that is active.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "f25934c5f88655a8d5c3c40a540daed1f0e6dedc",
      "tree": "a21e1ab167314292ffe2e3b319c8d5abf5faccd7",
      "parents": [
        "c14f5735e724cb5338ca8298d42b1658008a10d7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 30 08:03:27 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:55:54 2009 +0000"
      },
      "message": "GFS2: add barrier/nobarrier mount options\n\nCurrently gfs2 issues barrier unconditionally.  There are various reasons\nto disable them, be that just for testing or for stupid devices flushing\nlarge battert backed caches.  Add a nobarrier option that matches xfs and\nbtrfs for this.  Also add a symmetric barrier option to turn it back on\nat remount time.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c14f5735e724cb5338ca8298d42b1658008a10d7",
      "tree": "74c198fe29824440a8fd52463fe9f326718da7cd",
      "parents": [
        "3d3c10f2ce80d2a19e5e02023c2b7ab7086c36d5"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Mon Oct 26 13:29:47 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:55:32 2009 +0000"
      },
      "message": "GFS2: remove division from new statfs code\n\nIt\u0027s not necessary to do any 64bit division for the statfs sync code, so\nremove it.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "3d3c10f2ce80d2a19e5e02023c2b7ab7086c36d5",
      "tree": "56b62b064457596caf66700323ff5aac2320ae93",
      "parents": [
        "2ec4650526c5a94d96bb760001fe0685b15988de"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Oct 20 02:39:44 2009 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:55:17 2009 +0000"
      },
      "message": "GFS2: Improve statfs and quota usability\n\nGFS2 now has three new mount options, statfs_quantum, quota_quantum and\nstatfs_percent.  statfs_quantum and quota_quantum simply allow you to\nset the tunables of the same name.  Setting setting statfs_quantum to 0\nwill also turn on the statfs_slow tunable.  statfs_percent accepts an\ninteger between 0 and 100.  Numbers between 1 and 100 will cause GFS2 to\ndo any early sync when the local number of blocks free changes by at\nleast statfs_percent from the totoal number of blocks free.  Setting\nstatfs_percent to 0 disables this.\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2ec4650526c5a94d96bb760001fe0685b15988de",
      "tree": "0903ed60100f27968364b6cd9bff94141648ed00",
      "parents": [
        "86e931a35e93d94e6e91b57cc76456e16d188ea9"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 28 12:49:15 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:53:28 2009 +0000"
      },
      "message": "GFS2: Use dquot_send_warning()\n\nThis adds support to GFS2 to send quota warnings via netlink.\nAlso it removes a stray \\r which was left over from when the\ncode used to print warnings on the console.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "86e931a35e93d94e6e91b57cc76456e16d188ea9",
      "tree": "55078897d1c3dfa43fed6458a7721af17362b4a3",
      "parents": [
        "e285c100362762f7440643be637dd332460fdc75"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 28 12:35:17 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:53:02 2009 +0000"
      },
      "message": "VFS: Export dquot_send_warning\n\nSending a message to userspace in a generic format to warn\nof events (e.g. quota exceeded) in the quota subsystem is\na generically useful feature. This patch makes some minor\nchanges to the send_message function from dquot.c renaming\nit quota_send_message, moving it to quota.c and exporting it\nfor use by filesystems which do not use the dquot code.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "e285c100362762f7440643be637dd332460fdc75",
      "tree": "03d8ba11e5c9c0c43fafd88c38e996f32a6ac2d1",
      "parents": [
        "113d6b3c99bf30d8083068d00e3c7304d91d4845"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Wed Sep 23 13:50:49 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:52:43 2009 +0000"
      },
      "message": "GFS2: Add set_xquota support\n\nThis patch adds the ability to set GFS2 quota limit and\nwarning levels via the XFS quota API.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "113d6b3c99bf30d8083068d00e3c7304d91d4845",
      "tree": "77c46b298307f8ce44998ee50d791ee736cf0faa",
      "parents": [
        "1e72c0f7c40e665d2ed40014750fdd2fa9968bcf"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 28 11:52:16 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:52:21 2009 +0000"
      },
      "message": "GFS2: Add get_xquota support\n\nThis adds support for viewing the current GFS2 quota settings\nvia the XFS quota API. The setting of quotas will be addressed\nin a later patch. Fields which are not supported here are left\nset to zero.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nReviewed-by: Bob Peterson \u003crpeterso@redhat.com\u003e\n"
    },
    {
      "commit": "1e72c0f7c40e665d2ed40014750fdd2fa9968bcf",
      "tree": "89d8ef6d7b822ac17699a3c51a1c59c654aaf676",
      "parents": [
        "6a6ada81e4ffc222bf7e54ea7503c7cc98b4f0d8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 20:42:56 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:51:05 2009 +0000"
      },
      "message": "GFS2: Clean up gfs2_adjust_quota() and do_glock()\n\nBoth of these functions contained confusing and in one case\nduplicate code. This patch adds a new check in do_glock()\nso that we report -ENOENT if we are asked to sync a quota\nentry which doesn\u0027t exist. Due to the previous patch this is\nnow reported correctly to userspace.\n\nAlso there are a few new comments, and I hope that the code\nis easier to understand now.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "6a6ada81e4ffc222bf7e54ea7503c7cc98b4f0d8",
      "tree": "499596295831a822090b57a16a072fad25ced852",
      "parents": [
        "33a82529e7007ed7beceebc6b3f3cddadb5b67f0"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 16:30:38 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:50:51 2009 +0000"
      },
      "message": "GFS2: Remove constant argument from qd_get()\n\nThis function was only ever called with the \"create\"\nargument set to true, so we can remove it.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "33a82529e7007ed7beceebc6b3f3cddadb5b67f0",
      "tree": "41746a2eee267900fdb8b636f1b8b2208509a671",
      "parents": [
        "ea7623385930c63e2a35749cff9db72094cd06ad"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 16:25:40 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:50:20 2009 +0000"
      },
      "message": "GFS2: Remove constant argument from qdsb_get()\n\nThe \"create\" argument to qdsb_get() was only ever set to true,\nso this patch removes that argument.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ea7623385930c63e2a35749cff9db72094cd06ad",
      "tree": "7ece734b87ee3e344283e35035f62deca0cadd1d",
      "parents": [
        "1d371b5e179d943491a5fddad211cb317f38a142"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 16:20:30 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:50:03 2009 +0000"
      },
      "message": "GFS2: Add proper error reporting to quota sync via sysfs\n\nFor some reason, the errors were not making it to userspace.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "1d371b5e179d943491a5fddad211cb317f38a142",
      "tree": "f443630d8cd86925c76f1da99471fae1047ab225",
      "parents": [
        "91094d0fb650decd8bf48b85d86c892d7ca913ee"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 11 15:57:27 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:49:49 2009 +0000"
      },
      "message": "GFS2: Add get_xstate quota function\n\nThis allows querying of the quota state via the XFS quota\nAPI.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "91094d0fb650decd8bf48b85d86c892d7ca913ee",
      "tree": "ed3b0ba8e852e8491d203df07766e4c37ed12d87",
      "parents": [
        "cc632e7f93465597896862cf9e50baefb1999215"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 11 15:21:56 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:49:30 2009 +0000"
      },
      "message": "GFS2: Remove obsolete code in quota.c\n\nThere is no point in testing for GLF_DEMOTE here, we might as\nwell always release the glock at that point.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "cc632e7f93465597896862cf9e50baefb1999215",
      "tree": "4a4a98f86e4fbfc5d127f2059c658ce2da1a87b0",
      "parents": [
        "8c42d637f6f2859e0fb28b78d5add7f0dc6d0973"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 15 09:59:02 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:49:09 2009 +0000"
      },
      "message": "GFS2: Hook gfs2_quota_sync into VFS via gfs2_quotactl_ops\n\nThe plan is to add further operations to the gfs2_quotactl_ops\nin future patches. The sync operation is easy, so we start with\nthat one.\n\nWe plan to use the XFS quota control functions because they more\nclosely match the GFS2 ones.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "8c42d637f6f2859e0fb28b78d5add7f0dc6d0973",
      "tree": "eacae41209e1f3947b255495a5ad13a9e6e1d1db",
      "parents": [
        "ab201832f75f58c8f5093436363f80ffa4a4c9a8"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Sep 11 14:36:44 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:48:54 2009 +0000"
      },
      "message": "GFS2: Alter arguments of gfs2_quota/statfs_sync\n\nThese two functions are altered so that gfs2_quota_sync may\nin future be called directly from the VFS. The GFS2 superblock\nchanges to a VFS super block and there is an addition of an int\nargument which is currently ignored.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "ab201832f75f58c8f5093436363f80ffa4a4c9a8",
      "tree": "bb3aa55736890f0742b2a9a4421ef900b3d891b2",
      "parents": [
        "106381bfba997b83b64f68f2210e154162fc38e6"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 29 16:31:03 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:48:07 2009 +0000"
      },
      "message": "VFS: Use GFP_NOFS in posix_acl_from_xattr()\n\nGFS2 needs to call this from under a glock, so we need GFP_NOFS\nand I suspect that other filesystems might require this too.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "106381bfba997b83b64f68f2210e154162fc38e6",
      "tree": "1968f519563faaa1c27e3162e007646bbaaaedc8",
      "parents": [
        "479c427dd60fe1aadbbf2e6cbf2f84942baeb210"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 29 16:26:23 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:47:51 2009 +0000"
      },
      "message": "GFS2: Add cached ACLs support\n\nThe other patches in this series have been building towards\nbeing able to support cached ACLs like other filesystems. The\nonly real difference with GFS2 is that we have to invalidate\nthe cache when we drop a glock, but that is dealt with in earlier\npatches.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "479c427dd60fe1aadbbf2e6cbf2f84942baeb210",
      "tree": "0f51cf8e107d599c2e5c3b63bcdb2b17243dc7c4",
      "parents": [
        "69dca42464962d8d0989b7e09877ba644c9cba66"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 02 12:00:00 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:47:35 2009 +0000"
      },
      "message": "GFS2: Clean up ACLs\n\nTo prepare for support for caching of ACLs, this cleans up the GFS2\nACL support by pushing the xattr code back into xattr.c and changing\nthe acl_get function into one which only returns ACLs so that we\ncan drop the caching function into it shortly.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "69dca42464962d8d0989b7e09877ba644c9cba66",
      "tree": "83ab9a2054781750239ec3b9f9db921166a39160",
      "parents": [
        "c65f7fb5342ecb8cb85e9b676327b3a43a5a4735"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 29 12:40:19 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:45:54 2009 +0000"
      },
      "message": "GFS2: Use gfs2_set_mode() instead of munge_mode()\n\nThese two functions do the same thing, so lets only use\none of them.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c65f7fb5342ecb8cb85e9b676327b3a43a5a4735",
      "tree": "97ce229e5a0a7b8730e2fc68388107960f218e79",
      "parents": [
        "796bd9524731850967d437b7f47a86acc776ea89"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 02 11:54:39 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:45:37 2009 +0000"
      },
      "message": "GFS2: Use forget_all_cached_acls()\n\nInvalidate all the cached ACLs when we drop the glock.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "2646a1f61a3b5525914757f10fa12b5b94713648",
      "tree": "9f6b7bdad5fb85963cbf05d2215f960b7ac3beaa",
      "parents": [
        "f55073ff1eaf99f6b3bc62134a456638bca043a3"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Fri Oct 02 11:50:54 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:43:05 2009 +0000"
      },
      "message": "GFS2: Fix up system xattrs\n\nThis code has been shamelessly stolen from XFS at the suggestion\nof Christoph Hellwig. I\u0027ve not added support for cached ACLs so\nfar... watch for that in a later patch, although this is designed\nin such a way that they should be easy to add.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "f55073ff1eaf99f6b3bc62134a456638bca043a3",
      "tree": "9637792f97494de2336f17a90a756e91c7d25527",
      "parents": [
        "7e71c55ee73988d0cb61045660b899eaac23bf8f"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Mon Sep 28 10:30:49 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:42:47 2009 +0000"
      },
      "message": "GFS2: Fix -o meta mounts for subsequent mounts (i.e. all but the first one)\n\nWe have a long term plan to use the \"-o meta\" flag to GFS2 mounts to\naccess the alternate root which is used to store metadata for a GFS2\nfilesystem. This will allow us to eventually remove support for the\ngfs2meta filesystem type (which is in any case just a \"front end\" to\nthe gfs2 filesystem type with the meta/master root).\n\nCurrently the \"-o meta\" option is only taken into account on the\ninitial mount of the filesystem. Subsequent mounts of the same\nfilesystem (i.e. on the same device) result in basically the same\nas bind mounting the root of the original mount.\n\nThis patch changes that by using what is more or less a copy\nof get_sb_bdev() and extending it so that it will take into\naccount the alternate root in all cases. The main difference\nis that we have to parse the mount options a bit earlier. We can\nthen use them to select the appropriate root towards the end of\nthe function.\n\nIn addition this also fixes a bug where it was possible (but certainly\nnot desirable) to set different ro/rw options for the meta root\nwhen mounted via the gfs2meta fs compared with the original mount.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Alexander Viro \u003caviro@redhat.com\u003e\n"
    },
    {
      "commit": "7e71c55ee73988d0cb61045660b899eaac23bf8f",
      "tree": "ef96dc44cd067cc758a8df0408ba36818c9ebc35",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Sep 22 10:56:16 2009 +0100"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Thu Dec 03 11:42:25 2009 +0000"
      },
      "message": "GFS2: Fix potential race in glock code\n\nWe need to be careful of the ordering between clearing the\nGLF_LOCK bit and scheduling the workqueue.\n\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "c84d6efd363a3948eb32ec40d46bab6338580454",
      "tree": "3ba7ac46e6626fe8ac843834588609eb6ccee5c6",
      "parents": [
        "7539cf4b92be4aecc573ea962135f246a7a33401",
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@macbook.(none)",
        "time": "Thu Dec 03 12:03:40 2009 +0530"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@macbook.(none)",
        "time": "Thu Dec 03 12:03:40 2009 +0530"
      },
      "message": "Merge branch \u0027master\u0027 into next\n"
    },
    {
      "commit": "0cf55e1ec08bb5a22e068309e2d8ba1180ab4239",
      "tree": "6102662a9594d51155bee11666fe8517fcbe6039",
      "parents": [
        "d99ca3b977fc5a93141304f571475c2af9e6c1c5"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Wed Dec 02 17:28:07 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Dec 02 17:32:40 2009 +0100"
      },
      "message": "sched, cputime: Introduce thread_group_times()\n\nThis is a real fix for problem of utime/stime values decreasing\ndescribed in the thread:\n\n   http://lkml.org/lkml/2009/11/3/522\n\nNow cputime is accounted in the following way:\n\n - {u,s}time in task_struct are increased every time when the thread\n   is interrupted by a tick (timer interrupt).\n\n - When a thread exits, its {u,s}time are added to signal-\u003e{u,s}time,\n   after adjusted by task_times().\n\n - When all threads in a thread_group exits, accumulated {u,s}time\n   (and also c{u,s}time) in signal struct are added to c{u,s}time\n   in signal struct of the group\u0027s parent.\n\nSo {u,s}time in task struct are \"raw\" tick count, while\n{u,s}time and c{u,s}time in signal struct are \"adjusted\" values.\n\nAnd accounted values are used by:\n\n - task_times(), to get cputime of a thread:\n   This function returns adjusted values that originates from raw\n   {u,s}time and scaled by sum_exec_runtime that accounted by CFS.\n\n - thread_group_cputime(), to get cputime of a thread group:\n   This function returns sum of all {u,s}time of living threads in\n   the group, plus {u,s}time in the signal struct that is sum of\n   adjusted cputimes of all exited threads belonged to the group.\n\nThe problem is the return value of thread_group_cputime(),\nbecause it is mixed sum of \"raw\" value and \"adjusted\" value:\n\n  group\u0027s {u,s}time \u003d foreach(thread){{u,s}time} + exited({u,s}time)\n\nThis misbehavior can break {u,s}time monotonicity.\nAssume that if there is a thread that have raw values greater\nthan adjusted values (e.g. interrupted by 1000Hz ticks 50 times\nbut only runs 45ms) and if it exits, cputime will decrease (e.g.\n-5ms).\n\nTo fix this, we could do:\n\n  group\u0027s {u,s}time \u003d foreach(t){task_times(t)} + exited({u,s}time)\n\nBut task_times() contains hard divisions, so applying it for\nevery thread should be avoided.\n\nThis patch fixes the above problem in the following way:\n\n - Modify thread\u0027s exit (\u003d __exit_signal()) not to use task_times().\n   It means {u,s}time in signal struct accumulates raw values instead\n   of adjusted values.  As the result it makes thread_group_cputime()\n   to return pure sum of \"raw\" values.\n\n - Introduce a new function thread_group_times(*task, *utime, *stime)\n   that converts \"raw\" values of thread_group_cputime() to \"adjusted\"\n   values, in same calculation procedure as task_times().\n\n - Modify group\u0027s exit (\u003d wait_task_zombie()) to use this introduced\n   thread_group_times().  It make c{u,s}time in signal struct to\n   have adjusted values like before this patch.\n\n - Replace some thread_group_cputime() by thread_group_times().\n   This replacements are only applied where conveys the \"adjusted\"\n   cputime to users, and where already uses task_times() near by it.\n   (i.e. sys_times(), getrusage(), and /proc/\u003cPID\u003e/stat.)\n\nThis patch have a positive side effect:\n\n - Before this patch, if a group contains many short-life threads\n   (e.g. runs 0.9ms and not interrupted by ticks), the group\u0027s\n   cputime could be invisible since thread\u0027s cputime was accumulated\n   after adjusted: imagine adjustment function as adj(ticks, runtime),\n     {adj(0, 0.9) + adj(0, 0.9) + ....} \u003d {0 + 0 + ....} \u003d 0.\n   After this patch it will not happen because the adjustment is\n   applied after accumulated.\n\nv2:\n - remove if()s, put new variables into signal_struct.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Spencer Candland \u003cspencer@bluehost.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nLKML-Reference: \u003c4B162517.8040909@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ff9c38bba37937adb909cceb2a6521f2e92e17c6",
      "tree": "93bd6152d9fa28348be99ef1c788040cc7b7a94d",
      "parents": [
        "65c0cfafce9575319fb6f70080fbe226e5617e3b",
        "b2722b1c3a893ec6021508da15b32282ec79f4da"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 01 22:13:38 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tnet/mac80211/ht.c\n"
    },
    {
      "commit": "3350b2acdd39d23db52710045536b943fe38a35c",
      "tree": "cafa0bd2883411209fd99aeddb92550802510298",
      "parents": [
        "fa1dae4906982b5d896c07613b1fe42456133b1c"
      ],
      "author": {
        "name": "Marc Dionne",
        "email": "marc.c.dionne@gmail.com",
        "time": "Tue Dec 01 14:09:24 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:35:11 2009 -0800"
      },
      "message": "CacheFiles: Update IMA counters when using dentry_open\n\nWhen IMA is active, using dentry_open without updating the\nIMA counters will result in free/open imbalance errors when\nfput is eventually called.\n\nSigned-off-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6f054164322bc6c1233402b9ed6b40d4af39a98f",
      "tree": "8bf63b1220db094a6865ff5254a3c55781e89b38",
      "parents": [
        "29e553631b2a0d4eebd23db630572e1027a9967a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 13:38:45 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 07:35:11 2009 -0800"
      },
      "message": "9p: fix build breakage introduced by FS-Cache\n\nWhile building 2.6.32-rc8-git2 for Fedora I noticed the following thinko\nin commit 201a15428bd54f83eccec8b7c64a04b8f9431204 (\"FS-Cache: Handle\npages pending storage that get evicted under OOM conditions\"):\n\n  fs/9p/cache.c: In function \u0027__v9fs_fscache_release_page\u0027:\n  fs/9p/cache.c:346: error: \u0027vnode\u0027 undeclared (first use in this function)\n  fs/9p/cache.c:346: error: (Each undeclared identifier is reported only once\n  fs/9p/cache.c:346: error: for each function it appears in.)\n  make[2]: *** [fs/9p/cache.o] Error 1\n\nFix the 9P filesystem to correctly construct the argument to\nfscache_maybe_release_page().\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e [from identical patch]\nSigned-off-by: Stefan Lippers-Hollmann \u003cs.l-h@gmx.de\u003e [from identical patch]\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e6ec116b67f46e0e7808276476554727b2e6240b",
      "tree": "ef80d636a8d45ff7779532e493916e2873adf390",
      "parents": [
        "3f0ca309858ee186435c608ee9eaafd1c8dcb53a"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 01 09:04:42 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Dec 01 09:04:42 2009 -0500"
      },
      "message": "jbd2: Add ENOMEM checking in and for jbd2_journal_write_metadata_buffer()\n\nOOM happens.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "99d7832c0e4950b8d6ac6ec2951ad1c0e9ada903",
      "tree": "53cded58c1b5251ab5c1038a2f76ca16b8d23e29",
      "parents": [
        "af5fdf80645304e7077ab876a43b325425c7ef70",
        "2f81e752da4781fc276689fc14391346d0dbbe78"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 14:51:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 14:51:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  [CIFS] Fix sparse warning\n  [CIFS] Duplicate data on appending to some Samba servers\n  [CIFS] fix oops in cifs_lookup during net boot\n"
    },
    {
      "commit": "573c24c4af6664ffcd9aa7ba617a35fde2b95534",
      "tree": "9222c0c8921fda5b842c2d1007d911d47bd4fe7c",
      "parents": [
        "a8a8a669ea13d792296737505adc43ccacf3a648"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Nov 30 16:34:43 2009 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Mon Nov 30 16:34:43 2009 -0600"
      },
      "message": "dlm: always use GFP_NOFS\n\nReplace all GFP_KERNEL and ls_allocation with GFP_NOFS.\nls_allocation would be GFP_KERNEL for userland lockspaces\nand GFP_NOFS for file system lockspaces.\n\nIt was discovered that any lockspaces on the system can\naffect all others by triggering memory reclaim in the\nfile system which could in turn call back into the dlm\nto acquire locks, deadlocking dlm threads that were\nshared by all lockspaces, like dlm_recv.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "d0964c37b539c2b76752b1ff8b0a618c5f82f077",
      "tree": "bcfce130d8a2462ebbad14000c53943929511c23",
      "parents": [
        "ff961c68b140fc99946b94b7dbed8cd1f1333ff4",
        "1b7323965a8c6eee9dc4e345a7ae4bff1dc93149"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 14:00:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 14:00:09 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:\n  fuse: reject O_DIRECT flag also in fuse_create\n"
    },
    {
      "commit": "199bc9ff5ca5e4b3bcaff8927b2983c65f34c263",
      "tree": "65eae0838210e0807e75ed2caa7e1f2d151b7f09",
      "parents": [
        "c69f677cc852f3f7b2342ab2f1598670a463d576"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Mon Nov 30 09:06:40 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:52:40 2009 -0800"
      },
      "message": "jffs2: Fix memory corruption in jffs2_read_inode_range()\n\nIn 2.6.23 kernel, commit a32ea1e1f925399e0d81ca3f7394a44a6dafa12c\n(\"Fix read/truncate race\") fixed a race in the generic code, and as a\nside effect, now do_generic_file_read() can ask us to readpage() past\nthe i_size. This seems to be correctly handled by the block routines\n(e.g. block_read_full_page() fills the page with zeroes in case if\nsomebody is trying to read past the last inode\u0027s block).\n\nJFFS2 doesn\u0027t handle this; it assumes that it won\u0027t be asked to read\npages which don\u0027t exist -- and thus that there will be at least _one_\nvalid \u0027frag\u0027 on the page it\u0027s being asked to read. It will fill any\nholes with the following memset:\n\n  memset(buf, 0, min(end, frag-\u003eofs + frag-\u003esize) - offset);\n\nWhen the \u0027closest smaller match\u0027 returned by jffs2_lookup_node_frag() is\nactually on a previous page and ends before \u0027offset\u0027, that results in:\n\n  memset(buf, 0, \u003chuge unsigned negative\u003e);\n\nHopefully, in most cases the corruption is fatal, and quickly causing\nrandom oopses, like this:\n\n  root@10.0.0.4:~/ltp-fs-20090531# ./testcases/kernel/fs/ftest/ftest01\n  Unable to handle kernel paging request for data at address 0x00000008\n  Faulting instruction address: 0xc01cd980\n  Oops: Kernel access of bad area, sig: 11 [#1]\n  [...]\n  NIP [c01cd980] rb_insert_color+0x38/0x184\n  LR [c0043978] enqueue_hrtimer+0x88/0xc4\n  Call Trace:\n  [c6c63b60] [c004f9a8] tick_sched_timer+0xa0/0xe4 (unreliable)\n  [c6c63b80] [c0043978] enqueue_hrtimer+0x88/0xc4\n  [c6c63b90] [c0043a48] __run_hrtimer+0x94/0xbc\n  [c6c63bb0] [c0044628] hrtimer_interrupt+0x140/0x2b8\n  [c6c63c10] [c000f8e8] timer_interrupt+0x13c/0x254\n  [c6c63c30] [c001352c] ret_from_except+0x0/0x14\n  --- Exception: 901 at memset+0x38/0x5c\n      LR \u003d jffs2_read_inode_range+0x144/0x17c\n  [c6c63cf0] [00000000] (null) (unreliable)\n\nThis patch fixes the issue, plus fixes all LTP tests on NAND/UBI with\nJFFS2 filesystem that were failing since 2.6.23 (seems like the bug\nabove also broke the truncation).\n\nReported-By: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nTested-By: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e80133f7f247f313da1638af4ce30f2bac303cc",
      "tree": "318afcc1c1c434135849cef50e3d89be505ad011",
      "parents": [
        "e3a41d7b99e7f97d9a50bec2a8f4eb237ce1d504",
        "4fa9f4ede88b4e2ff135b6e5717499d734508c62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:33:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:33:48 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache: (31 commits)\n  FS-Cache: Provide nop fscache_stat_d() if CONFIG_FSCACHE_STATS\u003dn\n  SLOW_WORK: Fix GFS2 to #include \u003clinux/module.h\u003e before using THIS_MODULE\n  SLOW_WORK: Fix CIFS to pass THIS_MODULE to slow_work_register_user()\n  CacheFiles: Don\u0027t log lookup/create failing with ENOBUFS\n  CacheFiles: Catch an overly long wait for an old active object\n  CacheFiles: Better showing of debugging information in active object problems\n  CacheFiles: Mark parent directory locks as I_MUTEX_PARENT to keep lockdep happy\n  CacheFiles: Handle truncate unlocking the page we\u0027re reading\n  CacheFiles: Don\u0027t write a full page if there\u0027s only a partial page to cache\n  FS-Cache: Actually requeue an object when requested\n  FS-Cache: Start processing an object\u0027s operations on that object\u0027s death\n  FS-Cache: Make sure FSCACHE_COOKIE_LOOKING_UP cleared on lookup failure\n  FS-Cache: Add a retirement stat counter\n  FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n  FS-Cache: Handle read request vs lookup, creation or other cache failure\n  FS-Cache: Don\u0027t delete pending pages from the page-store tracking tree\n  FS-Cache: Fix lock misorder in fscache_write_op()\n  FS-Cache: The object-available state can\u0027t rely on the cookie to be available\n  FS-Cache: Permit cache retrieval ops to be interrupted in the initial wait phase\n  FS-Cache: Use radix tree preload correctly in tracking of pages to be stored\n  ...\n"
    },
    {
      "commit": "1b7323965a8c6eee9dc4e345a7ae4bff1dc93149",
      "tree": "e0f6708e1bb274a2204919dbcc698be5f5880f0c",
      "parents": [
        "a8a8a669ea13d792296737505adc43ccacf3a648"
      ],
      "author": {
        "name": "Csaba Henk",
        "email": "csaba@gluster.com",
        "time": "Fri Nov 27 19:30:14 2009 +0530"
      },
      "committer": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Fri Nov 27 16:37:13 2009 +0100"
      },
      "message": "fuse: reject O_DIRECT flag also in fuse_create\n\nThe comment in fuse_open about O_DIRECT:\n\n  \"VFS checks this, but only _after_ -\u003eopen()\"\n\nalso holds for fuse_create, however, the same kind of check was missing there.\n\nAs an impact of this bug, open(newfile, O_RDWR|O_CREAT|O_DIRECT) fails, but a\nstub newfile will remain if the fuse server handled the implied FUSE_CREATE\nrequest appropriately.\n\nOther impact: in the above situation ima_file_free() will complain to open/free\nimbalance if CONFIG_IMA is set.\n\nSigned-off-by: Csaba Henk \u003ccsaba@gluster.com\u003e\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nCc: Harshavardhana \u003charsha@gluster.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "d5b7c78e975302a1bab28263266c39ecb71acad4",
      "tree": "47d9a18b2e81b3f93faf89b548b50beff29dd4fe",
      "parents": [
        "d180c5bccec02612256fd8076ff3c1fac3429553"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Thu Nov 26 14:49:05 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 12:59:20 2009 +0100"
      },
      "message": "sched: Remove task_{u,s,g}time()\n\nNow all task_{u,s}time() pairs are replaced by task_times().\nAnd task_gtime() is too simple to be an inline function.\n\nCleanup them all.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Spencer Candland \u003cspencer@bluehost.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nLKML-Reference: \u003c4B0E16D1.70902@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d180c5bccec02612256fd8076ff3c1fac3429553",
      "tree": "1ef4a45c81531645640380965916c68bbe7f6abb",
      "parents": [
        "16bc67edeb49b531940b2ba6c183780a1b5c472d"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Thu Nov 26 14:48:30 2009 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 12:59:19 2009 +0100"
      },
      "message": "sched: Introduce task_times() to replace task_{u,s}time() pair\n\nFunctions task_{u,s}time() are called in pair in almost all\ncases.  However task_stime() is implemented to call task_utime()\nfrom its inside, so such paired calls run task_utime() twice.\n\nIt means we do heavy divisions (div_u64 + do_div) twice to get\nutime and stime which can be obtained at same time by one set\nof divisions.\n\nThis patch introduces a function task_times(*tsk, *utime,\n*stime) to retrieve utime and stime at once in better, optimized\nway.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Stanislaw Gruszka \u003csgruszka@redhat.com\u003e\nCc: Spencer Candland \u003cspencer@bluehost.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Americo Wang \u003cxiyou.wangcong@gmail.com\u003e\nLKML-Reference: \u003c4B0E16AE.906@jp.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "16bc67edeb49b531940b2ba6c183780a1b5c472d",
      "tree": "71b4bc48e47e54f2c0b3126d8f81d2f31b707ea8",
      "parents": [
        "f6630114d9198aa959ac95c131334c020038f253",
        "047106adcc85e3023da210143a6ab8a55df9e0fc"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:50:39 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 26 10:50:42 2009 +0100"
      },
      "message": "Merge branch \u0027sched/urgent\u0027 into sched/core\n\nMerge reason: Pick up fixes that did not make it into .32.0\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d9449ce35a1e8fb58dd2d419f9215562a14ecca0",
      "tree": "322f88901d3e494134354dcd5b7f63fa723145e8",
      "parents": [
        "c16632bab1a17e357cec66920ceb3f0630009360"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Thu Nov 26 09:45:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 26 09:46:46 2009 +0100"
      },
      "message": "Fix regression in direct writes performance due to WRITE_ODIRECT flag removal\n\nThere seems to be a regression in direct write path due to following\ncommit in for-2.6.33 branch of block tree.\n\ncommit 1af60fbd759d31f565552fea315c2033947cfbe6\nAuthor: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nDate:   Fri Oct 2 18:56:53 2009 -0400\n\n    block: get rid of the WRITE_ODIRECT flag\n\nMarking direct writes as WRITE_SYNC_PLUG instead of WRITE_ODIRECT, sets\nthe NOIDLE flag in bio and hence in request. This tells CFQ to not expect\nmore request from the queue and not idle on it (despite the fact that\nqueue\u0027s think time is less and it is not seeky).\n\nSo direct writers lose big time when competing with sequential readers.\n\nUsing fio, I have run one direct writer and two sequential readers and\nfollowing are the results with 2.6.32-rc7 kernel and with for-2.6.33\nbranch.\n\nTest\n\u003d\u003d\u003d\u003d\n1 direct writer and 2 sequential reader running simultaneously.\n\n[global]\ndirectory\u003d/mnt/sdc/fio/\nruntime\u003d10\n\n[seqwrite]\nrw\u003dwrite\nsize\u003d4G\ndirect\u003d1\n\n[seqread]\nrw\u003dread\nsize\u003d2G\nnumjobs\u003d2\n\n2.6.32-rc7\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ndirect writes: aggrb\u003d2,968KB/s\nreaders\t     : aggrb\u003d101MB/s\n\nfor-2.6.33 branch\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ndirect write: aggrb\u003d19KB/s\nreaders\t      aggrb\u003d137MB/s\n\nThis patch brings back the WRITE_ODIRECT flag, with the difference that we\ndon\u0027t set the BIO_RW_UNPLUG flag so that device is not unplugged after\nsubmission of request and an explicit unplug from submitter is required.\n\nThat way we fix the jeff\u0027s issue of not enough merging taking place in aio\npath as well as make sure direct writes get their fair share.\n\nAfter the fix\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nfor-2.6.33 + fix\n----------------\ndirect writes: aggrb\u003d2,728KB/s\nreads: aggrb\u003d103MB/s\n\nThanks\nVivek\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2d4dc890b5c8fabd818a8586607e6843c4375e62",
      "tree": "9976ed7b0eed0056f8289aeb6a2b0abf8c940454",
      "parents": [
        "3586e917f2c7df769d173c4ec99554cb40a911e5"
      ],
      "author": {
        "name": "Ilya Loginov",
        "email": "isloginov@gmail.com",
        "time": "Thu Nov 26 09:16:19 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 26 09:16:19 2009 +0100"
      },
      "message": "block: add helpers to run flush_dcache_page() against a bio and a request\u0027s pages\n\nMtdblock driver doesn\u0027t call flush_dcache_page for pages in request.  So,\nthis causes problems on architectures where the icache doesn\u0027t fill from\nthe dcache or with dcache aliases.  The patch fixes this.\n\nThe ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE symbol was introduced to avoid\npointless empty cache-thrashing loops on architectures for which\nflush_dcache_page() is a no-op.  Every architecture was provided with this\nflush pages on architectires where ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE is\nequal 1 or do nothing otherwise.\n\nSee \"fix mtd_blkdevs problem with caches on some architectures\" discussion\non LKML for more information.\n\nSigned-off-by: Ilya Loginov \u003cisloginov@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Peter Horton \u003cphorton@bitbox.co.uk\u003e\nCc: \"Ed L. Cashin\" \u003cecashin@coraid.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2f81e752da4781fc276689fc14391346d0dbbe78",
      "tree": "02c40374f22919e49b87242b44556362053e85b2",
      "parents": [
        "cea62343956c24452700c06cf028b72414c58a74"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Nov 25 00:11:31 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Nov 25 00:11:31 2009 +0000"
      },
      "message": "[CIFS] Fix sparse warning\n\nAlso update CHANGES file\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cea62343956c24452700c06cf028b72414c58a74",
      "tree": "961d032aa0d020eaecf04c8be149d96efc17003f",
      "parents": [
        "8e6c0332d5032aef2d3bc8f41771f999112c8c66"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 24 22:49:37 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 24 22:52:13 2009 +0000"
      },
      "message": "[CIFS] Duplicate data on appending to some Samba servers\n\nSMB writes are sent with a starting offset and length. When the server\nsupports the newer SMB trans2 posix open (rather than using the SMB\nNTCreateX) a file can be opened with SMB_O_APPEND flag, and for that\ncase Samba server assumes that the offset sent in SMBWriteX is unneeded\nsince the write should go to the end of the file - which can cause\nproblems if the write was cached (since the beginning part of a\npage could be written twice by the client mm).  Jeff suggested that\nmasking the flag on posix open on the client is easiest for the time\nbeing. Note that recent Samba server also had an unrelated problem with\nSMB NTCreateX and append (see samba bugzilla bug number 6898) which\nshould not affect current Linux clients (unless cifs Unix Extensions\nare disabled).\n\nThe cifs client did not send the O_APPEND flag on posix open\nbefore 2.6.29 so the fix is unneeded on early kernels.\n\nIn the future, for the non-cached case (O_DIRECT, and forcedirectio mounts)\nit would be possible and useful to send O_APPEND on posix open (for Windows\ncase: FILE_APPEND_DATA but not FILE_WRITE_DATA on SMB NTCreateX) but for\ncached writes although the vfs sets the offset to end of file it\nmay fragment a write across pages - so we can\u0027t send O_APPEND on\nopen (could result in sending part of a page twice).\n\nCC: Stable \u003cstable@kernel.org\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8e6c0332d5032aef2d3bc8f41771f999112c8c66",
      "tree": "2b6282cd749f7a80f1ca34995f0e984a639cc144",
      "parents": [
        "ac50e950784cae1c26ad9e09ebd8f8c706131eb3"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 24 22:17:59 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 24 22:17:59 2009 +0000"
      },
      "message": "[CIFS] fix oops in cifs_lookup during net boot\n\nFixes bugzilla.kernel.org bug number 14641\n\nLookup called during network boot (network root filesystem\nfor diskless workstation) has case where nd is null in\nlookup.  This patch fixes that in cifs_lookup.\n\n(Shirish noted that 2.6.30 and 2.6.31 stable need the same check)\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by:  Vladimir Stavrinov \u003cvs@inist.ru\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3f0ca309858ee186435c608ee9eaafd1c8dcb53a",
      "tree": "747897214d2fda0ba36c36dc7be6352dacb3f5a0",
      "parents": [
        "b4d7241596ffb6398ac5535ae8cf80d845b0c254"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Nov 24 11:15:44 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 24 11:15:44 2009 -0500"
      },
      "message": "ext4: remove unused parameter wbc from __ext4_journalled_writepage()\n\nCC: Jan Kara \u003cjack@suse.cz\u003e \nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "ac48b0a1d068887141581bea8285de5fcab182b0",
      "tree": "8eee9eed14c49e5fd9e29bd7f4a68e3002999234",
      "parents": [
        "446aaa6e7e993b38a6f21c6acfa68f3f1af3dbe3"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Tue Nov 24 10:31:56 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 24 10:31:56 2009 -0500"
      },
      "message": "ext4: move_extent_per_page() cleanup\n\nIntegrate duplicate lines (acquire/release semaphore and invalidate\nextent cache in move_extent_per_page()) into mext_replace_branches(),\nto reduce source and object code size.\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "446aaa6e7e993b38a6f21c6acfa68f3f1af3dbe3",
      "tree": "dedc46c0d80a20061c0df463dcc6260aef394e2d",
      "parents": [
        "94d7c16cbbbd0e03841fcf272bcaf0620ad39618"
      ],
      "author": {
        "name": "Kazuya Mio",
        "email": "k-mio@sx.jp.nec.com",
        "time": "Tue Nov 24 10:28:48 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 24 10:28:48 2009 -0500"
      },
      "message": "ext4: initialize moved_len before calling ext4_move_extents()\n\nThe move_extent.moved_len is used to pass back the number of exchanged\nblocks count to user space.  Currently the caller must clear this\nfield; but we spend more code space checking for this requirement than\nsimply zeroing the field ourselves, so let\u0027s just make life easier for\neveryone all around.\n\nSigned-off-by: Kazuya Mio \u003ck-mio@sx.jp.nec.com\u003e\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "94d7c16cbbbd0e03841fcf272bcaf0620ad39618",
      "tree": "12a4d8b28bd5bf338b9bd1874e18d4bfdc77837a",
      "parents": [
        "9084d4719784b00ff0bf9c9580007fac8277dbcb"
      ],
      "author": {
        "name": "Akira Fujita",
        "email": "a-fujita@rs.jp.nec.com",
        "time": "Tue Nov 24 10:19:57 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Nov 24 10:19:57 2009 -0500"
      },
      "message": "ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT\n\nAt the beginning of ext4_move_extent(), we call\next4_discard_preallocations() to discard inode PAs of orig and donor\ninodes.  But in the following case, blocks can be double freed, so\nmove ext4_discard_preallocations() to the end of ext4_move_extents().\n\n1. Discard inode PAs of orig and donor inodes with\n   ext4_discard_preallocations() in ext4_move_extents().\n\n   orig : [ DATA1 ]\n   donor: [ DATA2 ]\n\n2. While data blocks are exchanging between orig and donor inodes, new\n   inode PAs is created to orig by other process\u0027s block allocation.\n   (Since there are semaphore gaps in ext4_move_extents().)  And new\n   inode PAs is used partially (2-1).\n\n   2-1 Create new inode PAs to orig inode\n   orig : [ DATA1 | used PA1 | free PA1 ]\n   donor: [ DATA2 ]\n\n3. Donor inode which has old orig inode\u0027s blocks is deleted after\n   EXT4_IOC_MOVE_EXT finished (3-1, 3-2).  So the block bitmap\n   corresponds to old orig inode\u0027s blocks are freed.\n\n   3-1 After EXT4_IOC_MOVE_EXT finished\n   orig : [ DATA2 |  free PA1 ]\n   donor: [ DATA1 |  used PA1 ]\n\n   3-2 Delete donor inode\n   orig : [ DATA2 |  free PA1 ]\n   donor: [ FREE SPACE(DATA1) | FREE SPACE(used PA1) ]\n\n4. The double-free of blocks is occurred, when close() is called to\n   orig inode.  Because ext4_discard_preallocations() for orig inode\n   frees used PA1 and free PA1, though used PA1 is already freed in 3.\n\n   4-1 Double-free of blocks is occurred\n   orig : [ DATA2 |  FREE SPACE(free PA1) ]\n   donor: [ FREE SPACE(DATA1) | DOUBLE FREE(used PA1) ]\n\nSigned-off-by: Akira Fujita \u003ca-fujita@rs.jp.nec.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    }
  ],
  "next": "774888bcd646c7055ac69ad4fd0c0fff0827ee39"
}
