)]}'
{
  "log": [
    {
      "commit": "8a0dc95fd976a052e5e799ef33e6c8e3141b5dff",
      "tree": "3275903539244acd76c716662c324833aa419377",
      "parents": [
        "f39335453fe79f4e12e263e7c6387dc9fb86bfff"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:03 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:03 2008 -0600"
      },
      "message": "9p: transport API reorganization\n\nThis merges the mux.c (including the connection interface) with trans_fd\nin preparation for transport API changes.  Ultimately, trans_fd will need\nto be rewritten to clean it up and simplify the implementation, but this\nreorganization is viewed as the first step.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "14b8869ff4f00f105ea76678997b4d49d27baae3",
      "tree": "201c06c106053c609f847531a482d73e41a8cfc9",
      "parents": [
        "d199d652c513a010145a5a0d4e64c96361b97bee"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:05 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:05 2008 -0600"
      },
      "message": "9p: fix mmap to be read-only\n\nv9fs was allowing writable mmap which could lead to kernel BUG() cases.\nThis sets the mmap function to generic_file_readonly_mmap which (correctly)\nreturns an error to applications which open mmap for writing.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "d199d652c513a010145a5a0d4e64c96361b97bee",
      "tree": "b771aa8c4facd0a35ed46c70d79853cd50fb4a20",
      "parents": [
        "7c7d90f2dda6daec5a6aaf8f97aacc10ee4deb77"
      ],
      "author": {
        "name": "Anthony Liguori",
        "email": "aliguori@us.ibm.com",
        "time": "Wed Feb 06 19:25:06 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:06 2008 -0600"
      },
      "message": "9p: add support for sticky bit\n\nGDM gets unhappy if /var/gdm doesn\u0027t have the sticky bit set.  This patch adds\nsupport for the sticky bit in much the same way setuid/setgid is supported.\n\nWith this patch, I can launch X from a v9fs rootfs (although I quickly run out\nof fds in the server once gnome starts up).\n\nSigned-off-by: Anthony Liguori \u003caliguori@us.ibm.com\u003e\nAcked-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "c55703d807a8c6c239a5fea7b9cd7da08c27d7a9",
      "tree": "d0dc2da7b6ef0600eb3a626eee1f4717da20763f",
      "parents": [
        "e2735b7720320b68590ca2b32b78ca91213931b2"
      ],
      "author": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:08 2008 -0600"
      },
      "committer": {
        "name": "Eric Van Hensbergen",
        "email": "ericvh@opteron.homeip.net",
        "time": "Wed Feb 06 19:25:08 2008 -0600"
      },
      "message": "9p: fix bug in attach-per-user\n\nWhen a new user attached at a directory other than the root, he would end\nup in the parent directory of the cwd.  This was due to a logic error in\nthe code which attaches the user at the mount point and walks back to the\ncwd.  This patch fixes that.\n\nSigned-off-by: Eric Van Hensbergen \u003cericvh@gmail.com\u003e\n\n"
    },
    {
      "commit": "3e6bdf473f489664dac4d7511d26c7ac3dfdc748",
      "tree": "10cb2e928830b9de8bbc3f6dd47c18c24cd2affa",
      "parents": [
        "3d4d4582e5b3f67a68f2cf32fd5b70d8d80f119d",
        "58d5d0d8dd52cbca988af24b5692a20b00285543"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 13:54:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 13:54:09 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:\n  x86: fix deadlock, make pgd_lock irq-safe\n  virtio: fix trivial build bug\n  x86: fix mttr trimming\n  x86: delay CPA self-test and repeat it\n  x86: fix 64-bit sections\n  generic: add __FINITDATA\n  x86: remove suprious ifdefs from pageattr.c\n  x86: mark the .rodata section also NX\n  x86: fix iret exception recovery on 64-bit\n  cpuidle: dubious one-bit signed bitfield in cpuidle.h\n  x86: fix sparse warnings in powernow-k8.c\n  x86: fix sparse error in traps_32.c\n  x86: trivial sparse/checkpatch in quirks.c\n  x86 ptrace: disallow null cs/ss\n  MAINTAINERS: RDC R-321x SoC maintainer\n  brk randomization: introduce CONFIG_COMPAT_BRK\n  brk: check the lower bound properly\n  x86: remove X2 workaround\n  x86: make spurious fault handler aware of large mappings\n  x86: make traps on entry code be debuggable in user space, 64-bit\n"
    },
    {
      "commit": "32a932332c8bad842804842eaf9651ad6268e637",
      "tree": "58f187409029f089f788c5c35ad5c200b4a555af",
      "parents": [
        "4cc6028d4040f95cdb590a87db478b42b8be0508"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 06 22:39:44 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 06 22:39:44 2008 +0100"
      },
      "message": "brk randomization: introduce CONFIG_COMPAT_BRK\n\nbased on similar patch from: Pavel Machek \u003cpavel@ucw.cz\u003e\n\nIntroduce CONFIG_COMPAT_BRK. If disabled then the kernel is free\n(but not obliged to) randomize the brk area.\n\nHeap randomization breaks ancient binaries, so we keep COMPAT_BRK\nenabled by default.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bd1939de9061dbc5cac44ffb4425aaf4c9b894f1",
      "tree": "99cc44f2b92db9dba1391c81638f7755603c0199",
      "parents": [
        "d8fd66aaea7fe3e4f1ea044a563f129e3b9f05ff"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Feb 06 01:40:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext3: fix lock inversion in direct IO\n\nWe cannot start transaction in ext3_direct_IO() and just let it last during\nthe whole write because dio_get_page() acquires mmap_sem which ranks above\ntransaction start (e.g.  because we have dependency chain\nmmap_sem-\u003ePageLock-\u003ejournal_start, or because we update atime while holding\nmmap_sem) and thus deadlocks could happen.  We solve the problem by\nstarting a transaction separately for each ext3_get_block() call.\n\nWe *could* have a problem that we allocate a block and before its data are\nwritten out the machine crashes and thus we expose stale data.  But that\ndoes not happen because for hole-filling generic code falls back to\nbuffered writes and for file extension, we add inode to orphan list and\nthus in case of crash, journal replay will truncate inode back to the\noriginal size.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Zach Brown \u003czach.brown@oracle.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1d7ae24a23f1f366d6c5408f1ad11db69a748c6",
      "tree": "07da7753933ca5fac3c9af4eddb8973eff9675cd",
      "parents": [
        "859cb93679929edb88642414bf37789ea263bc47"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Wed Feb 06 01:40:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext3: remove unused code from ext3_find_entry()\n\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "859cb93679929edb88642414bf37789ea263bc47",
      "tree": "3dcc640e2d1fcd7b661336efcd22ef4d3104bb03",
      "parents": [
        "fb01bfdac733f1925561eea52c60072f2fbcdc97"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: cleanup ext[234]_bg_num_gdb()\n\nUse ext[234]_bg_has_super() to remove duplicate code.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fb01bfdac733f1925561eea52c60072f2fbcdc97",
      "tree": "92e95b0dd90b99f447d14f0598b398cc2eee9d42",
      "parents": [
        "197cd65accc6a274dabcd81f4811ba5d9a4856df"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: remove unused argument for ext[234]_find_goal()\n\nThe argument chain for ext[234]_find_goal() is not used.  This patch removes\nit and fixes comment as well.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "197cd65accc6a274dabcd81f4811ba5d9a4856df",
      "tree": "a41f7b375887c505f8c6a374ad643bb4c1222ed5",
      "parents": [
        "144704e5227362cbd694b0b3c3aa4ac99a0115c9"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: use ext[234]_get_group_desc()\n\nUse ext[234]_get_group_desc() to get group descriptor from group number.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "144704e5227362cbd694b0b3c3aa4ac99a0115c9",
      "tree": "d87b081741724d742514e9b91714ee0aa510ed1e",
      "parents": [
        "1eca93f9cafdec4a332ace9b0fc0d3886d430c28"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:40:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:21 2008 -0800"
      },
      "message": "ext[234]: fix comment for nonexistent variable\n\nThe comment in ext[234]_new_blocks() describes about \"i\".  But there is no\nlocal variable called \"i\" in that scope.  I guess it has been renamed to\ngroup_no.\n\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1eca93f9cafdec4a332ace9b0fc0d3886d430c28",
      "tree": "18eb1ea370ef6464c18a218c81cf65327535aa57",
      "parents": [
        "feda58d37ae0efe22e711a74e26fb541d4eb1baa"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Feb 06 01:40:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "ext3: change the default behaviour on error\n\next3 file system was by default ignoring errors and continuing.  This is\nnot a good default as continuing on error could lead to file system\ncorruption.  Change the default to mark the file system readonly.  Debian\nand ubuntu already does this as the default in their fstab.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "feda58d37ae0efe22e711a74e26fb541d4eb1baa",
      "tree": "5e902a8ddaf70a1cd39d3649178beb874eb10424",
      "parents": [
        "533083836fd55ca67ce35ab3d914b74ec1a5b9a8"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Feb 06 01:40:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "ext3: return after ext3_error in case of failures\n\nThis fixes some instances where we were continuing after calling\next3_error.  ext3_error calls panic only if errors\u003dpanic mount option is\nset.  So we need to make sure we return correctly after ext3_error call\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "533083836fd55ca67ce35ab3d914b74ec1a5b9a8",
      "tree": "5dffe25ff6d049be33ffe6b3d0135cae45eb2a72",
      "parents": [
        "e86e14385d8473a71809ff5c2be4b06867af4b5e"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:40:12 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "make jbd/journal.c:__journal_abort_hard() static\n\n__journal_abort_hard() can now become static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e86e14385d8473a71809ff5c2be4b06867af4b5e",
      "tree": "cfc3886f967e8a7721797477b5d6eff7e41bff5b",
      "parents": [
        "d71cadd6bc9834710c0b045e3abedd0c56ff1c37"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Feb 06 01:40:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "BKL-removal: remove incorrect comment refering to lock_kernel() from jbd/jbd2\n\nNone of the callers of this function does actually take the BKL as far as I\ncan see.  So remove the comment refering to the BKL.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d71cadd6bc9834710c0b045e3abedd0c56ff1c37",
      "tree": "a9410ecbf21f74993b2d9e5ca9b72d0ee9da04d0",
      "parents": [
        "14f9f7b28e9f4c2102337d45f8d324c004a57481"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Feb 06 01:40:11 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "BKL-removal: remove incorrect BKL comment in ext2\n\nNo BKL used anywhere, so don\u0027t mention it.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14f9f7b28e9f4c2102337d45f8d324c004a57481",
      "tree": "e2b2099e485a6a498bfe609cfb5ac57edc22ba28",
      "parents": [
        "f762e9054ff84aa90f037a49747ac61b36609d81"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Feb 06 01:40:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "BKL-removal: convert ext2 over to use unlocked_ioctl\n\nI checked ext2_ioctl and could not find anything in there that would need the\nBKL.  So convert it over to use unlocked_ioctl\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f762e9054ff84aa90f037a49747ac61b36609d81",
      "tree": "7f39358385964c8fb101096b23c451ae82f6e58a",
      "parents": [
        "01584fa6456dafbaf5a94ad7fb2aa3e3ecd7a7ba"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Feb 06 01:40:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "ext3: add block bitmap validation\n\nWhen a new block bitmap is read from disk in read_block_bitmap() there are a\nfew bits that should ALWAYS be set.  In particular, the blocks given\ncorresponding to block bitmap, inode bitmap and inode tables.  Validate the\nblock bitmap against these blocks.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "01584fa6456dafbaf5a94ad7fb2aa3e3ecd7a7ba",
      "tree": "8454d18e301e4a408236b22d91bf506fa90630fb",
      "parents": [
        "445a1d3e24b806bff01e422f0ddadf68e0eb5d0f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Feb 06 01:40:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:20 2008 -0800"
      },
      "message": "ext2: add block bitmap validation\n\nWhen a new block bitmap is read from disk in read_block_bitmap() there are a\nfew bits that should ALWAYS be set.  In particular, the blocks given\ncorresponding to block bitmap, inode bitmap and inode tables.  Validate the\nblock bitmap against these blocks.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d12def1bcb809b6172ee207a24e00a0a4398df1d",
      "tree": "96e151de1e80cacd9202a00b77654533a9754207",
      "parents": [
        "b57d426445c98789265de6a9338cdb06462d15fb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Feb 06 01:38:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "fuse: limit queued background requests\n\nLibfuse basically creates a new thread for each new request.  This is fine for\nsynchronous requests, which are naturally limited.  However background\nrequests (especially writepage) can cause a thread creation storm.\n\nTo avoid this, limit the number of background requests available to userspace.\n\nThis is done by introducing another queue for background requests, and a\ncounter for the number of \"active\" requests, which are currently available for\nuserspace.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b57d426445c98789265de6a9338cdb06462d15fb",
      "tree": "66ff8e708c15275af806b0a9847e01d9e3a2f8e5",
      "parents": [
        "0952b2a4a82b2deb76463dbcf1355b806dc81134"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Feb 06 01:38:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "fuse: save space in struct fuse_req\n\nMove the fields \u0027dentry\u0027 and \u0027vfsmount\u0027 into the request specific union, since\nthese are only used for the RELEASE request.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0952b2a4a82b2deb76463dbcf1355b806dc81134",
      "tree": "3daa0df6383263a80ef7ebbd96f721250c40a7ed",
      "parents": [
        "af440f52927e4b6941aa94e3cfc698adb0f22663"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Wed Feb 06 01:38:38 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "fuse: fix attribute caching after create\n\nInvalidate attributes on create, since st_ctime is updated.  Reported by\nSzabolcs Szakacsits.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "af440f52927e4b6941aa94e3cfc698adb0f22663",
      "tree": "00a7fdc2b09e8e6146f0fd0bc055688d58eea939",
      "parents": [
        "19e66a67e9b25874cd5e184e7d381ce1b955df11"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 06 01:38:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "ecryptfs: check for existing key_tfm at mount time\n\nJeff Moyer pointed out that a mount; umount loop of ecryptfs, with the same\ncipher \u0026 other mount options, created a new ecryptfs_key_tfm_cache item\neach time, and the cache could grow quite large this way.\n\nLooking at this with mhalcrow, we saw that ecryptfs_parse_options()\nunconditionally called ecryptfs_add_new_key_tfm(), which is what was adding\nthese items.\n\nRefactor ecryptfs_get_tfm_and_mutex_for_cipher_name() to create a new\nhelper function, ecryptfs_tfm_exists(), which checks for the cipher on the\ncached key_tfm_list, and sets a pointer to it if it exists.  This can then\nbe called from ecryptfs_parse_options(), and new key_tfm\u0027s can be added\nonly when a cached one is not found.\n\nWith list locking changes suggested by akpm.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Jeff Moyer \u003cjmoyer@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19e66a67e9b25874cd5e184e7d381ce1b955df11",
      "tree": "6dfd5c9771a99ddf7f3978ff6be466267727e2d5",
      "parents": [
        "25bd8174036036f427b039e4857feac6c6912a37"
      ],
      "author": {
        "name": "Trevor Highland",
        "email": "thighlan@gmail.com",
        "time": "Wed Feb 06 01:38:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:13 2008 -0800"
      },
      "message": "eCryptfs: change the type of cipher_code from u16 to u8\n\nOnly the lower byte of cipher_code is ever used, so it makes sense\nfor its type to be u8.\n\nSigned-off-by: Trevor Highland \u003ctrevor.highland@gmail.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "25bd8174036036f427b039e4857feac6c6912a37",
      "tree": "89c15ca0adb40cd5b4c00b627de74d342a851fa4",
      "parents": [
        "2830bfd6cf66133c86d4a32004fd99c3de7e23bf"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mike@halcrow.us",
        "time": "Wed Feb 06 01:38:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "eCryptfs: Minor fixes to printk messages\n\nThe printk statements that result when the user does not have the\nproper key available could use some refining.\n\nSigned-off-by: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2830bfd6cf66133c86d4a32004fd99c3de7e23bf",
      "tree": "51f68453ad6b5a3a75667385369bbd9b5ba8a02c",
      "parents": [
        "99db6e4a9764887842006a2b1aa804de6171db42"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 06 01:38:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "ecryptfs: remove debug as mount option, and warn if set via modprobe\n\necryptfs_debug really should not be a mount option; it is not per-mount,\nbut rather sets a global \"ecryptfs_verbosity\" variable which affects all\nmounted filesysytems.  It\u0027s already settable as a module load option,\nI think we can leave it at that.\n\nAlso, if set, since secret values come out in debug messages, kick\nthings off with a stern warning.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Mike Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "99db6e4a9764887842006a2b1aa804de6171db42",
      "tree": "5d45cd3f74aaeeb9209dea2e9a00d197d4e2cc06",
      "parents": [
        "8e3a6f16ba5874b69968cd450334829262513fd1"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 06 01:38:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "ecryptfs: make show_options reflect actual mount options\n\nChange ecryptfs_show_options to reflect the actual mount options in use.\nNote that this does away with the \"dir\u003d\" output, which is not a valid mount\noption and appears to be unused.\n\nMount options such as \"ecryptfs_verbose\" and \"ecryptfs_xattr_metadata\" are\nsomewhat indeterminate for a given fs, but in any case the reported mount\noptions can be used in a new mount command to get the same behavior.\n\n[akpm@linux-foundation.org: fix printk warning]\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nAcked-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e3a6f16ba5874b69968cd450334829262513fd1",
      "tree": "ae5f8535f87377c101eabda9c5508725f5f2b7bd",
      "parents": [
        "cc11beffdf80ca31dff21422fa2a5e54d25f1494"
      ],
      "author": {
        "name": "Trevor Highland",
        "email": "trevor.highland@gmail.com",
        "time": "Wed Feb 06 01:38:33 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "eCryptfs: set inode key only once per crypto operation\n\nThere is no need to keep re-setting the same key for any given eCryptfs inode.\nThis patch optimizes the use of the crypto API and helps performance a bit.\n\nSigned-off-by: Trevor Highland \u003ctrevor.highland@gmail.com\u003e\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc11beffdf80ca31dff21422fa2a5e54d25f1494",
      "tree": "3b0e28d18f493a7c59b089c4c6fc59c79945937e",
      "parents": [
        "7896b631823c6e8f1a520d89390624a51445840e"
      ],
      "author": {
        "name": "Michael Halcrow",
        "email": "mhalcrow@us.ibm.com",
        "time": "Wed Feb 06 01:38:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "eCryptfs: track header bytes rather than extents\n\nRemove internal references to header extents; just keep track of header bytes\ninstead.  Headers can easily span multiple pages with the recent persistent\nfile changes.\n\nSigned-off-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7896b631823c6e8f1a520d89390624a51445840e",
      "tree": "2f9f2151802d21ded60fc6f53df4daeee3eb054e",
      "parents": [
        "162c0d91a365d501c6cc65cba451f2d855e8ee81"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:38:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:12 2008 -0800"
      },
      "message": "fs/ecryptfs/: possible cleanups\n\n- make the following needlessly global code static:\n  - crypto.c:ecryptfs_lower_offset_for_extent()\n  - crypto.c:key_tfm_list\n  - crypto.c:key_tfm_list_mutex\n  - inode.c:ecryptfs_getxattr()\n  - main.c:ecryptfs_init_persistent_file()\n\n- remove the no longer used mmap.c:ecryptfs_lower_page_cache\n\n- #if 0 the unused read_write.c:ecryptfs_read()\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "844fcc53962d781aab7c164acbfa46505427375e",
      "tree": "2d0108617ebff6eec82c7c21f5bdf3a7610d4525",
      "parents": [
        "54d2a37eda3211d3b14c162238e9ccee43e023a9"
      ],
      "author": {
        "name": "Karsten Wiese",
        "email": "fzu@wemgehoertderstaat.de",
        "time": "Wed Feb 06 01:37:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:09 2008 -0800"
      },
      "message": "make sys_poll() wait at least timeout ms\n\nschedule_timeout(jiffies) waits for at least jiffies - 1.  Add 1 jiffie to\nthe timeout_jiffies calculated in sys_poll() to wait at least\ntimeout_msecs, like poll() manpage says.\n\nSigned-off-by: Karsten Wiese \u003cfzu@wemgehoertderstaat.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "13f14b4d8be225cbb11ff2be7c048590a9ccf87b",
      "tree": "2a2421bc456e30aa0347c79b2ed8a966dcd2ce2b",
      "parents": [
        "b41ecbebd4091a15233abab2d771e65fb82cdb20"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:09 2008 -0800"
      },
      "message": "Use ilog2() in fs/namespace.c\n\nWe can use ilog2() in fs/namespace.c to compute hash_bits and hash_mask at\ncompile time, not runtime.\n\n[akpm@linux-foundation.org: clean it all up]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b75cb06f72a8efebc8e1a66af4b8362172a3b661",
      "tree": "93ae2ca3845d895bc663661c0ef5a0534aab0c8e",
      "parents": [
        "c01106e573e2ce56a7cf4d65937ddf8f7fee1a18"
      ],
      "author": {
        "name": "Thomas Bogendoerfer",
        "email": "tsbogend@alpha.franken.de",
        "time": "Wed Feb 06 01:37:46 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:08 2008 -0800"
      },
      "message": "partition: use DEFAULT_SGI_PARTITION for SGI_PARTION default\n\nUse DEFAULT_SGI_PARTITION for SGI_PARTION default\n\nSigned-off-by: Thomas Bogendoerfer \u003ctsbogend@alpha.franken.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a8e3eff4668e3a4d6dbe7985a780f91de38a3c71",
      "tree": "c1844764ea2d3486767e8359436b255756883ea0",
      "parents": [
        "cce992bcee3e1cf917956c2190d86f2e591636a9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Feb 06 01:37:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:08 2008 -0800"
      },
      "message": "ext2: xip check fix\n\next2 should not worry about checking sb-\u003es_blocksize for XIP before the\nsb\u0027s blocksize actually gets set.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bcf11cbeccd7d981d68567942ba6ec184890bc29",
      "tree": "c23b864f3a7478cf73828cc06d32d0a0a83246cf",
      "parents": [
        "e381d1c46037aa4191c35e7514191bb3de739cbc"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Wed Feb 06 01:37:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:08 2008 -0800"
      },
      "message": "fs/reiserfs/xattr.c: use LIST_HEAD instead of LIST_HEAD_INIT\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "941d2380e979dfefb6c824452e9f42be3ef948ee",
      "tree": "4aad1ad817fb2043b8191ef77ec96845b9c24313",
      "parents": [
        "bed9759b2e6bd938097389f6bd2ac8d622fa3884"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Feb 06 01:37:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:07 2008 -0800"
      },
      "message": "quota: improve inode list scanning in add_dquot_ref()\n\nWe restarted scan of sb-\u003es_inodes list whenever we had to drop inode_lock\nin add_dquot_ref().  This leads to overall quadratic running time and thus\nadd_dquot_ref() can take several minutes when called on a life filesystem.\nWe fix the problem by using the fact that inode cannot be removed from\ns_inodes list while we hold a reference to it and thus we can safely\nrestart the scan if we don\u0027t drop the reference.  Here we use the fact that\ninodes freshly added to s_inodes list are already guaranteed to have quotas\nproperly initialized and the ordering of inodes on s_inodes list does not\nchange so we cannot skip any inode.\n\nThanks goes to Nick \u003cgentuu@gmail.com\u003e for analyzing the problem and\ntesting the fix.\n\n[akpm@linux-foundation.org: iput(NULL) is legal]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: Nick \u003cgentuu@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0d71bd5993b630a989d15adc2562a9ffe41cd26d",
      "tree": "cdd522e454cc37c92befddf62452f08f24ef6302",
      "parents": [
        "d599e36a9ea85432587f4550acc113cd7549d12a"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Feb 06 01:37:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:07 2008 -0800"
      },
      "message": "inotify: remove debug code\n\nThe inotify debugging code is supposed to verify that the\nDCACHE_INOTIFY_PARENT_WATCHED scalability optimisation does not result in\nnotifications getting lost nor extra needless locking generated.\n\nUnfortunately there are also some races in the debugging code.  And it isn\u0027t\nvery good at finding problems anyway.  So remove it for now.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Yan Zheng \u003cyanzheng@21cn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d599e36a9ea85432587f4550acc113cd7549d12a",
      "tree": "2baec196271ccafac682b4bdbef3690cca686221",
      "parents": [
        "eea63e0e8a60d00485b47fb6e75d9aa2566b989b"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Feb 06 01:37:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "inotify: fix race\n\nThere is a race between setting an inode\u0027s children\u0027s \"parent watched\" flag\nwhen placing the first watch on a parent, and instantiating new children of\nthat parent: a child could miss having its flags set by\nset_dentry_child_flags, but then inotify_d_instantiate might still see\n!inotify_inode_watched.\n\nThe solution is to set_dentry_child_flags after adding the watch.  Locking is\ntaken care of, because both set_dentry_child_flags and inotify_d_instantiate\nhold dcache_lock and child-\u003ed_locks.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Yan Zheng \u003cyanzheng@21cn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ba6f867f114760d4e43f0f93abe280ee0a0d696e",
      "tree": "becb331697e8eb1e1a6b32ee021f4b530b82c506",
      "parents": [
        "91f3f1e304f2e9ff2c8b9c76efd4fb8ff93110f7"
      ],
      "author": {
        "name": "Qi Yong",
        "email": "qiyong@fc-cn.com",
        "time": "Wed Feb 06 01:37:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "kill an unused PTR_ERR in bdev_cache_init()\n\nSigned-off-by: Qi Yong \u003cqiyong@fc-cn.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9cfe015aa424b3c003baba3841a60dd9b5ad319b",
      "tree": "5575e06efcf91018f860f2db43979e8e91aba1c3",
      "parents": [
        "774ed22c21ab95d582dfff38560f11cf290baeb4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Feb 06 01:37:16 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:06 2008 -0800"
      },
      "message": "get rid of NR_OPEN and introduce a sysctl_nr_open\n\nNR_OPEN (historically set to 1024*1024) actually forbids processes to open\nmore than 1024*1024 handles.\n\nUnfortunatly some production servers hit the not so \u0027ridiculously high\nvalue\u0027 of 1024*1024 file descriptors per process.\n\nChanging NR_OPEN is not considered safe because of vmalloc space potential\nexhaust.\n\nThis patch introduces a new sysctl (/proc/sys/fs/nr_open) wich defaults to\n1024*1024, so that admins can decide to change this limit if their workload\nneeds it.\n\n[akpm@linux-foundation.org: export it for sparc64]\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "774ed22c21ab95d582dfff38560f11cf290baeb4",
      "tree": "f460b986a74a333ef14dbcff57675c3732bbbff7",
      "parents": [
        "11025e855235144271a0e447e3650b203f8215f4"
      ],
      "author": {
        "name": "Richard Knutsson",
        "email": "ricknu-0@student.ltu.se",
        "time": "Wed Feb 06 01:37:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "reiserfs: complement va_start() with va_end().\n\nComplement va_start() with va_end().\n\nSigned-off-by: Richard Knutsson \u003cricknu-0@student.ltu.se\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ece95912db94d98e202cbedb8f35206deb29d83d",
      "tree": "7900aa32e8f8ee26f708471664a5b4024997be40",
      "parents": [
        "6d9851618104a21dbf5ee8260b5f2d4b5229c77e"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Feb 06 01:37:13 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "inotify: send IN_ATTRIB events when link count changes\n\nCurrently, no notification event has been sent when inode\u0027s link count\nchanged.  This is inconvenient for the application in some cases:\n\nSuppose you have the following directory structure\n\n    foo/test\n    bar/\n\nand you watch test.  If someone does \"mv foo/test bar/\", you get event\nIN_MOVE_SELF and you know something has happened with the file \"test\".\nHowever if someone does \"ln foo/test bar/test\" and \"rm foo/test\" you get no\ninotify event for the file \"test\" (only directories \"foo\" and \"bar\" receive\nevents).\n\nFurthermore it could be argued that link count belongs to file\u0027s metadata and\nthus IN_ATTRIB should be sent when it changes.\n\nThe following patch implements sending of IN_ATTRIB inotify events when link\ncount of the inode changes, i.e., when a hardlink to the inode is created or\nwhen it is removed.  This event is sent in addition to all the events sent so\nfar.  In particular, when a last link to a file is removed, IN_ATTRIB event is\nsent in addition to IN_DELETE_SELF event.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nAcked-by: Morten Welinder \u003cmwelinder@gmail.com\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Kamalesh Babulal \u003ckamalesh@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14b30d628446e5e4e4b313e10a90586fcf7d5638",
      "tree": "ac6ec012c1c811266462f9644f0f2614b8efa834",
      "parents": [
        "55581d018ed3493d226e7a4d645d9c8a5af6c36b"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Feb 06 01:37:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "hfs: update comment to reflect actual init and exit routines\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55581d018ed3493d226e7a4d645d9c8a5af6c36b",
      "tree": "d687d90390073aeb0bda273b7b9f051a36f5d892",
      "parents": [
        "7c28cbaed6811260efc0134b984b924cd0ed46f5"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Wed Feb 06 01:37:10 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "address hfs on-disk corruption robustness review comments\n\nAddress Roman\u0027s review comments for the previously sent on-disk\ncorruption hfs robustness patch.\n\n- use 0 as a failure value, rather than making a new macro HFS_BAD_KEYLEN,\n  and use a switch statement instead of if\u0027s.\n\n- Add new fail: target to __hfs_brec_find to skip assignments using bad\n  values when exiting with a failure.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c28cbaed6811260efc0134b984b924cd0ed46f5",
      "tree": "9c692330b0c86c90c93a079e69e896e93a2abeeb",
      "parents": [
        "797074e44d78835adbde2ca527718b0e50226b95"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Wed Feb 06 01:37:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "NCPFS: update diagnostic strings to match routine names.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nCc: Petr Vandrovec \u003cVANDROVE@vc.cvut.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "797074e44d78835adbde2ca527718b0e50226b95",
      "tree": "7a54757b7201f4e0085ad1a654fa319eb7e07816",
      "parents": [
        "e8462caa915d4d12846db7aae2557b6db7c054d5"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:37:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:05 2008 -0800"
      },
      "message": "fs: use list_for_each_entry_reverse and kill sb_entry\n\nUse list_for_each_entry_reverse for super_blocks list and remove\nunused sb_entry macro.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8462caa915d4d12846db7aae2557b6db7c054d5",
      "tree": "4bb2e4b66e5d0d6ee9e3059acd94212cdef6443a",
      "parents": [
        "07a154b2bb9b528a39ddc777399482c1fa27fdb8"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Feb 06 01:37:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:04 2008 -0800"
      },
      "message": "fs: use hlist_unhashed\n\nUse hlist_unhashed() instead of opencoded equivalent.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07a154b2bb9b528a39ddc777399482c1fa27fdb8",
      "tree": "64355093ab4f470e67a301fb53e7d078ad4000f9",
      "parents": [
        "0a76fe8e50ee93a9d4a1badb1ec995852a6bcaf1"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Wed Feb 06 01:37:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:04 2008 -0800"
      },
      "message": "proc: loadavg reading race\n\nThe avenrun[] values are supposed to be protected by xtime_lock.\nloadavg_read_proc does not use it.  Theoretically this may result in an\noccasional glitch when the value read from /proc/loadavg would be as much\nas 1\u003c\u003c11 times higher than it should be.\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0321155926b32cbc46f6603c6cc455e046b4d9b2",
      "tree": "01ca7e2709582dfd754bee427cf1959adbff52b2",
      "parents": [
        "de9330d13eac1f331e63ab1d18c506365b0151f3"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "olsajiri@gmail.com",
        "time": "Wed Feb 06 01:36:55 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "fs: remove dead config CONFIG_HAS_COMPAT_EPOLL_EVENT symbol\n\nRemove dead config CONFIG_HAS_COMPAT_EPOLL_EVENT symbol.\n\nSigned-off-by: Jiri Olsa \u003colsajiri@gmail.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7747cdb2f8302c2e1121f6d604b62a060fb04603",
      "tree": "c8d99c14aceea53f790e8769f0c60fc592b8de07",
      "parents": [
        "7ec37dfd4d282ce132dcb048398800951f6d11ef"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:49 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "fs/eventfd.c should #include \u003clinux/syscalls.h\u003e\n\nEvery file should include the headers containing the prototypes for its global\nfunctions (in this case sys_eventfd()).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ec37dfd4d282ce132dcb048398800951f6d11ef",
      "tree": "4fef63bbc5695661fd0f2288801be48038bf8596",
      "parents": [
        "12c2ab5e8fdfde67f3f6778a366cbdef06de410d"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:48 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "fs/signalfd.c should #include \u003clinux/syscalls.h\u003e\n\nEvery file should include the headers containing the prototypes for its global\nfunctions (in this case sys_signalfd()).\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "12c2ab5e8fdfde67f3f6778a366cbdef06de410d",
      "tree": "181a80de95fe57517a74e5a08f4f7457b71910ff",
      "parents": [
        "011e3fcd1e1f14ef54db30b93404ab7caa726477"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:03 2008 -0800"
      },
      "message": "fs/utimes.c should #include \u003clinux/syscalls.h\u003e\n\nEvery file should include the headers containing the prototypes for its global\nfunctions.\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "011e3fcd1e1f14ef54db30b93404ab7caa726477",
      "tree": "2d8b5dc618f370cb8f2aafd16f15e324fca872bb",
      "parents": [
        "c166f23cb56a76983ce860739d95c8296e57d6b3"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper prototype for get_filesystem_list()\n\nAd a proper prototype for migration_init() in include/linux/fs.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ce88cc5ed80de746f5bd2d8242291c87e7b87f63",
      "tree": "ac0c1890d0f741a33c6e2cd41712ae3200bf38ea",
      "parents": [
        "941e492bdb1239d2ca8f5736cdfd3ff83d00cb90"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 01:36:43 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "smbfs: fix calculation of kernel_recvmsg size parameter in smb_receive()\n\nsmb_receive calls kernel_recvmsg with a size that\u0027s the minimum of the\namount of buffer space in the kvec passed in or req-\u003erq_rlen (which\nrepresents the length of the response).  This does not take into account\nany data that was read in a request earlier pass through smb_receive.\n\nIf the first pass through smb_receive receives some but not all of the\nresponse, then the next pass can call kernel_recvmsg with a size field\nthat\u0027s too big.  kernel_recvmsg can overrun into the next response,\nthrowing off the alignment and making it unrecognizable.\n\nThis causes messages like this to pop up in the ring buffer:\n\nsmb_get_length: Invalid NBT packet, code\u003d69\n\nas well as other errors indicating that the response is unrecognizable.\nTypically this is seen on a smbfs mount under heavy I/O.\n\nThis patch changes the code to use (req-\u003erq_rlen - req-\u003erq_bytes_recvd)\ninstead instead of just req-\u003erq_rlen, since that should represent the\namount of unread data in the response.\n\nI think this is correct, but an ACK or NACK from someone more familiar\nwith this code would be appreciated...\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4cf9c342a2887f425780c23ad2be3077949cee2",
      "tree": "32d7344d18cb1b801ed7b66c10140f794a1b7ed0",
      "parents": [
        "f74596d07957235ad9da5120029348b372224a27"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Wed Feb 06 01:36:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "FAT: Fix printk format strings\n\nThis makes sure printk format strings contain no more than a single line.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n[the message was tweaked.]\nSigned-off-by: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f74596d07957235ad9da5120029348b372224a27",
      "tree": "72089ad3368af0e674952866dd9db69b1bcb42f9",
      "parents": [
        "0b03cfb25fa944bc106e816146846dcb48b2e907"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Wed Feb 06 01:36:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "proper show_interrupts() prototype\n\nAdd a proper prototype for show_interrupts() in include/linux/interrupt.h\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0b03cfb25fa944bc106e816146846dcb48b2e907",
      "tree": "e9e6ad93e71008134bdf8f42e316db5406c88451",
      "parents": [
        "870b8f8c43d000bb321b42a12212facc1087a748"
      ],
      "author": {
        "name": "Andries E. Brouwer",
        "email": "Andries.Brouwer@cwi.nl",
        "time": "Wed Feb 06 01:36:32 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:02 2008 -0800"
      },
      "message": "MNT_UNBINDABLE fix\n\nSome time ago ( http://lkml.org/lkml/2007/6/19/128 ) I wrote about\nMNT_UNBINDABLE that it felt like a bug that it is not reset by \"mount\n--make-private\".\n\nToday I happened to see mount(8) and Documentation/sharedsubtree.txt and\nboth document the version obtained by applying the little patch given in\nthe above (and again below).\n\nSo, the present kernel code is not according to specs and must be regarded\nas buggy.\n\nSpecification in Documentation/sharedsubtree.txt:\nSee state diagram: unbindable should become private upon make-private.\n\nSpecification in mount(8):\n    ...  It\u0027s\n    also possible to  set  up  uni-directional  propagation  (with  --make-\n    slave),  to  make  a  mount  point unavailable for --bind/--rbind (with\n    --make-unbindable), and to undo any  of  these  (with  --make-private).\n\nRepeat of old fix-shared-subtrees-make-private.patch\n(due to Dirk Gerrits, René Gabriëls, Peter Kooijmans):\n\nAcked-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bcfbf84d4067674b0740a39605f8057622ad5230",
      "tree": "908ea779a1285d18cfa554f0c8f8ccbf855271d0",
      "parents": [
        "14e11e106bf90c52c69373ac6abd3a494918808f"
      ],
      "author": {
        "name": "Dmitry Antipov",
        "email": "antipov@dev.rtsoft.ru",
        "time": "Wed Feb 06 01:36:19 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:00 2008 -0800"
      },
      "message": "SIGIO-driven I/O with inotify queues\n\nAdd SIGIO-driven I/O for descriptors returned by inotify_init().  The thing\nmay be enabled by convenient fcntl (fd, F_SETFL, O_ASYNC) call.\n\nSigned-off-by: Dmitry Antipov \u003cantipov@dev.rtsoft.ru\u003e\nCc: Robert Love \u003crlove@google.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "14e11e106bf90c52c69373ac6abd3a494918808f",
      "tree": "4cf0633bf9225fac427dc3e19c97efe0acd4571d",
      "parents": [
        "7f0adaecede9ca68d9fcddae5a5a7ed6fc31a5e5"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Feb 06 01:36:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:00 2008 -0800"
      },
      "message": "ext2: change the default behaviour on error\n\next2 file system was by default ignoring errors and continuing.  This is\nnot a good default as continuing on error could lead to file system\ncorruption.  Change the default to mark the file system readonly.  Debian\nand ubuntu already does this as the default in their fstab.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Eric Sandeen \u003csandeen@redhat.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7f0adaecede9ca68d9fcddae5a5a7ed6fc31a5e5",
      "tree": "0575ad7ef65fb4277138bde9167221f8212930b4",
      "parents": [
        "73de76a0a42efa173c29aff32e555ac6de992573"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Wed Feb 06 01:36:17 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:00 2008 -0800"
      },
      "message": "ext2: return after ext2_error in case of failures\n\nThis fixes some instances where we were continuing after calling\next2_error.  ext2_error call panic only if errors\u003dpanic mount option is\nset.  So we need to make sure we return correctly after ext2_error call.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1c17d18e3775485bf1e0ce79575eb637a94494a2",
      "tree": "3a5d8e5d2731e7dda7ce0c43b0c00270bd01c8c4",
      "parents": [
        "19c561a60ffe52df88dd63de0bff480ca094efe4"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "yanzheng@21cn.com",
        "time": "Wed Feb 06 01:36:09 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:00 2008 -0800"
      },
      "message": "A potential bug in inotify_user.c\n\nFollowing comment is at fs/inotify_user.c:287\n/* coalescing: drop this event if it is a dupe of the previous */\n\nI think the previous event in the comment should be the last event in the\nlink list.  But inotify_dev_get_event return the first event in the list.\nIn addition, it doesn\u0027t check whether the list is empty\n\nSigned-off-by: Yan Zheng\u003cyanzheng@21cn.com\u003e\nAcked-by: Robert Love \u003crlove@rlove.org\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "19c561a60ffe52df88dd63de0bff480ca094efe4",
      "tree": "da1df4ab0a15434f81e4c1eaf021a486bcbea97e",
      "parents": [
        "20292bc2c3feaee7f2e93911ffcb692732293894"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Wed Feb 06 01:36:08 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:40:59 2008 -0800"
      },
      "message": "fs/fat/: refine chmod checks\n\nProhibit mode changes in non-quiet mode that cannot be stored reliably with\nthe on-disk format.\n\nSuppose a vfat filesystem is mounted with umask\u003d0 and [not-quiet].  Then\nall files will have mode 0777.  Trying to change the owner will fail,\nbecause fat does not know about owners or groups.  chmod 0770, on the other\nhand, will succeed, even though fat does not know about the permission\ntriplet [user/group/other].\n\nSo this patch changes fat\u0027s not-quiet behavior so that only UNIX modes are\naccepted that can be mapped lossless between the fat disk format and the\nlocal system.  There is only one attribute, and that is the readonly\nattribute, which is mapped to the UNIX write permission bit(s).  chmod 0555\nis therefore valid (taking away the +w bits \u003c\u003d\u003e setting the readonly\nattribute).  Since chmod 0775 and chmod 0755 is an ambiguous case as to\nwhether to set or clear the readonly bit, these modes are also denied.\n\nIn quiet mode, chmod and chown will continue to \"succeed\" as they did\nbefore, meaning that a subsequent stat() will temporarily return the new\nmode as long as the inode is not reread from disk, and chown will silently\ndo nothing, not even return the new uid/gid in stat().\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nCc: OGAWA Hirofumi \u003chirofumi@mail.parknet.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c773633916c66f8362ca01983d97bd33e35b743f",
      "tree": "4c3da7d614c530d851db6b3c6bcc3d85519feeb3",
      "parents": [
        "9692bd9c140618e3f6a2848900aee96c9cd8a65c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Feb 05 14:22:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 14:37:15 2008 -0800"
      },
      "message": "deprecate smbfs in favour of cifs\n\nsmbfs is a bit buggy and has no maintainer.  Change it to shout at the user on\nthe first five mount attempts - tell them to switch to CIFS.\n\nCome December we\u0027ll mark it BROKEN and see what happens.\n\n[olecom@flower.upol.cz: documentation update]\nCc: Urban Widmark \u003curban@teststation.com\u003e\nAcked-by: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Oleg Verych \u003colecom@flower.upol.cz\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7b88513c504e49d450b0f89f80ba9d451a3c804",
      "tree": "12af1040a75fd1909f30f5d3ebbdddb0d246b6c3",
      "parents": [
        "c5d4bb171cab17576779a51d23d313abcb3db102"
      ],
      "author": {
        "name": "Dominique Quatravaux",
        "email": "dominique@quatravaux.org",
        "time": "Mon Feb 04 22:31:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: fix hostfs tv_usec calculations\n\nTo convert from tv_nsec to tv_usec, one needs to divide by 1000, not multiply.\n\nSigned-off-by: Dominique Quatravaux \u003cdominique@quatravaux.org\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e338d263a76af78fe8f38a72131188b58fceb591",
      "tree": "f3f046fc6fd66de43de7191830f0daf3bc4ec8eb",
      "parents": [
        "8f6936f4d29aa14e54a2470b954a2e1f96322988"
      ],
      "author": {
        "name": "Andrew Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Feb 04 22:29:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "Add 64-bit capability support to the kernel\n\nThe patch supports legacy (32-bit) capability userspace, and where possible\ntranslates 32-bit capabilities to/from userspace and the VFS to 64-bit\nkernel space capabilities.  If a capability set cannot be compressed into\n32-bits for consumption by user space, the system call fails, with -ERANGE.\n\nFWIW libcap-2.00 supports this change (and earlier capability formats)\n\n http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.6/\n\n[akpm@linux-foundation.org: coding-syle fixes]\n[akpm@linux-foundation.org: use get_task_comm()]\n[ezk@cs.sunysb.edu: build fix]\n[akpm@linux-foundation.org: do not initialise statics to 0 or NULL]\n[akpm@linux-foundation.org: unused var]\n[serue@us.ibm.com: export __cap_ symbols]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bea58053f206be9a89ca35850f9ad295dac2042",
      "tree": "50df31f6b7e8d38ac0988a523e331babb6462216",
      "parents": [
        "42492594043d621a7910ff5877c3eb9202870b45"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Mon Feb 04 22:29:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "VFS: Reorder vfs_getxattr to avoid unnecessary calls to the LSM\n\nOriginally vfs_getxattr would pull the security xattr variable using\nthe inode getxattr handle and then proceed to clobber it with a subsequent call\nto the LSM.\n\nThis patch reorders the two operations such that when the xattr requested is\nin the security namespace it first attempts to grab the value from the LSM\ndirectly.\n\nIf it fails to obtain the value because there is no module present or the\nmodule does not support the operation it will fall back to using the inode\ngetxattr operation.\n\nIn the event that both are inaccessible it returns EOPNOTSUPP.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42492594043d621a7910ff5877c3eb9202870b45",
      "tree": "9188d112c019a189606847dc1d90ccc63c1bacf2",
      "parents": [
        "3729145821e3088a0c3c4183037fde356204bf97"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Mon Feb 04 22:29:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "VFS/Security: Rework inode_getsecurity and callers to return resulting buffer\n\nThis patch modifies the interface to inode_getsecurity to have the function\nreturn a buffer containing the security blob and its length via parameters\ninstead of relying on the calling function to give it an appropriately sized\nbuffer.\n\nSecurity blobs obtained with this function should be freed using the\nrelease_secctx LSM hook.  This alleviates the problem of the caller having to\nguess a length and preallocate a buffer for this function allowing it to be\nused elsewhere for Labeled NFS.\n\nThe patch also removed the unused err parameter.  The conversion is similar to\nthe one performed by Al Viro for the security_getprocattr hook.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bc3be2751b4f74ab90a446da1912fd8204d53f7",
      "tree": "2bc514025a906203244d98de70fb6bd87f3ac9ac",
      "parents": [
        "a322f8ab66f50b6c0dcdb59abae84fede7a5fded"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Mon Feb 04 22:29:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:19 2008 -0800"
      },
      "message": "writeback: speed up writeback of big dirty files\n\nAfter making dirty a 100M file, the normal behavior is to start the\nwriteback for all data after 30s delays.  But sometimes the following\nhappens instead:\n\n\t- after 30s:    ~4M\n\t- after 5s:     ~4M\n\t- after 5s:     all remaining 92M\n\nSome analyze shows that the internal io dispatch queues goes like this:\n\n\t\ts_io            s_more_io\n\t\t-------------------------\n\t1)\t100M,1K         0\n\t2)\t1K              96M\n\t3)\t0               96M\n1) initial state with a 100M file and a 1K file\n\n2) 4M written, nr_to_write \u003c\u003d 0, so write more\n\n3) 1K written, nr_to_write \u003e 0, no more writes(BUG)\n\nnr_to_write \u003e 0 in (3) fools the upper layer to think that data have all\nbeen written out.  The big dirty file is actually still sitting in\ns_more_io.  We cannot simply splice s_more_io back to s_io as soon as s_io\nbecomes empty, and let the loop in generic_sync_sb_inodes() continue: this\nmay starve newly expired inodes in s_dirty.  It is also not an option to\ndraw inodes from both s_more_io and s_dirty, an let the loop go on: this\nmight lead to live locks, and might also starve other superblocks in sync\ntime(well kupdate may still starve some superblocks, that\u0027s another bug).\n\nWe have to return when a full scan of s_io completes.  So nr_to_write \u003e 0\ndoes not necessarily mean that \"all data are written\".  This patch\nintroduces a flag writeback_control.more_io to indicate that more io should\nbe done.  With it the big dirty file no longer has to wait for the next\nkupdate invokation 5s later.\n\nIn sync_sb_inodes() we only set more_io on super_blocks we actually\nvisited.  This avoids the interaction between two pdflush deamons.\n\nAlso in __sync_single_inode() we don\u0027t blindly keep requeuing the io if the\nfilesystem cannot progress.  Failing to do so may lead to 100% iowait.\n\nTested-by: Mike Snitzer \u003csnitzer@gmail.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d544564f9954860235db97df2e549a66c61f557",
      "tree": "b539ab01562ae5b92ce365afd32e8fbab74a7e11",
      "parents": [
        "5a9bbdcd29adbb786c53eba1dfc3c2d256020d6b"
      ],
      "author": {
        "name": "Qi Yong",
        "email": "qiyong@fc-cn.com",
        "time": "Mon Feb 04 22:29:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "skip writing data pages when inode is under I_SYNC\n\nSince I_SYNC was split out from I_LOCK, the concern in commit\n4b89eed93e0fa40a63e3d7b1796ec1337ea7a3aa (\"Write back inode data pages\neven when the inode itself is locked\") is not longer valid.\n\nWe should revert to the original behavior: in __writeback_single_inode(),\nwhen we find an I_SYNC-ed inode and we\u0027re not doing a data-integrity sync,\nskip writing entirely.  Otherwise, we are double calling do_writepages()\n\nSigned-off-by: Qi Yong \u003cqiyong@fc-cn.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Joern Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7766755a2f249e7e0dabc5255a0a3d151ff79821",
      "tree": "0f9d130d3f8107c77ed61b75f4745dc86e36d457",
      "parents": [
        "195cf453d2c3d789cbe80e3735755f860c2fb222"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Mon Feb 04 22:29:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "Fix /proc dcache deadlock in do_exit\n\nThis patch fixes a sles9 system hang in start_this_handle from a customer\nwith some heavy workload where all tasks are waiting on kjournald to commit\nthe transaction, but kjournald waits on t_updates to go down to zero (it\nnever does).\n\nThis was reported as a lowmem shortage deadlock but when checking the debug\ndata I noticed the VM wasn\u0027t under pressure at all (well it was really\nunder vm pressure, because lots of tasks hanged in the VM prune_dcache\nmethods trying to flush dirty inodes, but no task was hanging in GFP_NOFS\nmode, the holder of the journal handle should have if this was a vm issue\nin the first place).\n\nNo task was apparently holding the leftover handle in the committing\ntransaction, so I deduced t_updates was stuck to 1 because a journal_stop\nwas never run by some path (this turned out to be correct).  With a debug\npatch adding proper reverse links and stack trace logging in ext3 deployed\nin production, I found journal_stop is never run because\nmark_inode_dirty_sync is called inside release_task called by do_exit.\n(that was quite fun because I would have never thought about this\nsubtleness, I thought a regular path in ext3 had a bug and it forgot to\ncall journal_stop)\n\ndo_exit-\u003erelease_task-\u003emark_inode_dirty_sync-\u003eschedule() (will never\ncome back to run journal_stop)\n\nThe reason is that shrink_dcache_parent is racy by design (feature not\na bug) and it can do blocking I/O in some case, but the point is that\ncalling shrink_dcache_parent at the last stage of do_exit isn\u0027t safe\nfor self-reaping tasks.\n\nI guess the memory pressure of the unbalanced highmem system allowed\nto trigger this more easily.\n\nNow mainline doesn\u0027t have this line in iput (like sles9 has):\n\n    \t     if (inode-\u003ei_state \u0026 I_DIRTY_DELAYED)\n\t     \t\t\tmark_inode_dirty_sync(inode);\n\nso it will probably not crash with ext3, but for example ext2 implements an\nI/O-blocking ext2_put_inode that will lead to similar screwups with\next2_free_blocks never coming back and it\u0027s definitely wrong to call\nblocking-IO paths inside do_exit.  So this should fix a subtle bug in\nmainline too (not verified in practice though).  The equivalent fix for\next3 is also not verified yet to fix the problem in sles9 but I don\u0027t have\ndoubt it will (it usually takes days to crash, so it\u0027ll take weeks to be\nsure).\n\nAn alternate fix would be to offload that work to a kernel thread, but I\ndon\u0027t think a reschedule for this is worth it, the vm should be able to\ncollect those entries for the synchronous release_task.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@suse.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e88328111aae3ea408f346763ba9f9bad71f876",
      "tree": "22be92057a7426ca5b6c8ee9b136bbc417c902a8",
      "parents": [
        "304daa8132a95e998b6716d4b7bd8bd76aa152b2"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: make page monitoring /proc file optional\n\nMake /proc/ page monitoring configurable\n\nThis puts the following files under an embedded config option:\n\n/proc/pid/clear_refs\n/proc/pid/smaps\n/proc/pid/pagemap\n/proc/kpagecount\n/proc/kpageflags\n\n[akpm@linux-foundation.org: Kconfig fix]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "304daa8132a95e998b6716d4b7bd8bd76aa152b2",
      "tree": "21f37f8eb40518b3300b5c0967cf3867c7f18aae",
      "parents": [
        "161f47bf41c5ece90ac53cbb6a4cb9bf74ce0ef6"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: add /proc/kpageflags interface\n\nThis makes a subset of physical page flags available to userspace. Together\nwith /proc/pid/kpagemap, this allows tracking of a wide variety of VM behaviors.\n\nExported flags are decoupled from the kernel\u0027s internal flags. This\nallows us to reorder flag bits, and synthesize any bits that get\nredefined in terms of other bits.\n\n[akpm@linux-foundation.org: remove unneeded access_ok()]\n[akpm@linux-foundation.org: s/0/NULL/]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "161f47bf41c5ece90ac53cbb6a4cb9bf74ce0ef6",
      "tree": "f6f18c3eb74faf8b2b8de27b42241e9986bd6dc9",
      "parents": [
        "85863e475e59afb027b0113290e3796ee6020b7d"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: add /proc/kpagecount interface\n\nThis makes physical page map counts available to userspace. Together\nwith /proc/pid/pagemap and /proc/pid/clear_refs, this can be used to\nmonitor memory usage on a per-page basis.\n\n[akpm@linux-foundation.org: remove unneeded access_ok()]\n[bunk@stusta.de: make struct proc_kpagemap static]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85863e475e59afb027b0113290e3796ee6020b7d",
      "tree": "047cc687b98c0261bd3c083f17c090fbf082355f",
      "parents": [
        "a6198797cc3fd659b2d81cdf6bb6b9bba9cd93e9"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: add /proc/pid/pagemap interface\n\nThis interface provides a mapping for each page in an address space to its\nphysical page frame number, allowing precise determination of what pages are\nmapped and what pages are shared between processes.\n\nNew in this version:\n\n- headers gone again (as recommended by Dave Hansen and Alan Cox)\n- 64-bit entries (as per discussion with Andi Kleen)\n- swap pte information exported (from Dave Hansen)\n- page walker callback for holes (from Dave Hansen)\n- direct put_user I/O (as suggested by Rusty Russell)\n\nThis patch folds in cleanups and swap PTE support from Dave Hansen\n\u003chaveblue@us.ibm.com\u003e.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6198797cc3fd659b2d81cdf6bb6b9bba9cd93e9",
      "tree": "da256154b9c764067aadd2738d9083d38a6f1882",
      "parents": [
        "f248dcb34d7b7ac255db70071a20be9d9c6ad491"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: regroup task_mmu by interface\n\nReorder source so that all the code and data for each interface is together.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f248dcb34d7b7ac255db70071a20be9d9c6ad491",
      "tree": "ec7c7fb115e40b4a337af98a6f9f2ad5db9af1f0",
      "parents": [
        "4752c369789250eafcd7813e11c8fb689235b0d2"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: move clear_refs code to task_mmu.c\n\nThis puts all the clear_refs code where it belongs and probably lets things\ncompile on MMU-less systems as well.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4752c369789250eafcd7813e11c8fb689235b0d2",
      "tree": "24fda864f4962f18fd8e118271f1d8c4ec633024",
      "parents": [
        "b3ae5acbbb98d95c1300c8ced56d15f97d09c506"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: simplify interdependence of maps and smaps\n\nThis pulls the shared map display code out of show_map and puts it in\nshow_smap where it belongs.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3ae5acbbb98d95c1300c8ced56d15f97d09c506",
      "tree": "e8a159c7c3309564458f7dea955b6a9daf948b61",
      "parents": [
        "e6473092bd9116583ce9ab8cf1b6570e1aa6fc83"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: use pagewalker in clear_refs and smaps\n\nUse the generic pagewalker for smaps and clear_refs\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec4dd3eb35759f9fbeb5c1abb01403b2fde64cc9",
      "tree": "0eaf4d91180556df61da6300463d946390ce55fb",
      "parents": [
        "61d5048f149572434daee0cce5e1374a8a7cf3e8"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Mon Feb 04 22:28:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: add proportional set size accounting in smaps\n\nThe \"proportional set size\" (PSS) of a process is the count of pages it has\nin memory, where each page is divided by the number of processes sharing\nit.  So if a process has 1000 pages all to itself, and 1000 shared with one\nother process, its PSS will be 1500.\n\n               - lwn.net: \"ELC: How much memory are applications really using?\"\n\nThe PSS proposed by Matt Mackall is a very nice metic for measuring an\nprocess\u0027s memory footprint.  So collect and export it via\n/proc/\u003cpid\u003e/smaps.\n\nMatt Mackall\u0027s pagemap/kpagemap and John Berthels\u0027s exmap can also do the\njob.  They are comprehensive tools.  But for PSS, let\u0027s do it in the simple\nway.\n\nCc: John Berthels \u003cjjberthels@gmail.com\u003e\nCc: Bernardo Innocenti \u003cbernie@codewiz.org\u003e\nCc: Padraig Brady \u003cP@draigBrady.com\u003e\nCc: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75897d60a54ccee94253312107f941a83b5077cb",
      "tree": "9c3ece84bfdaf6742457d665415cf6a7b6dd1591",
      "parents": [
        "b98938c373117043598002f197200d7ed08acd49"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Mon Feb 04 22:28:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "hugetlb: allow sticky directory mount option\n\nAllow sticky directory mount option for hugetlbfs.  This allows admin\nto create a shared hugetlbfs mount point for multiple users, while\nprevent accidental file deletion that users may step on each other.\nIt is similiar to default tmpfs mount option, or typical option used\non /tmp.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003chermes@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b98938c373117043598002f197200d7ed08acd49",
      "tree": "da9356af43085db78cafec82505c3341d6291201",
      "parents": [
        "aec2c3ed01ed54d0cdf7f6b7c4be217c045ac5ea"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "bufferhead: revert constructor removal\n\nThe constructor for buffer_head slabs was removed recently.  We need the\nconstructor back in slab defrag in order to insure that slab objects always\nhave a definite state even before we allocated them.\n\nI think we mistakenly merged the removal of the constuctor into a cleanup\npatch.  You (ie: akpm) had a test that showed that the removal of the\nconstructor led to a small regression.  The prior state makes things easier\nfor slab defrag.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e2779fa281cfda13ac060753d674bbcaa23367e",
      "tree": "e2af17d69b71e0f8b3f00fe949cb8abfba4298ed",
      "parents": [
        "0b7a96114bd5991d355a1f1c1d3d9c0c9d9c1cfc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "is_vmalloc_addr(): Check if an address is within the vmalloc boundaries\n\nChecking if an address is a vmalloc address is done in a couple of places.\nDefine a common version in mm.h and replace the other checks.\n\nAgain the include structures suck.  The definition of VMALLOC_START and\nVMALLOC_END is not available in vmalloc.h since highmem.c cannot be included\nthere.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d672e7ac79b5ec5cdc90e450823441e20464691",
      "tree": "66da3aa0bf7f7ac80376a93f17edbb2246b2df06",
      "parents": [
        "5e05ad7d4e3b11f935998882b5d9c3b257137f1b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: new timerfd API\n\nThis is the new timerfd API as it is implemented by the following patch:\n\nint timerfd_create(int clockid, int flags);\nint timerfd_settime(int ufd, int flags,\n\t\t    const struct itimerspec *utmr,\n\t\t    struct itimerspec *otmr);\nint timerfd_gettime(int ufd, struct itimerspec *otmr);\n\nThe timerfd_create() API creates an un-programmed timerfd fd.  The \"clockid\"\nparameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.\n\nThe timerfd_settime() API give new settings by the timerfd fd, by optionally\nretrieving the previous expiration time (in case the \"otmr\" parameter is not\nNULL).\n\nThe time value specified in \"utmr\" is absolute, if the TFD_TIMER_ABSTIME bit\nis set in the \"flags\" parameter.  Otherwise it\u0027s a relative time.\n\nThe timerfd_gettime() API returns the next expiration time of the timer, or\n{0, 0} if the timerfd has not been set yet.\n\nLike the previous timerfd API implementation, read(2) and poll(2) are\nsupported (with the same interface).  Here\u0027s a simple test program I used to\nexercise the new timerfd APIs:\n\nhttp://www.xmailserver.org/timerfd-test2.c\n\n[akpm@linux-foundation.org: coding-style cleanups]\n[akpm@linux-foundation.org: fix ia64 build]\n[akpm@linux-foundation.org: fix m68k build]\n[akpm@linux-foundation.org: fix mips build]\n[akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]\n[heiko.carstens@de.ibm.com: fix s390]\n[akpm@linux-foundation.org: fix powerpc build]\n[akpm@linux-foundation.org: fix sparc64 more]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed5d2cac114202fe2978a9cbcab8f5032796d538",
      "tree": "aa9aaea1aa0945bd9159685d1b04897d105a90c9",
      "parents": [
        "f558b7e408026eb3c6afcd0e8fc1f7fe31195a6a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Feb 04 22:27:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "exec: rework the group exit and fix the race with kill\n\nAs Roland pointed out, we have the very old problem with exec.  de_thread()\nsets SIGNAL_GROUP_EXIT, kills other threads, changes -\u003egroup_leader and then\nclears signal-\u003eflags.  All signals (even fatal ones) sent in this window\n(which is not too small) will be lost.\n\nWith this patch exec doesn\u0027t abuse SIGNAL_GROUP_EXIT.  signal_group_exit(),\nthe new helper, should be used to detect exit_group() or exec() in progress.\nIt can have more users, but this patch does only strictly necessary changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59714d65dfbc86d5cb93adc5bac57a921cc2fa84",
      "tree": "10eda85ccab88fb707d6c6b4f4fb7f2e9bd1f4e1",
      "parents": [
        "0ccf831cbee94df9c5006dd46248c0f07847dd7c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Feb 04 22:27:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "get_task_comm(): return the result\n\nIt was dumb to make get_task_comm() return void.  Change it to return a\npointer to the resulting output for caller convenience.\n\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ccf831cbee94df9c5006dd46248c0f07847dd7c",
      "tree": "4de8d53c51dc4aff80f35a95cdd185229f0df79e",
      "parents": [
        "96cf49a2c13e8dcf442abaadf6645f6a1fb3ae92"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 04 22:27:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "lockdep: annotate epoll\n\nOn Sat, 2008-01-05 at 13:35 -0800, Davide Libenzi wrote:\n\n\u003e I remember I talked with Arjan about this time ago. Basically, since 1)\n\u003e you can drop an epoll fd inside another epoll fd 2) callback-based wakeups\n\u003e are used, you can see a wake_up() from inside another wake_up(), but they\n\u003e will never refer to the same lock instance.\n\u003e Think about:\n\u003e\n\u003e \tdfd \u003d socket(...);\n\u003e \tefd1 \u003d epoll_create();\n\u003e \tefd2 \u003d epoll_create();\n\u003e \tepoll_ctl(efd1, EPOLL_CTL_ADD, dfd, ...);\n\u003e \tepoll_ctl(efd2, EPOLL_CTL_ADD, efd1, ...);\n\u003e\n\u003e When a packet arrives to the device underneath \"dfd\", the net code will\n\u003e issue a wake_up() on its poll wake list. Epoll (efd1) has installed a\n\u003e callback wakeup entry on that queue, and the wake_up() performed by the\n\u003e \"dfd\" net code will end up in ep_poll_callback(). At this point epoll\n\u003e (efd1) notices that it may have some event ready, so it needs to wake up\n\u003e the waiters on its poll wait list (efd2). So it calls ep_poll_safewake()\n\u003e that ends up in another wake_up(), after having checked about the\n\u003e recursion constraints. That are, no more than EP_MAX_POLLWAKE_NESTS, to\n\u003e avoid stack blasting. Never hit the same queue, to avoid loops like:\n\u003e\n\u003e \tepoll_ctl(efd2, EPOLL_CTL_ADD, efd1, ...);\n\u003e \tepoll_ctl(efd3, EPOLL_CTL_ADD, efd2, ...);\n\u003e \tepoll_ctl(efd4, EPOLL_CTL_ADD, efd3, ...);\n\u003e \tepoll_ctl(efd1, EPOLL_CTL_ADD, efd4, ...);\n\u003e\n\u003e The code \"if (tncur-\u003ewq \u003d\u003d wq || ...\" prevents re-entering the same\n\u003e queue/lock.\n\nSince the epoll code is very careful to not nest same instance locks\nallow the recursion.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5bb3a5e9dcdb8435471562b6cada89525cf4df1",
      "tree": "7b7cf9b90bacd0e2fe07cb3387516e9243f1ab66",
      "parents": [
        "9853832c49dc1685587abeb4e1decd4be690d256",
        "1560a79a2c2ea0c3826150da8029991d685de990"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)\n  Jesper Juhl is the new trivial patches maintainer\n  Documentation: mention email-clients.txt in SubmittingPatches\n  fs/binfmt_elf.c: spello fix\n  do_invalidatepage() comment typo fix\n  Documentation/filesystems/porting fixes\n  typo fixes in net/core/net_namespace.c\n  typo fix in net/rfkill/rfkill.c\n  typo fixes in net/sctp/sm_statefuns.c\n  lib/: Spelling fixes\n  kernel/: Spelling fixes\n  include/scsi/: Spelling fixes\n  include/linux/: Spelling fixes\n  include/asm-m68knommu/: Spelling fixes\n  include/asm-frv/: Spelling fixes\n  fs/: Spelling fixes\n  drivers/watchdog/: Spelling fixes\n  drivers/video/: Spelling fixes\n  drivers/ssb/: Spelling fixes\n  drivers/serial/: Spelling fixes\n  drivers/scsi/: Spelling fixes\n  ...\n"
    },
    {
      "commit": "9853832c49dc1685587abeb4e1decd4be690d256",
      "tree": "13510327f85b8d8c238728b47ae74e0fa5299e17",
      "parents": [
        "b21761ff18c0eba67e8f2886b3c0b9cae79b5249",
        "ab1f16116527e42dec8aee176d673a41a881b809"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:03 2008 -0800"
      },
      "message": "Merge branch \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux:\n  pid-namespaces-vs-locks-interaction\n  file locks: Use wait_event_interruptible_timeout()\n  locks: clarify posix_locks_deadlock\n"
    },
    {
      "commit": "2f98735c9c24ea1f0d40a364d4e63611b689b795",
      "tree": "a42b3802449af474d36cda3b6f9fb190a717defb",
      "parents": [
        "fe2528b96b02173395f5a75e37714c07f3e25e73"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Feb 02 03:08:53 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:55:38 2008 -0800"
      },
      "message": "vm audit: add VM_DONTEXPAND to mmap for drivers that need it\n\nDrivers that register a -\u003efault handler, but do not range-check the\noffset argument, must set VM_DONTEXPAND in the vm_flags in order to\nprevent an expanding mremap from overflowing the resource.\n\nI\u0027ve audited the tree and attempted to fix these problems (usually by\nadding VM_DONTEXPAND where it is not obvious).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab1f16116527e42dec8aee176d673a41a881b809",
      "tree": "0d20fa10151e43f9f104986a2b89ec88ca0135af",
      "parents": [
        "4321e01e7dce8042758349ffa2929c723b0d4107"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Thu Jan 17 00:07:08 2008 +0000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 03 17:51:36 2008 -0500"
      },
      "message": "pid-namespaces-vs-locks-interaction\n\nfcntl(F_GETLK,..) can return pid of process for not current pid namespace\n(if process is belonged to the several namespaces).  It is true also for\npids in /proc/locks.  So correct behavior is saving pointer to the struct\npid of the process lock owner.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4321e01e7dce8042758349ffa2929c723b0d4107",
      "tree": "32b7b1a4af4b28c3ce1fc013bc7a2da4f2e21fde",
      "parents": [
        "b533184fc353d4a2d07929b4ac424a6f1bf5a3b9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Mon Jan 14 21:28:30 2008 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 03 17:51:36 2008 -0500"
      },
      "message": "file locks: Use wait_event_interruptible_timeout()\n\ninterruptible_sleep_on_locked() is just an open-coded\nwait_event_interruptible_timeout(), with the one difference that\ninterruptible_sleep_on_locked() doesn\u0027t bother to check the condition on\nwhich it is waiting, depending instead on the BKL to avoid the case\nwhere it blocks after the wakeup has already been called.\n\nlocks_block_on_timeout() is only used in one place, so it\u0027s actually\nsimpler to inline it into its caller.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b533184fc353d4a2d07929b4ac424a6f1bf5a3b9",
      "tree": "502634d5810735bcaea8666bdadf9bc0b6abc216",
      "parents": [
        "9135f1901ee6449dfe338adf6e40e9c2025b8150"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 26 18:05:40 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 03 17:51:36 2008 -0500"
      },
      "message": "locks: clarify posix_locks_deadlock\n\nFor such a short function (with such a long comment),\nposix_locks_deadlock() seems to cause a lot of confusion.  Attempt to\nmake it a bit clearer:\n\n\t- Remove the initial posix_same_owner() check, which can never\n\t  pass (since this is only called in the case that block_fl and\n\t  caller_fl conflict)\n\t- Use an explicit loop (and a helper function) instead of a goto.\n\t- Rewrite the comment, attempting a clearer explanation, and\n\t  removing some uninteresting historical detail.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "09c6dd3c9d99b63608dc77dc462d4a5a3785f620",
      "tree": "b7d8e32a11e960eed66b54855f4837805f00142d",
      "parents": [
        "28bc44d7d1d967b8251214dd7a130d523b5ba5ee"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@bencohen.org",
        "time": "Sun Feb 03 18:05:15 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 18:05:15 2008 +0200"
      },
      "message": "fs/binfmt_elf.c: spello fix\n\ns/litle/little\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@bencohen.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "c78bad11fbf1272ea021f56458025dc98486d6f4",
      "tree": "7ac1cc64d3429c3b3c52e707212d5a0711a9a9d1",
      "parents": [
        "ee0fc097ef47a4a6ff6b4800f2391030131b7828"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Feb 03 17:33:42 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:33:42 2008 +0200"
      },
      "message": "fs/: Spelling fixes\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "efad798b9f01300565f65058b153250cc49d58f2",
      "tree": "f425b1fad94ca5eb384f4df9418450afb163bcae",
      "parents": [
        "0cadfc09534033e2b9694bd2d226b5dcfebd6704"
      ],
      "author": {
        "name": "Paulius Zaleckas",
        "email": "pauliusz@yahoo.com",
        "time": "Sun Feb 03 15:42:53 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:42:53 2008 +0200"
      },
      "message": "Spelling fixes: lenght-\u003elength\n\nSigned-off-by: Paulius Zaleckas \u003cpauliusz@yahoo.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "e1b8513d21845fbeb93d6d2c4973db874385059f",
      "tree": "b2bf0b3bd68f484add7a41475714ec6ee7718ea2",
      "parents": [
        "14e4a0f2bb242f8008bc70b55fa834292c6a62af"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sun Feb 03 15:14:02 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:14:02 2008 +0200"
      },
      "message": "Typoes:  \"whith\" -\u003e \"with\"\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "14e4a0f2bb242f8008bc70b55fa834292c6a62af",
      "tree": "325c507c57e4cb25cc2659869297558ffbb0a2e6",
      "parents": [
        "96532babc3e2ec4e0fce891d64319f183f043855"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sun Feb 03 15:12:15 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:12:15 2008 +0200"
      },
      "message": "Fix a small number of \"memeber\" typoes.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "63e9b66e29357dd12e8b1d3ebf7036e7591f81e3",
      "tree": "5aa6a70a8f4bbf306e2825a1e2fa2660c2c1c187",
      "parents": [
        "687fcdf741e4a268c2c7bac8b3734de761bb9719",
        "ea339d46b93c7b16e067a29aad1812f7a389815a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux: (100 commits)\n  SUNRPC: RPC program information is stored in unsigned integers\n  SUNRPC: Move exported symbol definitions after function declaration part 2\n  NLM: tear down RPC clients in nlm_shutdown_hosts\n  SUNRPC: spin svc_rqst initialization to its own function\n  nfsd: more careful input validation in nfsctl write methods\n  lockd: minor log message fix\n  knfsd: don\u0027t bother mapping putrootfh enoent to eperm\n  rdma: makefile\n  rdma: ONCRPC RDMA protocol marshalling\n  rdma: SVCRDMA sendto\n  rdma: SVCRDMA recvfrom\n  rdma: SVCRDMA Core Transport Services\n  rdma: SVCRDMA Transport Module\n  rdma: SVCRMDA Header File\n  svc: Add svc_xprt_names service to replace svc_sock_names\n  knfsd: Support adding transports by writing portlist file\n  svc: Add svc API that queries for a transport instance\n  svc: Add /proc/sys/sunrpc/transport files\n  svc: Add transport hdr size for defer/revisit\n  svc: Move the xprt independent code to the svc_xprt.c file\n  ...\n"
    }
  ],
  "next": "d801b861681116ea23a7fb87a70bf463d29c8b9c"
}
