)]}'
{
  "log": [
    {
      "commit": "0f4974c439dd7826c85bae4e6a8088ce2db0f498",
      "tree": "fdabc7d9bb7d7bc49aad547c0aac3a633ce01f09",
      "parents": [
        "3126c136bc30225d7a43af741778aa50e95e467a",
        "36ba782e9674cdc29ec7003757df0b375e99fa96"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:34:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:34:40 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (58 commits)\n  tty: split the lock up a bit further\n  tty: Move the leader test in disassociate\n  tty: Push the bkl down a bit in the hangup code\n  tty: Push the lock down further into the ldisc code\n  tty: push the BKL down into the handlers a bit\n  tty: moxa: split open lock\n  tty: moxa: Kill the use of lock_kernel\n  tty: moxa: Fix modem op locking\n  tty: moxa: Kill off the throttle method\n  tty: moxa: Locking clean up\n  tty: moxa: rework the locking a bit\n  tty: moxa: Use more tty_port ops\n  tty: isicom: fix deadlock on shutdown\n  tty: mxser: Use the new locking rules to fix setserial properly\n  tty: mxser: use the tty_port_open method\n  tty: isicom: sort out the board init logic\n  tty: isicom: switch to the new tty_port_open helper\n  tty: tty_port: Add a kref object to the tty port\n  tty: istallion: tty port open/close methods\n  tty: stallion: Convert to the tty_port_open/close methods\n  ...\n"
    },
    {
      "commit": "3126c136bc30225d7a43af741778aa50e95e467a",
      "tree": "71e6f0de6e1f4cde200dd632da4d2f61180289bf",
      "parents": [
        "f4d544ee5720d336a8c64f9fd33efb888c302309",
        "8e0eb4011bd73d5f91b215b532f74eef478ef795"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:31:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:31:13 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (21 commits)\n  ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks()\n  ext3: Fix data / filesystem corruption when write fails to copy data\n  ext4: Support for 64-bit quota format\n  ext3: Support for vfsv1 quota format\n  quota: Implement quota format with 64-bit space and inode limits\n  quota: Move definition of QFMT_OCFS2 to linux/quota.h\n  ext2: fix comment in ext2_find_entry about return values\n  ext3: Unify log messages in ext3\n  ext2: clear uptodate flag on super block I/O error\n  ext2: Unify log messages in ext2\n  ext3: make \"norecovery\" an alias for \"noload\"\n  ext3: Don\u0027t update the superblock in ext3_statfs()\n  ext3: journal all modifications in ext3_xattr_set_handle\n  ext2: Explicitly assign values to on-disk enum of filetypes\n  quota: Fix WARN_ON in lookup_one_len\n  const: struct quota_format_ops\n  ubifs: remove manual O_SYNC handling\n  afs: remove manual O_SYNC handling\n  kill wait_on_page_writeback_range\n  vfs: Implement proper O_SYNC semantics\n  ...\n"
    },
    {
      "commit": "f4d544ee5720d336a8c64f9fd33efb888c302309",
      "tree": "3b4674d46b04fbcfc38677df59c92320f65568dd",
      "parents": [
        "0e2f7b837600979d5b6f174a6ff695b85942e985",
        "44a743f68705c681439f264deb05f8f38e9048d3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:30:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:30:29 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: Fix error return for fallocate() on XFS\n  xfs: cleanup dmapi macros in the umount path\n  xfs: remove incorrect sparse annotation for xfs_iget_cache_miss\n  xfs: kill the STATIC_INLINE macro\n  xfs: uninline xfs_get_extsz_hint\n  xfs: rename xfs_attr_fetch to xfs_attr_get_int\n  xfs: simplify xfs_buf_get / xfs_buf_read interfaces\n  xfs: remove IO_ISAIO\n  xfs: Wrapped journal record corruption on read at recovery\n  xfs: cleanup data end I/O handlers\n  xfs: use WRITE_SYNC_PLUG for synchronous writeout\n  xfs: reset the i_iolock lock class in the reclaim path\n  xfs: I/O completion handlers must use NOFS allocations\n  xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks\n  xfs: simplify inode teardown\n"
    },
    {
      "commit": "f58df54a54451c5feb2fdc4bc2f4fb12cf79be01",
      "tree": "930b5892717ce84de93508407ebc35757bbc5ea0",
      "parents": [
        "748e566b7e24541e05e3e70be311887a1262f2a1",
        "3589972e51fac1e02d0aaa576fa47f568cb94d40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:24:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 15:24:56 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (27 commits)\n  Driver core: fix race in dev_driver_string\n  Driver Core: Early platform driver buffer\n  sysfs: sysfs_setattr remove unnecessary permission check.\n  sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir\n  sysfs: Propagate renames to the vfs on demand\n  sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish\n  sysfs: In sysfs_chmod_file lazily propagate the mode change.\n  sysfs: Implement sysfs_getattr \u0026 sysfs_permission\n  sysfs: Nicely indent sysfs_symlink_inode_operations\n  sysfs: Update s_iattr on link and unlink.\n  sysfs: Fix locking and factor out sysfs_sd_setattr\n  sysfs: Simplify iattr time assignments\n  sysfs: Simplify sysfs_chmod_file semantics\n  sysfs: Use dentry_ops instead of directly playing with the dcache\n  sysfs: Rename sysfs_d_iput to sysfs_dentry_iput\n  sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex\n  debugfs: fix create mutex racy fops and private data\n  Driver core: Don\u0027t remove kobjects in device_shutdown.\n  firmware_class: make request_firmware_nowait more useful\n  Driver-Core: devtmpfs - set root directory mode to 0755\n  ...\n"
    },
    {
      "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": "44a743f68705c681439f264deb05f8f38e9048d3",
      "tree": "3634e5e6599143f44e37e0964f61688ecf7af4a4",
      "parents": [
        "30ac0683dd452ba273c8db92a74d8cf7aef981d8"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Tue Nov 24 21:52:53 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:23 2009 -0600"
      },
      "message": "xfs: Fix error return for fallocate() on XFS\n\nNoticed that through glibc fallocate would return 28 rather than -1\nand errno \u003d 28 for ENOSPC. The xfs routines uses XFS_ERROR format\npositive return error codes while the syscalls use negative return\ncodes.  Fixup the two cases in xfs_vn_fallocate syscall to convert to\nnegative.\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "30ac0683dd452ba273c8db92a74d8cf7aef981d8",
      "tree": "656d403388b16d451c340a3b8ed0880296755016",
      "parents": [
        "0c3dc2b02a4996c13e26eb91296e8a309e0c6227"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 14 16:17:24 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:23 2009 -0600"
      },
      "message": "xfs: cleanup dmapi macros in the umount path\n\nStop the flag saving as we never mangle those in the unmount path, and\nhide all the weird arguents to the dmapi code inside the\nXFS_SEND_PREUNMOUNT / XFS_SEND_UNMOUNT macros.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "0c3dc2b02a4996c13e26eb91296e8a309e0c6227",
      "tree": "7a974ff0d9cb20dee3c2afa84fd1f67ffda281eb",
      "parents": [
        "b8f82a4a6fc79fcb4b2eb81252020e04c9b49da5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 14 16:17:23 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:23 2009 -0600"
      },
      "message": "xfs: remove incorrect sparse annotation for xfs_iget_cache_miss\n\nxfs_iget_cache_miss does not get called with the pag_ici_lock held, so\nthe __releases annotation is incorrect.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "b8f82a4a6fc79fcb4b2eb81252020e04c9b49da5",
      "tree": "4f6c6d123e39ea80d43927398c279f29ca1143ef",
      "parents": [
        "5683f53e36235234f7861909fdff878ff1f1bb20"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 14 16:17:22 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:22 2009 -0600"
      },
      "message": "xfs: kill the STATIC_INLINE macro\n\nRemove our own STATIC_INLINE macro.  For small function inside\nimplementation files just use STATIC and let gcc inline it, and for\nthose in headers do the normal static inline - they are all small\nenough to be inlined for debug builds, too.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5683f53e36235234f7861909fdff878ff1f1bb20",
      "tree": "3d1315b115319403df9ac59d6a01c5ddf4719058",
      "parents": [
        "e82fa0c7ca29b805388aa51d3cad2cb7a4df3084"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 14 16:17:21 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:22 2009 -0600"
      },
      "message": "xfs: uninline xfs_get_extsz_hint\n\nThis function is too large to efficiently be inlined.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "e82fa0c7ca29b805388aa51d3cad2cb7a4df3084",
      "tree": "f1149b0d37f837afb20549f83994e8da6b9332dc",
      "parents": [
        "6ad112bfb5af537e9e3103c807748bb4a99bbd9e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 14 16:17:20 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:22 2009 -0600"
      },
      "message": "xfs: rename xfs_attr_fetch to xfs_attr_get_int\n\nUsing a totally different name for the low-level get operation does\nnot fit the _int convention used in the rest of the attr code, so\nrename it.\n\nWhile we\u0027re at it also fix the prototype to use the normal convention\nand mark it static as it\u0027s never used outside of xfs_attr.c.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "6ad112bfb5af537e9e3103c807748bb4a99bbd9e",
      "tree": "783d7ea24d916914914287f696c1a957e495bd59",
      "parents": [
        "c355c656fede21f6e967816a603905f0ad6a7311"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Nov 24 18:02:23 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:21 2009 -0600"
      },
      "message": "xfs: simplify xfs_buf_get / xfs_buf_read interfaces\n\nCurrently the low-level buffer cache interfaces are highly confusing\nas we have a _flags variant of each that does actually respect the\nflags, and one without _flags which has a flags argument that gets\nignored and overriden with a default set.  Given that very few places\nuse the default arguments get rid of the duplication and convert all\ncallers to pass the flags explicitly.  Also remove the now confusing\n_flags postfix.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c355c656fede21f6e967816a603905f0ad6a7311",
      "tree": "98106d194d7d4c569da1e54bce7630b498a5624d",
      "parents": [
        "fc5bc4c85c45f0bf854404e5736aa8b65720a18d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Sat Nov 14 16:17:18 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:21 2009 -0600"
      },
      "message": "xfs: remove IO_ISAIO\n\nWe set the IO_ISAIO flag for all read/write I/O since early Linux\n2.6.x.  Remove it as it has lost it\u0027s purpose long ago.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "fc5bc4c85c45f0bf854404e5736aa8b65720a18d",
      "tree": "f7938c5a4386a789606654e83f5dbb91367ef507",
      "parents": [
        "5ec4fabb02fcb5b4a4154a27e4299af5aa0f87ac"
      ],
      "author": {
        "name": "Andy Poling",
        "email": "andy@realbig.com",
        "time": "Tue Nov 03 17:26:47 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:21 2009 -0600"
      },
      "message": "xfs: Wrapped journal record corruption on read at recovery\n\nSummary of problem:\n\nIf a journal record wraps at the physical end of the journal, it has to be\nread in two parts in xlog_do_recovery_pass(): a read at the physical end and a\nread at the physical beginning.  If xlog_bread() has to re-align the first\nread, the second read request does not take that re-alignment into account.\nIf the first read was re-aligned, the second read over-writes the end of the\ndata from the first read, effectively corrupting it.  This can happen either\nwhen reading the record header or reading the record data.\n\nThe first sanity check in xlog_recover_process_data() is to check for a valid\nclientid, so that is the error reported.\n\nSummary of fix:\n\nIf there was a first read at the physical end, XFS_BUF_PTR() returns where the\ndata was requested to begin.  Conversely, because it is the result of\nxlog_align(), offset indicates where the requested data for the first read\nactually begins - whether or not xlog_bread() has re-aligned it.\n\nUsing offset as the base for the calculation of where to place the second read\ndata ensures that it will be correctly placed immediately following the data\nfrom the first read instead of sometimes over-writing the end of it.\n\nThe attached patch has resolved the reported problem of occasional inability\nto recover the journal (reporting \"bad clientid\").\n\nSigned-off-by: Andy Poling \u003candy@realbig.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "5ec4fabb02fcb5b4a4154a27e4299af5aa0f87ac",
      "tree": "5932e385b83c06241f4696c3d2ae6000bd0f2a6f",
      "parents": [
        "06342cf8adb23464deae0f58f8bcb87818a3bee6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 30 09:11:47 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:20 2009 -0600"
      },
      "message": "xfs: cleanup data end I/O handlers\n\nCurrently we have different end I/O handlers for read vs the different\ntypes of write I/O.  But they are all very similar so we could just\nuse one with a few conditionals and reduce code size a lot.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "06342cf8adb23464deae0f58f8bcb87818a3bee6",
      "tree": "5e137892c622fd66216f7b7c3454d3f5e9ffccd1",
      "parents": [
        "033da48fda9d56e28b3fe3ef87ef6fd43290f554"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Fri Oct 30 09:09:15 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:20 2009 -0600"
      },
      "message": "xfs: use WRITE_SYNC_PLUG for synchronous writeout\n\nThe VM and I/O schedulers now expect us to use WRITE_SYNC_PLUG for\nsynchronous writeout.  Right now I can\u0027t see any changes in performance\nnumbers with this, but we\u0027re getting some beating for not using it,\nand the knowledge definitely could help the block code to make better\ndecisions.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "033da48fda9d56e28b3fe3ef87ef6fd43290f554",
      "tree": "0883ff1fd99a9d9bff00c2694e6b66ae12a39bba",
      "parents": [
        "80641dc66a2d6dfb22af4413227a92b8ab84c7bb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 19 04:05:26 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:20 2009 -0600"
      },
      "message": "xfs: reset the i_iolock lock class in the reclaim path\n\nThe iolock is used for protecting reads, writes and block truncates\nagainst each other.  We have two classes of callers, the first one is\ninduced by a file operation and requires a reference to the inode be\nheld and not dropped after the operation is done:\n\n - xfs_vm_vmap, xfs_vn_fallocate, xfs_read, xfs_write, xfs_splice_read,\n   xfs_splice_write and xfs_setattr are all implementations of VFS\n   methods that require a live inode\n - xfs_getbmap and xfs_swap_extents are ioctl subcommand for which the\n   same is true\n - xfs_truncate_file is only called on quota inodes just returned from\n   xfs_iget\n - xfs_sync_inode_data does the lock just after an igrab()\n - xfs_filestream_associate and xfs_filestream_new_ag take the iolock\n   on the parent inode of an inode which by VFS rules must be referenced\n\nAnd we have various calls to truncate blocks past EOF or the whole\nfile when dropping the last reference to an inode.  Unfortunately\nlockdep complains when we do memory allocations that can recurse into\nthe filesystem in the first class because the second class happens to\ntake the same lock.  To avoid this re-init the iolock in the beginning\nof xfs_fs_clear_inode to get a new lock class.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "80641dc66a2d6dfb22af4413227a92b8ab84c7bb",
      "tree": "f7353e4ca2bd4629b41c9ec79306d042d64f90f7",
      "parents": [
        "c56c9631cbe88f08854a56ff9776c1f310916830"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 19 04:00:03 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:20 2009 -0600"
      },
      "message": "xfs: I/O completion handlers must use NOFS allocations\n\nWhen completing I/O requests we must not allow the memory allocator to\nrecurse into the filesystem, as we might deadlock on waiting for the\nI/O completion otherwise.  The only thing currently allocating normal\nGFP_KERNEL memory is the allocation of the transaction structure for\nthe unwritten extent conversion.  Add a memflags argument to\n_xfs_trans_alloc to allow controlling the allocator behaviour.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Thomas Neumann \u003ctneumann@users.sourceforge.net\u003e\nTested-by: Thomas Neumann \u003ctneumann@users.sourceforge.net\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "c56c9631cbe88f08854a56ff9776c1f310916830",
      "tree": "9069de0b572857072bc99334b8d5e1bce14ef13f",
      "parents": [
        "848ce8f731aed0a2d4ab5884a4f6664af73d2dd0"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Mon Oct 19 04:03:46 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:19 2009 -0600"
      },
      "message": "xfs: fix mmap_sem/iolock inversion in xfs_free_eofblocks\n\nWhen xfs_free_eofblocks is called from -\u003erelease the VM might already\nhold the mmap_sem, but in the write path we take the iolock before\ntaking the mmap_sem in the generic write code.\n\nSwitch xfs_free_eofblocks to only trylock the iolock if called from\n-\u003erelease and skip trimming the prellocated blocks in that case.\nWe\u0027ll still free them later on the final iput.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "848ce8f731aed0a2d4ab5884a4f6664af73d2dd0",
      "tree": "cb8bdd8d2ce23f586e4bc0351dc934ae37a6db4e",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Tue Sep 29 13:48:56 2009 +0000"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "aelder@sgi.com",
        "time": "Fri Dec 11 15:11:19 2009 -0600"
      },
      "message": "xfs: simplify inode teardown\n\nCurrently the reclaim code for the case where we don\u0027t reclaim the\nfinal reclaim is overly complicated.  We know that the inode is clean\nbut instead of just directly reclaiming the clean inode we go through\nthe whole process of marking the inode reclaimable just to directly\nreclaim it from the calling context.  Besides being overly complicated\nthis introduces a race where iget could recycle an inode between\nmarked reclaimable and actually being reclaimed leading to panics.\n\nThis patch gets rid of the existing reclaim path, and replaces it with\na simple call to xfs_ireclaim if the inode was clean.  While we\u0027re at\nit we also use the slightly more lax xfs_inode_clean check we\u0027d use\nlater to determine if we need to flush the inode here.\n\nFinally get rid of xfs_reclaim function and place the remaining small\nbits of reclaim code directly into xfs_fs_destroy_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReported-by: Patrick Schreurs \u003cpatrick@news-service.com\u003e\nReported-by: Tommy van Leeuwen \u003ctommy@news-service.com\u003e\nTested-by: Patrick Schreurs \u003cpatrick@news-service.com\u003e\nReviewed-by: Alex Elder \u003caelder@sgi.com\u003e\nSigned-off-by: Alex Elder \u003caelder@sgi.com\u003e\n"
    },
    {
      "commit": "4e2ccdb0409146f8cf64a11b6ef82a9c928ced2a",
      "tree": "986896cc558ae23017e79ab08eb55b25c3a54549",
      "parents": [
        "3ef884b4c04e857c283cc77ca70ad8f638d94b0e",
        "a694291a6211537189c6080f77f63cdabfc9b63e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 11:49:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 11 11:49:18 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (49 commits)\n  nilfs2: separate wait function from nilfs_segctor_write\n  nilfs2: add iterator for segment buffers\n  nilfs2: hide nilfs_write_info struct in segment buffer code\n  nilfs2: relocate io status variables to segment buffer\n  nilfs2: do not return io error for bio allocation failure\n  nilfs2: use list_splice_tail or list_splice_tail_init\n  nilfs2: replace mark_inode_dirty as nilfs_mark_inode_dirty\n  nilfs2: delete mark_inode_dirty in nilfs_delete_entry\n  nilfs2: delete mark_inode_dirty in nilfs_commit_chunk\n  nilfs2: change return type of nilfs_commit_chunk\n  nilfs2: split nilfs_unlink as nilfs_do_unlink and nilfs_unlink\n  nilfs2: delete redundant mark_inode_dirty\n  nilfs2: expand inode_inc_link_count and inode_dec_link_count\n  nilfs2: delete mark_inode_dirty from nilfs_set_link\n  nilfs2: delete mark_inode_dirty in nilfs_new_inode\n  nilfs2: add norecovery mount option\n  nilfs2: add helper to get if volume is in a valid state\n  nilfs2: move recovery completion into load_nilfs function\n  nilfs2: apply readahead for recovery on mount\n  nilfs2: clean up get/put function of a segment usage\n  ...\n"
    },
    {
      "commit": "e16acb503b42ef241a9396de7c5a1614c74d8ca6",
      "tree": "369ea0ff38ffc59858f1fc0343885ddcb7df4e1f",
      "parents": [
        "ca1bab38195d66bdf42320a99cc7359434a271d3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Fri Nov 20 16:08:58 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: sysfs_setattr remove unnecessary permission check.\n\ninode_change_ok already clears the SGID bit when necessary\nso there is no reason for sysfs_setattr to carry code to do\nthe same, and it is good to kill the extra copy because when\nI moved the code last in certain corner cases the code will\nlook at the wrong gid.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ca1bab38195d66bdf42320a99cc7359434a271d3",
      "tree": "4394403b4a85fb269d052b7852b41ee0f7ba8a88",
      "parents": [
        "832b6af198aefe6034310e124594cc8b833c0ef9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:57 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Factor out sysfs_rename from sysfs_rename_dir and sysfs_move_dir\n\nThese two functions do 90% of the same work and it doesn\u0027t significantly\nobfuscate the function to allow both the parent dir and the name to change\nat the same time.  So merge them together to simplify maintenance, and\nincrease testing.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "832b6af198aefe6034310e124594cc8b833c0ef9",
      "tree": "853eec8f7449dd7fc51c6d4c9b70ea44b81cf0d9",
      "parents": [
        "a16bbc3430ed94b543222f4c8ef68025f8493e93"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:56 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Propagate renames to the vfs on demand\n\nBy teaching sysfs_revalidate to hide a dentry for\na sysfs_dirent if the sysfs_dirent has been renamed,\nand by teaching sysfs_lookup to return the original\ndentry if the sysfs dirent has been renamed.  I can\nshow the results of renames correctly without having to\nupdate the dcache during the directory rename.\n\nThis massively simplifies the rename logic allowing a lot\nof weird sysfs special cases to be removed along with\na lot of now unnecesary helper code.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a16bbc3430ed94b543222f4c8ef68025f8493e93",
      "tree": "e866babd9a5ab024bcd68a9f935c4b373b1e8ac7",
      "parents": [
        "06fc0d66f7ed3a3b08e8fcf8c325ecf0b8f93fea"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Fri Nov 20 16:08:55 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Gut sysfs_addrm_start and sysfs_addrm_finish\n\nWith lazy inode updates and dentry operations bringing everything\ninto sync on demand there is no longer any need to immediately\nupdate the vfs or grab i_mutex to protect those updates as we\nmake changes to sysfs.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "06fc0d66f7ed3a3b08e8fcf8c325ecf0b8f93fea",
      "tree": "a599fc1cabf3564745ac03bc3e70c7211dc8081e",
      "parents": [
        "e61ab4ae48fbf477f5b9fcbec9e1b8dc789920d0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:54 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: In sysfs_chmod_file lazily propagate the mode change.\n\nNow that sysfs_getattr and sysfs_permission refresh the vfs\ninode there is no need to immediatly push the mode change\ninto the vfs cache.  Reducing the amount of work needed and\nsimplifying the locking.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e61ab4ae48fbf477f5b9fcbec9e1b8dc789920d0",
      "tree": "70199a29a97a4f5ba8aea4340bc828da4f550e5d",
      "parents": [
        "c099aacd48ee73bd2de7da029e536ed005d72a43"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:53 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:54 2009 -0800"
      },
      "message": "sysfs: Implement sysfs_getattr \u0026 sysfs_permission\n\nWith the implementation of sysfs_getattr and sysfs_permission\nsysfs becomes able to lazily propogate inode attribute changes\nfrom the sysfs_dirents to the vfs inodes.   This paves the way\nfor deleting significant chunks of now unnecessary code.\n\nWhile doing this we did not reference sysfs_setattr from\nsysfs_symlink_inode_operations so I added along with\nsysfs_getattr and sysfs_permission.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c099aacd48ee73bd2de7da029e536ed005d72a43",
      "tree": "73f5d636d36a20e590d594944894c5e7bc2b4ba8",
      "parents": [
        "6b0bfe9383a54cf35046980c61f5ff8fefa557d7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:52 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Nicely indent sysfs_symlink_inode_operations\n\nLining up the functions in sysfs_symlink_inode_operations\nfollows the pattern in the rest of sysfs and makes things\nslightly more readable.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6b0bfe9383a54cf35046980c61f5ff8fefa557d7",
      "tree": "3206ee6374ba6b735e97ce7af60ed8a48df0df9c",
      "parents": [
        "35df63c46c8605d00140ec4833d2104e2e9f1acc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:51 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Update s_iattr on link and unlink.\n\nCurrently sysfs updates the timestamps on the vfs directory\ninode when we create or remove a directory entry but doesn\u0027t\nupdate the cached copy on the sysfs_dirent, fix that oversight.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "35df63c46c8605d00140ec4833d2104e2e9f1acc",
      "tree": "1f02d75ab4589d3c8878e38e9d45360a0c0667d4",
      "parents": [
        "4be3df28beec5605c77a18aa2a4f987b5648f9ce"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Nov 20 16:08:50 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Fix locking and factor out sysfs_sd_setattr\n\nCleanly separate the work that is specific to setting the\nattributes of a sysfs_dirent from what is needed to update\nthe attributes of a vfs inode.\n\nAdditionally grab the sysfs_mutex to keep any nasties from\nsurprising us when updating the sysfs_dirent.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4be3df28beec5605c77a18aa2a4f987b5648f9ce",
      "tree": "1cd19042637dd5b055489700d3df4f3f9e19f9b4",
      "parents": [
        "4c6974f51a981d14f13e36049d6307d3bcda550e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:03 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Simplify iattr time assignments\n\nThe granularity of sysfs time when we keep it is 1 ns.  Which\nwhen passed to timestamp_trunc results in a nop.  So remove\nthe unnecessary function call making sysfs_setattr slightly\neasier to read.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4c6974f51a981d14f13e36049d6307d3bcda550e",
      "tree": "608016b1dcdbf094732f06a2688a8af3d4d20d62",
      "parents": [
        "e8f077c8831528e2ec1ea6c8ba090e405fdcd0b7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:02 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Simplify sysfs_chmod_file semantics\n\nCurrently every caller of sysfs_chmod_file happens at either\nfile creation time to set a non-default mode or in response\nto a specific user requested space change in policy.  Making\ntimestamps of when the chmod happens and notification of\na file changing mode uninteresting.\n\nRemove the unnecessary time stamp and filesystem change\nnotification, and removes the last of the explicit inotify\nand donitfy support from sysfs.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e8f077c8831528e2ec1ea6c8ba090e405fdcd0b7",
      "tree": "707b25f1368d59d7d945ae46d2139f6592120a8e",
      "parents": [
        "28a027cfc0d527fcc31bfeac1d94d572c68847d1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:01 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Use dentry_ops instead of directly playing with the dcache\n\nCalling d_drop unconditionally when a sysfs_dirent is deleted has\nthe potential to leak mounts, so instead implement dentry delete\nand revalidate operations that cause sysfs dentries to be removed\nat the appropriate time.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "28a027cfc0d527fcc31bfeac1d94d572c68847d1",
      "tree": "b240a56532ba819eb7849f117bce3d3038f745ee",
      "parents": [
        "f44d3e7857e5d21413fc9a2b61948190c73705e7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Nov 07 23:27:00 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Rename sysfs_d_iput to sysfs_dentry_iput\n\nUsing dentry instead of d in the function name is what\nseveral other filesystems are doing and it seems to be\na more readable convention.\n\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f44d3e7857e5d21413fc9a2b61948190c73705e7",
      "tree": "d93591de4747cd59e4ee8ba8dfe97867cbdad6fd",
      "parents": [
        "d3a3b0adad0865c12e39b712ca89efbd0a3a0dbc"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@maxwell.aristanetworks.com",
        "time": "Sat Nov 07 23:26:59 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "sysfs: Update sysfs_setxattr so it updates secdata under the sysfs_mutex\n\nThe sysfs_mutex is required to ensure updates are and will remain\natomic with respect to other inode iattr updates, that do not happen\nthrough the filesystem.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d3a3b0adad0865c12e39b712ca89efbd0a3a0dbc",
      "tree": "31a8363a2e908d65514aa8f176ecfa7e57fc8f2a",
      "parents": [
        "18ef545e47c126abd87c013b762b5fbb574858ce"
      ],
      "author": {
        "name": "Mathieu Desnoyers",
        "email": "mathieu.desnoyers@polymtl.ca",
        "time": "Tue Nov 17 14:40:26 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:53 2009 -0800"
      },
      "message": "debugfs: fix create mutex racy fops and private data\n\nSetting fops and private data outside of the mutex at debugfs file\ncreation introduces a race where the files can be opened with the wrong\nfile operations and private data.  It is easy to trigger with a process\nwaiting on file creation notification.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f38506c49dab2751567423865941f32f2ea61c45",
      "tree": "f57e3823be64fc4d11a631c27433097316c8fb94",
      "parents": [
        "68ea809af47d8a4dd92dd3a8720882767fdf51b6"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Wed Oct 14 20:47:32 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 11 11:24:51 2009 -0800"
      },
      "message": "sysfs: mark a locally-only used function static\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\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": "8e0eb4011bd73d5f91b215b532f74eef478ef795",
      "tree": "53d60cdbb1a1a00e9787347aabb631e862b44969",
      "parents": [
        "68eb3db08344286733adac48304d9fb7a0e53b27"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Dec 07 14:50:11 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:55 2009 +0100"
      },
      "message": "ext3: PTR_ERR return of wrong pointer in setup_new_group_blocks()\n\nReturn the PTR_ERR of the correct pointer.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "68eb3db08344286733adac48304d9fb7a0e53b27",
      "tree": "214133860fdb6ceac4adbeb621837df8c494f1fb",
      "parents": [
        "5a20bdfcdc5c5e5f0647d8d99a998066ef5496ac"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Dec 01 16:53:06 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:55 2009 +0100"
      },
      "message": "ext3: Fix data / filesystem corruption when write fails to copy data\n\nWhen ext3_write_begin fails after allocating some blocks or\ngeneric_perform_write fails to copy data to write, we truncate blocks already\ninstantiated beyond i_size. Although these blocks were never inside i_size, we\nhave to truncate pagecache of these blocks so that corresponding buffers get\nunmapped. Otherwise subsequent __block_prepare_write (called because we are\nretrying the write) will find the buffers mapped, not call -\u003eget_block, and\nthus the page will be backed by already freed blocks leading to filesystem and\ndata corruption.\n\nReported-by: James Y Knight \u003cfoom@fuhm.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5a20bdfcdc5c5e5f0647d8d99a998066ef5496ac",
      "tree": "30f50f2655dd17681169e4cf825a1849265bf3b7",
      "parents": [
        "1aeec43432d6bfb7a300bb0363f2723b8c4c706d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 30 23:58:32 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:54 2009 +0100"
      },
      "message": "ext4: Support for 64-bit quota format\n\nAdd support for new 64-bit quota format. It is enough to add proper\nmount options handling. The rest is done by the generic code.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1aeec43432d6bfb7a300bb0363f2723b8c4c706d",
      "tree": "082a2dde06351428ba09b6de57e0178ab282e56d",
      "parents": [
        "498c60153ebb8889d8944591383c5c12af1127d4"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 30 22:22:41 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:54 2009 +0100"
      },
      "message": "ext3: Support for vfsv1 quota format\n\nWe just have to add proper mount options handling. The rest is handled by\nthe generic quota code.\n\nCC: linux-ext4@vger.kernel.org\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "498c60153ebb8889d8944591383c5c12af1127d4",
      "tree": "cda08502f8aac382fa46893da3c1c1db116c7164",
      "parents": [
        "30673930051e5203d0b826b8b8f2454cab453b94"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 16 18:09:47 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:54 2009 +0100"
      },
      "message": "quota: Implement quota format with 64-bit space and inode limits\n\nSo far the maximum quota space limit was 4TB. Apparently this isn\u0027t enough\nfor Lustre guys anymore. So implement new quota format which raises block\nlimits to 2^64 bytes. Also store number of inodes and inode limits in\n64-bit variables as 2^32 files isn\u0027t that insanely high anymore.\n\nThe first version of the patch has been developed by Andrew Perepechko\n\u003cAndrew.Perepechko@Sun.COM\u003e.\n\nCC: Andrew.Perepechko@Sun.COM\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "30673930051e5203d0b826b8b8f2454cab453b94",
      "tree": "5778b88101593c21881d37bdd0f4d85ffb77a6ca",
      "parents": [
        "92e128884bf04fb155413a78f45be1d73dff75a7"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Mon Nov 30 22:17:41 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:53 2009 +0100"
      },
      "message": "quota: Move definition of QFMT_OCFS2 to linux/quota.h\n\nMove definition of this constant to linux/quota.h so that it\ncannot clash with other format IDs.\n\nCC: Joel Becker \u003cjoel.becker@oracle.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "92e128884bf04fb155413a78f45be1d73dff75a7",
      "tree": "46d944e7526e2e7a86e8f2361fd9adabcce7b8a9",
      "parents": [
        "4cf46b67eb6de94532c1bea11d2479d085229d0e"
      ],
      "author": {
        "name": "Jérémy Cochoy",
        "email": "jeremy.cochoy@gmail.com",
        "time": "Mon Nov 30 17:58:43 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:53 2009 +0100"
      },
      "message": "ext2: fix comment in ext2_find_entry about return values\n\nSigned-off-by: Jérémy Cochoy \u003cjeremy.cochoy@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "4cf46b67eb6de94532c1bea11d2479d085229d0e",
      "tree": "1d14729f879ccc0afc56563b4edfb50ddec8c38c",
      "parents": [
        "2074abfeb8ea2904aeeaecc45e0dfea3f83a22b2"
      ],
      "author": {
        "name": "Alexey Fisher",
        "email": "bug-track@fisher-privat.net",
        "time": "Sun Nov 22 20:38:55 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:53 2009 +0100"
      },
      "message": "ext3: Unify log messages in ext3\n\nMake messages produced by ext3 more unified. It should be\neasy to parse.\n\ndmesg before patch:\n[ 4893.684892] reservations ON\n[ 4893.684896] xip option not supported\n[ 4893.684964] EXT3-fs warning: maximal mount count reached, running\ne2fsck is recommended\n\ndmesg after patch:\n[  873.300792] EXT3-fs (loop0): using internal journaln\n[  873.300796] EXT3-fs (loop0): mounted filesystem with writeback data mode\n[  924.163657] EXT3-fs (loop0): error: can\u0027t find ext3 filesystem on dev loop0.\n[  723.755642] EXT3-fs (loop0): error: bad blocksize 8192\n[  357.874687] EXT3-fs (loop0): error: no journal found. mounting ext3 over ext2?\n[  873.300764] EXT3-fs (loop0): warning: maximal mount count reached, running e2fsck is recommended\n[  924.163657] EXT3-fs (loop0): error: can\u0027t find ext3 filesystem on dev loop0.\n\nSigned-off-by: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2074abfeb8ea2904aeeaecc45e0dfea3f83a22b2",
      "tree": "86ed2d0aef6d17dc071d6c29e9736ed62a1f01d0",
      "parents": [
        "2314b07cb47ef7d7da5779977f8c3bf1b65748d2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Nov 16 16:04:49 2009 -0800"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:53 2009 +0100"
      },
      "message": "ext2: clear uptodate flag on super block I/O error\n\nThis fixes a WARN backtrace in mark_buffer_dirty() that occurs during\nunmount when a USB or floppy device is removed. I reported this a kernel\nregression, but looks like it might have been there for longer\nthan that.\n\nThe super block update from a previous operation has marked the buffer\nas in error, and the flag has to be cleared before doing the update.\n(Similar code already exists in ext4).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2314b07cb47ef7d7da5779977f8c3bf1b65748d2",
      "tree": "0720ff1c3ae15b37aa680643a3d214e04021ddfe",
      "parents": [
        "dee1d3b6270a7cf5cc65c493a2ab4ebaad1a1caf"
      ],
      "author": {
        "name": "Alexey Fisher",
        "email": "bug-track@fisher-privat.net",
        "time": "Thu Nov 19 19:12:51 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext2: Unify log messages in ext2\n\nmake messages produced by ext2 more unified. It should be\neasy to parse.\n\ndmesg before patch:\n[ 4893.684892] reservations ON\n[ 4893.684896] xip option not supported\n[ 4893.684961] EXT2-fs warning: mounting ext3 filesystem as ext2\n[ 4893.684964] EXT2-fs warning: maximal mount count reached, running\ne2fsck is recommended\n[ 4893.684990] EXT II FS: 0.5b, 95/08/09, bs\u003d1024, fs\u003d1024, gc\u003d2,\nbpg\u003d8192, ipg\u003d1280, mo\u003d80010]\n\ndmesg after patch:\n[ 4893.684892] EXT2-fs (loop0): reservations ON\n[ 4893.684896] EXT2-fs (loop0): xip option not supported\n[ 4893.684961] EXT2-fs (loop0): warning: mounting ext3 filesystem as\next2\n[ 4893.684964] EXT2-fs (loop0): warning: maximal mount count reached,\nrunning e2fsck is recommended\n[ 4893.684990] EXT2-fs (loop0): 0.5b, 95/08/09, bs\u003d1024, fs\u003d1024, gc\u003d2,\nbpg\u003d8192, ipg\u003d1280, mo\u003d80010]\n\nSigned-off-by: Alexey Fisher \u003cbug-track@fisher-privat.net\u003e\nReviewed-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "dee1d3b6270a7cf5cc65c493a2ab4ebaad1a1caf",
      "tree": "c8de16452f9a70e96456bc4bfdfdf1b4f9e3c404",
      "parents": [
        "b918397542388de75bd86c32fbfa820e5d629fa9"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Nov 16 16:50:49 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext3: make \"norecovery\" an alias for \"noload\"\n\nUsers on the list recently complained about differences across\nfilesystems w.r.t. how to mount without a journal replay.\n\nIn the discussion it was noted that xfs\u0027s \"norecovery\" option is\nperhaps more descriptively accurate than \"noload,\" so let\u0027s make\nthat an alias for ext3.\n\nAlso show this status in /proc/mounts\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "b918397542388de75bd86c32fbfa820e5d629fa9",
      "tree": "ebb4653a73c48292611396f307b42e17e090f947",
      "parents": [
        "d965736b8cb42ae51ba9c3f13488035a98d025c6"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Nov 16 16:34:51 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext3: Don\u0027t update the superblock in ext3_statfs()\n\ncommit a71ce8c6c9bf269b192f352ea555217815cf027e updated ext3_statfs()\nto update the on-disk superblock counters, but modified this buffer\ndirectly without any journaling of the change.  This is one of the\naccesses that was causing the crc errors in journal replay as seen in\nkernel.org bugzilla #14354.\n\nThe modifications were originally to keep the sb \"more\" in sync,\nso that a readonly fsck of the device didn\u0027t flag this as an\nerror (as often), but apparently e2fsprogs deals with this differently\nnow, anyway.\n\nBased on Ted\u0027s patch for ext4, which was in turn based on my\nwork on that bug and another preliminary patch...\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "d965736b8cb42ae51ba9c3f13488035a98d025c6",
      "tree": "9b65fbd9de506dca82319e138377cde299beb418",
      "parents": [
        "ad888a1f07a72fc7d19286b4ce5c154172a06eed"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Mon Nov 16 16:27:30 2009 -0600"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:52 2009 +0100"
      },
      "message": "ext3: journal all modifications in ext3_xattr_set_handle\n\next3_xattr_set_handle() was zeroing out an inode outside\nof journaling constraints; this is one of the accesses that\nwas causing the crc errors in journal replay as seen in\nkernel.org bugzilla #14354.\n\nAlthough ext3 doesn\u0027t have the crc issue, modifications\nout of journal control are a Bad Thing.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "c56818d7dc976a7392be82e8e04fe26347d591f3",
      "tree": "28c40dcb53198dc6870bb75b0250458579ade727",
      "parents": [
        "1472da5fdc65f0cd286c655758d629346001e126"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Nov 12 15:42:08 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:51 2009 +0100"
      },
      "message": "quota: Fix WARN_ON in lookup_one_len\n\nWe should hold i_mutex when looking up quota files for journaled quotas,\notherwise a WARN_ON in lookup_one_len triggers. The fact that we didn\u0027t\nhold i_mutex previously probably could not lead to a real bug since the\nfilesystem is just being mounted / remounted read-write and thus the\nroot directory cannot change anyway but it\u0027s definitely cleaner with\ni_mutex.\n\nReported-by: Bastien ROUCARIES \u003croucaries.bastien@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "1472da5fdc65f0cd286c655758d629346001e126",
      "tree": "6ac8b6e9a1994ae1de2eef2aededaec612039cc5",
      "parents": [
        "5ced58f73554e9d9609a790c5164d10ef91ce8ff"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Fri Oct 16 15:26:03 2009 +0400"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:51 2009 +0100"
      },
      "message": "const: struct quota_format_ops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "5ced58f73554e9d9609a790c5164d10ef91ce8ff",
      "tree": "adb14893b7b7e65fcd239ca4b0b5650e25b93687",
      "parents": [
        "027cf316afff03d310281709314fbc0899984759"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 30 22:17:16 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:51 2009 +0100"
      },
      "message": "ubifs: remove manual O_SYNC handling\n\ngeneric_file_aio_write already calls into -\u003efsync to handle O_SYNC/O_DSYNC.\nRemove the duplicate call to ubifs_sync_wbufs_by_inode which is already\ncovered by ubifs_fsync.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "027cf316afff03d310281709314fbc0899984759",
      "tree": "48e28adeb9f4690b7db70fdc3ce97bddb0f35a42",
      "parents": [
        "94004ed726f38a841cc51f97c4a3f9eda9fbd0d9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 30 22:16:51 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "afs: remove manual O_SYNC handling\n\ngeneric_file_aio_write already calls into -\u003efsync to handle O_SYNC/O_DSYNC.\nRemove the duplicate manual invocation.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "94004ed726f38a841cc51f97c4a3f9eda9fbd0d9",
      "tree": "786689e9fc9e686a5b54c1a1b1efcbb7d043b5ab",
      "parents": [
        "6b2f3d1f769be5779b479c37800229d9a4809fc3"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 30 22:16:33 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "kill wait_on_page_writeback_range\n\nAll callers really want the more logical filemap_fdatawait_range interface,\nso convert them to use it and merge wait_on_page_writeback_range into\nfilemap_fdatawait_range.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "6b2f3d1f769be5779b479c37800229d9a4809fc3",
      "tree": "046ef6736ec6c25ab1c68741ba715d13645af336",
      "parents": [
        "59bc055211b8d266ab6089158058bf8268e02006"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 27 11:05:28 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "vfs: Implement proper O_SYNC semantics\n\nWhile Linux provided an O_SYNC flag basically since day 1, it took until\nLinux 2.4.0-test12pre2 to actually get it implemented for filesystems,\nsince that day we had generic_osync_around with only minor changes and the\ngreat \"For now, when the user asks for O_SYNC, we\u0027ll actually give\nO_DSYNC\" comment.  This patch intends to actually give us real O_SYNC\nsemantics in addition to the O_DSYNC semantics.  After Jan\u0027s O_SYNC\npatches which are required before this patch it\u0027s actually surprisingly\nsimple, we just need to figure out when to set the datasync flag to\nvfs_fsync_range and when not.\n\nThis patch renames the existing O_SYNC flag to O_DSYNC while keeping it\u0027s\nnumerical value to keep binary compatibility, and adds a new real O_SYNC\nflag.  To guarantee backwards compatiblity it is defined as expanding to\nboth the O_DSYNC and the new additional binary flag (__O_SYNC) to make\nsure we are backwards-compatible when compiled against the new headers.\n\nThis also means that all places that don\u0027t care about the differences can\njust check O_DSYNC and get the right behaviour for O_SYNC, too - only\nplaces that actuall care need to check __O_SYNC in addition.  Drivers and\nnetwork filesystems have been updated in a fail safe way to always do the\nfull sync magic if O_DSYNC is set.  The few places setting O_SYNC for\nlower layers are kept that way for now to stay failsafe.\n\nWe enforce that O_DSYNC is set when __O_SYNC is set early in the open path\nto make sure we always get these sane options.\n\nNote that parisc really screwed up their headers as they already define a\nO_DSYNC that has always been a no-op.  We try to repair it by using it for\nthe new O_DSYNC and redefinining O_SYNC to send both the traditional\nO_SYNC numerical value _and_ the O_DSYNC one.\n\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "59bc055211b8d266ab6089158058bf8268e02006",
      "tree": "3c041c412fd798d321cae2550da2bce7c363eabf",
      "parents": [
        "3067e02f8f3ae2f3f02ba76400d03b8bcb4942b0"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Sep 23 14:44:56 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:49 2009 +0100"
      },
      "message": "zisofs: Implement reading of compressed files when PAGE_CACHE_SIZE \u003e compress block size\n\nAlso split and cleanup zisofs_readpage() when we are changing it anyway.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\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"
    }
  ],
  "next": "951c30d135390a108f102b0f6e3cfa6241f2a1aa"
}
