)]}'
{
  "log": [
    {
      "commit": "a3e713b5fdd0e54c2e3c8909ccde2a98839e3a52",
      "tree": "c42c037f239de130f2efe30777df9688bf4dd022",
      "parents": [
        "727a53bd535fe3bde644ac346db27456ad964083"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Oct 30 15:03:15 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:27 2005 -0800"
      },
      "message": "[PATCH] __bread oops fix\n\nIf a filesystem passes an idiotic blocksize into bread(), __getblk_slow() will\nwarn and will return NULL.  We have a report (from Hubert Tonneau\n\u003chubert.tonneau@fullpliant.org\u003e) of isofs_fill_super() doing this (passing in\na silly block size) against an unplugged CDROM drive.\n\nBut a couple of __getblk_slow() callers forgot to check for the NULL bh, hence\noops.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b3099b48da23686d8378133b0264ee00385ee5fa",
      "tree": "742a90c526929037fe9ef7b2221b856078241b82",
      "parents": [
        "c0398ee6c2fe3c1743ecc74a6378b67ba0880a4f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Oct 30 15:03:11 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:27 2005 -0800"
      },
      "message": "[PATCH] fs/attr.c: remove BUG()\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2973dfdb877c17b36c27ba66d71028ff1eb2f32e",
      "tree": "9734599068f3fcf7cd33f948235588f7a275d193",
      "parents": [
        "7f04c26d715a2467a49a2384268de8f70f787b51"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "glommer@br.ibm.com",
        "time": "Sun Oct 30 15:03:05 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:26 2005 -0800"
      },
      "message": "[PATCH] Test for sb_getblk return value\n\nThis patch adds tests for the return value of sb_getblk() in the ext2/3\nfilesystems.  In fs/buffer.c it is stated that the getblk() function never\nfails.  However, it does can return NULL in some situations due to I/O\nerrors, which may lead us to NULL pointer dereferences\n\nSigned-off-by: Glauber de Oliveira Costa \u003cglommer@br.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7f04c26d715a2467a49a2384268de8f70f787b51",
      "tree": "8507e9f705f063d996857789261b762b24fad94f",
      "parents": [
        "52303e8b5f8aa234865d40d76ea16b0ff4b27022"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Sun Oct 30 15:03:05 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:26 2005 -0800"
      },
      "message": "[PATCH] fix nr_unused accounting, and avoid recursing in iput with I_WILL_FREE set\n\n \t\t\tlist_move(\u0026inode-\u003ei_list, \u0026inode_in_use);\n \t\t} else {\n \t\t\tlist_move(\u0026inode-\u003ei_list, \u0026inode_unused);\n+\t\t\tinodes_stat.nr_unused++;\n \t\t}\n \t}\n \twake_up_inode(inode);\n\nAre you sure the above diff is correct? It was added somewhere between\n2.6.5 and 2.6.8. I think it\u0027s wrong.\n\nThe only way I can imagine the i_count to be zero in the above path, is\nthat I_WILL_FREE is set.  And if I_WILL_FREE is set, then we must not\nincrease nr_unused.  So I believe the above change is buggy and it will\ndefinitely overstate the number of unused inodes and it should be backed\nout.\n\nNote that __writeback_single_inode before calling __sync_single_inode, can\ndrop the spinlock and we can have both the dirty and locked bitflags clear\nhere:\n\n\t\tspin_unlock(\u0026inode_lock);\n\t\t__wait_on_inode(inode);\n\t\tiput(inode);\nXXXXXXX\n\t\tspin_lock(\u0026inode_lock);\n\t}\n\tuse inode again here\n\na construct like the above makes zero sense from a reference counting\nstandpoint.\n\nEither we don\u0027t ever use the inode again after the iput, or the\ninode_lock should be taken _before_ executing the iput (i.e. a __iput\nwould be required). Taking the inode_lock after iput means the iget was\nuseless if we keep using the inode after the iput.\n\nSo the only chance the 2.6 was safe to call __writeback_single_inode\nwith the i_count \u003d\u003d 0, is that I_WILL_FREE is set (I_WILL_FREE will\nprevent the VM to free the inode in XXXXX).\n\nPotentially calling the above iput with I_WILL_FREE was also wrong\nbecause it would recurse in iput_final (the second mainline bug).\n\nThe below (untested) patch fixes the nr_unused accounting, avoids recursing\nin iput when I_WILL_FREE is set and makes sure (with the BUG_ON) that we\ndon\u0027t corrupt memory and that all holders that don\u0027t set I_WILL_FREE, keeps\na reference on the inode!\n\nSigned-off-by: Andrea Arcangeli \u003candrea@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "381be25458524f9bcec5bf1e40c82d1ebb408475",
      "tree": "dc6ea4d6cf0ef93b8cb5103d53caea6333b129cc",
      "parents": [
        "1a80ba88273097933f93b1f40537337416798c70"
      ],
      "author": {
        "name": "Ben Dooks",
        "email": "ben@fluff.org.uk",
        "time": "Sun Oct 30 15:02:56 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:25 2005 -0800"
      },
      "message": "[PATCH] ext3: sparse fixes\n\nFix warnings from sparse due to un-declared functions that should either\nhave a header file or have been declared static\n\n fs/ext2/bitmap.c:14:15: warning: symbol \u0027ext2_count_free\u0027 was not declared. Should it be static?\n fs/ext2/namei.c:92:15: warning: symbol \u0027ext2_get_parent\u0027 was not declared. Should it be static?\n fs/ext3/bitmap.c:15:15: warning: symbol \u0027ext3_count_free\u0027 was not declared. Should it be static?\n fs/ext3/namei.c:1013:15: warning: symbol \u0027ext3_get_parent\u0027 was not declared. Should it be static?\n fs/ext3/xattr.c:214:1: warning: symbol \u0027ext3_xattr_block_get\u0027 was not declared. Should it be static?\n fs/ext3/xattr.c:358:1: warning: symbol \u0027ext3_xattr_block_list\u0027 was not declared. Should it be static?\n fs/ext3/xattr.c:630:1: warning: symbol \u0027ext3_xattr_block_find\u0027 was not declared. Should it be static?\n fs/ext3/xattr.c:863:1: warning: symbol \u0027ext3_xattr_ibody_find\u0027 was not declared. Should it be static?\n\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1291cf4163d21f1b4999d697cbf68d38e7151c28",
      "tree": "0e1c3e3970216c769f91f6077b0e23d47d6fd333",
      "parents": [
        "f7232056bff5fe2d3bfeab35252a66ebaeb5bbde"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Oct 30 15:02:54 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:25 2005 -0800"
      },
      "message": "[PATCH] fix de_thread() vs do_coredump() deadlock\n\nde_thread() sends SIGKILL to all sub-threads and waits them to die in \u0027D\u0027\nstate.  It is possible that one of the threads already dequeued coredump\nsignal.  When de_thread() unlocks -\u003esighand-\u003elock that thread can enter\ndo_coredump()-\u003ecoredump_wait() and cause a deadlock.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1779381dea3bada407396742c56bee31ffa8544e",
      "tree": "bf24990d1ba97eed5a60d9a795ba35620cace757",
      "parents": [
        "2a38bccd0c63a4954ea4e1357cbff404aa321afb"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:51 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:24 2005 -0800"
      },
      "message": "[PATCH] fuse: spelling fixes\n\nCorrect some typos and inconsistent use of \"initialise\" vs \"initialize\" in\ncomments.  Reported by Ioannis Barkas.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5b11687924e40790deb0d5f959247ade82196665",
      "tree": "29aa104cc40bd2c85e7bba0f4b404b04cd6f207a",
      "parents": [
        "2384f55f8aa520172c995965bd2f8a9740d53095"
      ],
      "author": {
        "name": "Glauber de Oliveira Costa",
        "email": "glommer@br.ibm.com",
        "time": "Sun Oct 30 15:02:48 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:23 2005 -0800"
      },
      "message": "[PATCH] Locking problems while EXT3FS_DEBUG on\n\nI noticed some problems while running ext3 with the debug flag set on.\nMore precisely, I was unable to umount the filesystem.  Some investigation\ntook me to the patch that follows.\n\nAt a first glance , the lock/unlock I\u0027ve taken out seems really not\nnecessary, as the main code (outside debug) does not lock the super.  The\nonly additional danger operations that debug code introduces seems to be\nrelated to bitmap, but bitmap operations tends to be all atomic anyway.\n\nI also took the opportunity to fix 2 spelling errors.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2384f55f8aa520172c995965bd2f8a9740d53095",
      "tree": "3f2f746529a760824d87f790418bacb94cc5a247",
      "parents": [
        "7407251a0e2ed099e4b12b742b635503e981507c"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Oct 30 15:02:47 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:23 2005 -0800"
      },
      "message": "[PATCH] coredump_wait() cleanup\n\nThis patch deletes pointless code from coredump_wait().\n\n1. It does useless mm-\u003ecore_waiters inc/dec under mm-\u003emmap_sem,\n   but any changes to -\u003ecore_waiters have no effect until we drop\n   -\u003emmap_sem.\n\n2. It calls yield() for absolutely unknown reason.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e9543659715602e3180f00a227bb6db34141ac41",
      "tree": "afcb9c04209060ae8df22c84ed3c85a859f27179",
      "parents": [
        "f12ec44070f6b4d1a3911fcf9917cf8f872a4daf"
      ],
      "author": {
        "name": "Kirill Korotaev",
        "email": "dev@sw.ru",
        "time": "Sun Oct 30 15:02:26 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:21 2005 -0800"
      },
      "message": "[PATCH] proc: fix of error path in proc_get_inode()\n\nThis patch fixes incorrect error path in proc_get_inode(), when module\ncan\u0027t be get due to being unloaded.  When try_module_get() fails, this\nfunction puts de(!) and still returns inode with non-getted de.\n\nThere are still unresolved known bugs in proc yet to be fixed:\n- proc_dir_entry tree is managed without any serialization\n- create_proc_entry() doesn\u0027t setup de-\u003eowner anyhow,\n   so setting it later manually is inatomic.\n- looks like almost all modules do not care whether\n   it\u0027s de-\u003eowner is set...\n\nSigned-Off-By: Denis Lunev \u003cden@sw.ru\u003e\nSigned-Off-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f12ec44070f6b4d1a3911fcf9917cf8f872a4daf",
      "tree": "aaaa60dc437720372637a5a95f4fcd7648d7b9c5",
      "parents": [
        "15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:25 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:21 2005 -0800"
      },
      "message": "[PATCH] fuse: clean up dead code related to nfs exporting\n\nRemove last remains of NFS exportability support.\n\nThe code is actually buggy (as reported by Akshat Aranya), since \u0027alias\u0027\nwill be leaked if it\u0027s non-null and alias-\u003ed_flags has DCACHE_DISCONNECTED.\n\nThis is not an active bug, since there will never be any disconnected\ndentries.  But it\u0027s better to get rid of the unnecessary complexity anyway.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "932aeafbe8521a9a9d790152d66020e0fef2029b",
      "tree": "09b95edbd9c160962027a9b3dcbf3cb7fc7a2b90",
      "parents": [
        "2f51201662b28dbf8c15fb7eb972bc51c6cc3fa5"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Oct 30 15:02:17 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:19 2005 -0800"
      },
      "message": "[PATCH] fix de_thread vs it_real_fn() deadlock\n\nde_thread() calls del_timer_sync(-\u003ereal_timer) under -\u003esighand-\u003esiglock.\nThis is deadlockable, it_real_fn sends a signal and needs this lock too.\n\nAlso, delete unneeded -\u003ereal_timer.data assignment.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2f51201662b28dbf8c15fb7eb972bc51c6cc3fa5",
      "tree": "96826df796058560bc5dd1f7d8d476c5a741d7bc",
      "parents": [
        "503af334ecf23b9d65d2ff0cc759f3a0bf338290"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Oct 30 15:02:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:19 2005 -0800"
      },
      "message": "[PATCH] reduce sizeof(struct file)\n\nNow that RCU applied on \u0027struct file\u0027 seems stable, we can place f_rcuhead\nin a memory location that is not anymore used at call_rcu(\u0026f-\u003ef_rcuhead,\nfile_free_rcu) time, to reduce the size of this critical kernel object.\n\nThe trick I used is to move f_rcuhead and f_list in an union called f_u\n\nThe callers are changed so that f_rcuhead becomes f_u.fu_rcuhead and f_list\nbecomes f_u.f_list\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "42e50a5a69f359e64a143eb0e11a57e18f10c262",
      "tree": "59912bfeeda4fdd34e4a586ecfa58969bd9cffda",
      "parents": [
        "a92897286485735e3708af357f8bcaf0592bd77a"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Sun Oct 30 15:02:09 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:18 2005 -0800"
      },
      "message": "[PATCH] open: cleanup in lookup_flags()\n\nlookup_flags() is only called from the non-create case, so it needn\u0027t check\nfor O_CREAT|O_EXCL.\n\nSigned-off-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Al Viro \u003cviro@ftp.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a92897286485735e3708af357f8bcaf0592bd77a",
      "tree": "698e4623bdc794462c270ee3e5ef549503593f4a",
      "parents": [
        "dfc4f94d2ff95fc92127d3e512c1df7cab274fb8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Oct 30 15:02:08 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:18 2005 -0800"
      },
      "message": "[PATCH] Don\u0027t uselessly export task_struct to userspace in core dumps\n\ntask_struct is an internal structure to the kernel with a lot of good\ninformation, that is probably interesting in core dumps.  However there is\nno way for user space to know what format that information is in making it\nuseless.\n\nI grepped the GDB 6.3 source code and NT_TASKSTRUCT while defined is not\nused anywhere else.  So I would be surprised if anyone notices it is\nmissing.\n\nIn addition exporting kernel pointers to all the interesting kernel data\nstructures sounds like the very definition of an information leak.  I\nhaven\u0027t a clue what someone with evil intentions could do with that\ninformation, but in any attack against the kernel it looks like this is the\nperfect tool for aiming that attack.\n\nSo since NT_TASKSTRUCT is useless as currently defined and is potentially\ndangerous, let\u0027s just not export it.\n\n(akpm: Daniel Jacobowitz \u003cdan@debian.org\u003e \"would be amazed\" if anything was\nusing NT_TASKSTRUCT).\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c0cbd54ce0397017a823484f9a8054ab369b8a2",
      "tree": "ac199e4dc6602afc3d2039a0dcff070ab294ba24",
      "parents": [
        "61e1a9ea4b425eb8c3b4965c35fe953bd881728f"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sun Oct 30 15:01:41 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:17 2005 -0800"
      },
      "message": "[PATCH] TIOC* compat ioctl handling\n\nTIOCSTART and TIOCSTOP are defined in asm/ioctls.h and asm/termios.h by\nvarious architectures but not actually implemented anywhere but in the IRIX\ncompatibility layer, so remove their COMPATIBLE_IOCTL from parisc, ppc64\nand sparc64.\n\nMove the TIOCSLTC COMPATIBLE_IOCTL to common code, guided by an ifdef to\nonly show up on architectures that support it (same as the code handling it\nin tty_ioctl.c), aswell as it\u0027s brother TIOCGLTC that wasn\u0027t handled so\nfar.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9e4e23bccb127fac109e765dfb7f9372661cb415",
      "tree": "0031d99431f89d135830b8386d3f0fbff0b57753",
      "parents": [
        "833d304b22edff5cc687ab7e5549c2f0dcdd951a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Sun Oct 30 15:01:37 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:17 2005 -0800"
      },
      "message": "[PATCH] little de_thread() cleanup\n\nTrivial, saves one \u0027if\u0027 branch in de_thread().\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "833d304b22edff5cc687ab7e5549c2f0dcdd951a",
      "tree": "5413fd045ec7ff1de8956964911ace74931c4a7c",
      "parents": [
        "aaa4059bc2dca7fa816624a28db1958c3a22df9b"
      ],
      "author": {
        "name": "James Lamanna",
        "email": "jlamanna@gmail.com",
        "time": "Sun Oct 30 15:00:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:17 2005 -0800"
      },
      "message": "[PATCH] reiserfs: [kv]free() checking cleanup\n\nSigned-off-by: James Lamanna \u003cjlamanna@gmail.com\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "aaa4059bc2dca7fa816624a28db1958c3a22df9b",
      "tree": "8ae1d5458e2f68f96b033f10dae216847c32d4d2",
      "parents": [
        "e812cb5226af32aec91bcbaa8365bd7f921b6ebb"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Oct 30 15:00:16 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:17 2005 -0800"
      },
      "message": "[PATCH] ext3: Fix unmapped buffers in transaction\u0027s lists\n\nFix the problem (BUG 4964) with unmapped buffers in transaction\u0027s\nt_sync_data list.  The problem is we need to call filesystem\u0027s own\ninvalidatepage() from block_write_full_page().\n\nblock_write_full_page() must call filesystem\u0027s invalidatepage().  Otherwise\nfollowing nasty race can happen:\n\n   proc 1                                        proc 2\n   ------                                        ------\n- write some new data to \u0027offset\u0027\n  \u003d\u003e bh gets to the transactions data list\n                                              - starts truncate\n                                                \u003d\u003e i_size set to new size\n- mpage_writepages()\n  - ext3_ordered_writepage() to \u0027offset\u0027\n    - block_write_full_page()\n      - page-\u003eindex \u003e end_index+1\n        - block_invalidatepage()\n          - discard_buffer()\n            - clear_buffer_mapped()\n\n- commit triggers and finds unmapped buffer - BOOM!\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d381d8a9a08cac9824096213069159be17fd2e2f",
      "tree": "0c19722b8f67c29b7c08c6ab8776a9c146395d03",
      "parents": [
        "89d155ef62e5e0c10e4b37aaa5056f0beafe10e6"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sun Oct 30 14:59:22 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:11 2005 -0800"
      },
      "message": "[PATCH] SELinux: canonicalize getxattr()\n\nThis patch allows SELinux to canonicalize the value returned from\ngetxattr() via the security_inode_getsecurity() hook, which is called after\nthe fs level getxattr() function.\n\nThe purpose of this is to allow the in-core security context for an inode\nto override the on-disk value.  This could happen in cases such as\nupgrading a system to a different labeling form (e.g.  standard SELinux to\nMLS) without needing to do a full relabel of the filesystem.\n\nIn such cases, we want getxattr() to return the canonical security context\nthat the kernel is using rather than what is stored on disk.\n\nThe implementation hooks into the inode_getsecurity(), adding another\nparameter to indicate the result of the preceding fs-level getxattr() call,\nso that SELinux knows whether to compare a value obtained from disk with\nthe kernel value.\n\nWe also now allow getxattr() to work for mountpoint labeled filesystems\n(i.e.  mount with option context\u003dfoo_t), as we are able to return the\nkernel value to the user.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0d078f6f96809c95c69b99d6605a502b0ac63d3d",
      "tree": "1b4691abab5f96f2aa8a5217a2701f181b41940d",
      "parents": [
        "4276d32260662d5401a15a0a46e506fb5c8ab563"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "bgerst@didntduck.org",
        "time": "Sun Oct 30 14:59:20 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:10 2005 -0800"
      },
      "message": "[PATCH] CONFIG_IA32\n\nAdd CONFIG_X86_32 for i386.  This allows selecting options that only apply\nto 32-bit systems.\n\n(X86 \u0026\u0026 !X86_64) becomes X86_32\n(X86 ||  X86_64) becomes X86\n\nSigned-off-by: Brian Gerst \u003cbgerst@didntduck.org\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d3f8cf489993658702b7e58ff37162246263de53",
      "tree": "268db74a65b90335fb3457357e46e732696cfbb0",
      "parents": [
        "08db2a701bd63d0e36f06a29137bf016a907cf71"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sun Oct 30 17:38:25 2005 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 14:46:47 2005 -0800"
      },
      "message": "[PATCH] NFS: Remove unbalanced spin_unlock() calls from nfs_refresh_inode()\n\nDoh!\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2e9b367c2273ed21c9852a04d90944d472c4f3e6",
      "tree": "75e802f07a8c4f0554547e8dd795f544c7e9d7e8",
      "parents": [
        "4c887265977213985091476be40ab11dfdcb4caf"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Sat Oct 29 18:16:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:43 2005 -0700"
      },
      "message": "[PATCH] hugetlb: overcommit accounting check\n\nBasic overcommit checking for hugetlb_file_map() based on an implementation\nused with demand faulting in SLES9.\n\nSince demand faulting can\u0027t guarantee the availability of pages at mmap\ntime, this patch implements a basic sanity check to ensure that the number\nof huge pages required to satisfy the mmap are currently available.\nDespite the obvious race, I think it is a good start on doing proper\naccounting.  I\u0027d like to work towards an accounting system that mimics the\nsemantics of normal pages (especially for the MAP_PRIVATE/COW case).  That\nwork is underway and builds on what this patch starts.\n\nHuge page shared memory segments are simpler and still maintain their\ncommit on shmget semantics.\n\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c887265977213985091476be40ab11dfdcb4caf",
      "tree": "82ee135f8678094664d7311617287802d54d52cf",
      "parents": [
        "551110a94aa15890d1709b179c4be1e66ff6db53"
      ],
      "author": {
        "name": "Adam Litke",
        "email": "agl@us.ibm.com",
        "time": "Sat Oct 29 18:16:46 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:43 2005 -0700"
      },
      "message": "[PATCH] hugetlb: demand fault handler\n\nBelow is a patch to implement demand faulting for huge pages.  The main\nmotivation for changing from prefaulting to demand faulting is so that huge\npage memory areas can be allocated according to NUMA policy.\n\nThanks to consolidated hugetlb code, switching the behavior requires changing\nonly one fault handler.  The bulk of the patch just moves the logic from\nhugelb_prefault() to hugetlb_pte_fault() and find_get_huge_page().\n\nSigned-off-by: Adam Litke \u003cagl@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0b1533f67cc1a595457af6d05ab3510294e2ca9c",
      "tree": "4cebbfe7632c0967a52f7c7fb7b0c15954eaab3a",
      "parents": [
        "6b09b9df05f319ec27e0dae1721efe097b8b23ad"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 29 18:16:45 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:43 2005 -0700"
      },
      "message": "[PATCH] cleanup hugelbfs_forget_inode\n\nReformat hugelbfs_forget_inode and add the missing but harmless\nwrite_inode_now call.  It looks the same as generic_forget_inode now except\nfor the call to truncate_hugepages instead of truncate_inode_pages.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b09b9df05f319ec27e0dae1721efe097b8b23ad",
      "tree": "93f68801f5d0d8b93e0771dfc002163d97c5db6e",
      "parents": [
        "149f4211afda85743e3a3db3fa3abbd81506cf2b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 29 18:16:44 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:43 2005 -0700"
      },
      "message": "[PATCH] kill hugelbfs_do_delete_inode\n\nhugetlbfs_do_delete_inode is the same as generic_delete_inode now, so remove\nit in favour of the latter.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "149f4211afda85743e3a3db3fa3abbd81506cf2b",
      "tree": "f4709ee1ae5e8d580e4594db5c21add717a24324",
      "parents": [
        "96527980d4cb8f65fe49efdbc4ab92c0837d42f6"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 29 18:16:43 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:43 2005 -0700"
      },
      "message": "[PATCH] hugetlbfs: clean up hugetlbfs_delete_inode\n\nMake hugetlbfs looks the same as generic_detelte_inode, fixing a bunch of\nmissing updates to it at the same time.  Rename it to\nhugetlbfs_do_delete_inode and add a real hugetlbfs_delete_inode that\nimplements -\u003edelete_inode.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "96527980d4cb8f65fe49efdbc4ab92c0837d42f6",
      "tree": "93b6b438cee41d62e562ae277e67c9b6cad288a7",
      "parents": [
        "b8072f099b7829a6ff3eba618e1d079a81f753f8"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Sat Oct 29 18:16:42 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:43 2005 -0700"
      },
      "message": "[PATCH] hugetlbfs: move free_inodes accounting\n\nMove hugetlbfs accounting into -\u003ealloc_inode / -\u003edestroy_inode.  This keeps\nthe code simpler, fixes a loeak where a failing inode allocation wouldn\u0027t\ndecrement the counter and moves hugetlbfs_delete_inode and\nhugetlbfs_forget_inode closer to their generic counterparts.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c21e2f2441dc5fbb957b030333f5a3f2d02dea7",
      "tree": "1f76d33bb1d76221c6424bc5fed080a4f91349a6",
      "parents": [
        "b38c6845b695141259019e2b7c0fe6c32a6e720d"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:40 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:42 2005 -0700"
      },
      "message": "[PATCH] mm: split page table lock\n\nChristoph Lameter demonstrated very poor scalability on the SGI 512-way, with\na many-threaded application which concurrently initializes different parts of\na large anonymous area.\n\nThis patch corrects that, by using a separate spinlock per page table page, to\nguard the page table entries in that page, instead of using the mm\u0027s single\npage_table_lock.  (But even then, page_table_lock is still used to guard page\ntable allocation, and anon_vma allocation.)\n\nIn this implementation, the spinlock is tucked inside the struct page of the\npage table page: with a BUILD_BUG_ON in case it overflows - which it would in\nthe case of 32-bit PA-RISC with spinlock debugging enabled.\n\nSplitting the lock is not quite for free: another cacheline access.  Ideally,\nI suppose we would use split ptlock only for multi-threaded processes on\nmulti-cpu machines; but deciding that dynamically would have its own costs.\nSo for now enable it by config, at some number of cpus - since the Kconfig\nlanguage doesn\u0027t support inequalities, let preprocessor compare that with\nNR_CPUS.  But I don\u0027t think it\u0027s worth being user-configurable: for good\ntesting of both split and unsplit configs, split now at 4 cpus, and perhaps\nchange that to 8 later.\n\nThere is a benefit even for singly threaded processes: kswapd can be attacking\none part of the mm while another part is busy faulting.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "deceb6cd17e6dfafe4c4f81b1b4153bc41b2cb70",
      "tree": "2a722f50e8edef8609a49f65bfcb222e499c44cc",
      "parents": [
        "c34d1b4d165c67b966bca4aba026443d7ff161eb"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:41 2005 -0700"
      },
      "message": "[PATCH] mm: follow_page with inner ptlock\n\nFinal step in pushing down common core\u0027s page_table_lock.  follow_page no\nlonger wants caller to hold page_table_lock, uses pte_offset_map_lock itself;\nand so no page_table_lock is taken in get_user_pages itself.\n\nBut get_user_pages (and get_futex_key) do then need follow_page to pin the\npage for them: take Daniel\u0027s suggestion of bitflags to follow_page.\n\nNeed one for WRITE, another for TOUCH (it was the accessed flag before:\nvanished along with check_user_page_readable, but surely get_numa_maps is\nwrong to mark every page it finds as accessed), another for GET.\n\nAnd another, ANON to dispose of untouched_anonymous_page: it seems silly for\nthat to descend a second time, let follow_page observe if there was no page\ntable and return ZERO_PAGE if so.  Fix minor bug in that: check VM_LOCKED -\nmake_pages_present ought to make readonly anonymous present.\n\nGive get_numa_maps a cond_resched while we\u0027re there.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "508034a32b819a2d40aa7ac0dbc8cd2e044c2de6",
      "tree": "906a8f0095af24f403b30d649d3ec1ffb4ff2f50",
      "parents": [
        "8f4f8c164cb4af1432cc25eda82928ea4519ba72"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:30 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:41 2005 -0700"
      },
      "message": "[PATCH] mm: unmap_vmas with inner ptlock\n\nRemove the page_table_lock from around the calls to unmap_vmas, and replace\nthe pte_offset_map in zap_pte_range by pte_offset_map_lock: all callers are\nnow safe to descend without page_table_lock.\n\nDon\u0027t attempt fancy locking for hugepages, just take page_table_lock in\nunmap_hugepage_range.  Which makes zap_hugepage_range, and the hugetlb test in\nzap_page_range, redundant: unmap_vmas calls unmap_hugepage_range anyway.  Nor\ndoes unmap_vmas have much use for its mm arg now.\n\nThe tlb_start_vma and tlb_end_vma in unmap_page_range are now called without\npage_table_lock: if they\u0027re implemented at all, they typically come down to\nflush_cache_range (usually done outside page_table_lock) and flush_tlb_range\n(which we already audited for the mprotect case).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "705e87c0c3c38424f7f30556c85bc20e808d2f59",
      "tree": "7a237e6266f4801385e1226cc497b47e3a2458bd",
      "parents": [
        "8f4e2101fd7df9031a754eedb82e2060b51f8c45"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:27 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: pte_offset_map_lock loops\n\nConvert those common loops using page_table_lock on the outside and\npte_offset_map within to use just pte_offset_map_lock within instead.\n\nThese all hold mmap_sem (some exclusively, some not), so at no level can a\npage table be whipped away from beneath them.  But whereas pte_alloc loops\ntested with the \"atomic\" pmd_present, these loops are testing with pmd_none,\nwhich on i386 PAE tests both lower and upper halves.\n\nThat\u0027s now unsafe, so add a cast into pmd_none to test only the vital lower\nhalf: we lose a little sensitivity to a corrupt middle directory, but not\nenough to worry about.  It appears that i386 and UML were the only\narchitectures vulnerable in this way, and pgd and pud no problem.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c74df32c724a1652ad8399b4891bb02c9d43743a",
      "tree": "5a79d56fdcf7dc2053a277dbf6db7c3b339e9659",
      "parents": [
        "1bb3630e89cb8a7b3d3807629c20c5bad88290ff"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:23 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:40 2005 -0700"
      },
      "message": "[PATCH] mm: ptd_alloc take ptlock\n\nSecond step in pushing down the page_table_lock.  Remove the temporary\nbridging hack from __pud_alloc, __pmd_alloc, __pte_alloc: expect callers not\nto hold page_table_lock, whether it\u0027s on init_mm or a user mm; take\npage_table_lock internally to check if a racing task already allocated.\n\nConvert their callers from common code.  But avoid coming back to change them\nagain later: instead of moving the spin_lock(\u0026mm-\u003epage_table_lock) down,\nswitch over to new macros pte_alloc_map_lock and pte_unmap_unlock, which\nencapsulate the mapping+locking and unlocking+unmapping together, and in the\nend may use alternatives to the mm page_table_lock itself.\n\nThese callers all hold mmap_sem (some exclusively, some not), so at no level\ncan a page table be whipped away from beneath them; and pte_alloc uses the\n\"atomic\" pmd_present to test whether it needs to allocate.  It appears that on\nall arches we can safely descend without page_table_lock.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "365e9c87a982c03d0af3886e29d877f581b59611",
      "tree": "d06c1918ca9fe6677d7e4e869555e095004274f7",
      "parents": [
        "861f2fb8e796022b4928cab9c74fca6681a1c557"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] mm: update_hiwaters just in time\n\nupdate_mem_hiwater has attracted various criticisms, in particular from those\nconcerned with mm scalability.  Originally it was called whenever rss or\ntotal_vm got raised.  Then many of those callsites were replaced by a timer\ntick call from account_system_time.  Now Frank van Maarseveen reports that to\nbe found inadequate.  How about this?  Works for Frank.\n\nReplace update_mem_hiwater, a poor combination of two unrelated ops, by macros\nupdate_hiwater_rss and update_hiwater_vm.  Don\u0027t attempt to keep\nmm-\u003ehiwater_rss up to date at timer tick, nor every time we raise rss (usually\nby 1): those are hot paths.  Do the opposite, update only when about to lower\nrss (usually by many), or just before final accounting in do_exit.  Handle\nmm-\u003ehiwater_vm in the same way, though it\u0027s much less of an issue.  Demand\nthat whoever collects these hiwater statistics do the work of taking the\nmaximum with rss or total_vm.\n\nAnd there has been no collector of these hiwater statistics in the tree.  The\nnew convention needs an example, so match Frank\u0027s usage by adding a VmPeak\nline above VmSize to /proc/\u003cpid\u003e/status, and also a VmHWM line above VmRSS\n(High-Water-Mark or High-Water-Memory).\n\nThere was a particular anomaly during mremap move, that hiwater_vm might be\ncaptured too high.  A fleeting such anomaly remains, but it\u0027s quickly\ncorrected now, whereas before it would stick.\n\nWhat locking?  None: if the app is racy then these statistics will be racy,\nit\u0027s not worth any overhead to make them exact.  But whenever it suits,\nhiwater_vm is updated under exclusive mmap_sem, and hiwater_rss under\npage_table_lock (for now) or with preemption disabled (later on): without\ngoing to any trouble, minimize the time between reading current values and\nupdating, to minimize those occasions when a racing thread bumps a count up\nand back down in between.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b5810039a54e5babf428e9a1e89fc1940fabff11",
      "tree": "835836cb527ec9bd525f93eb7e016f3dfb8c8ae2",
      "parents": [
        "f9c98d0287de42221c624482fd4f8d485c98ab22"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "nickpiggin@yahoo.com.au",
        "time": "Sat Oct 29 18:16:12 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:39 2005 -0700"
      },
      "message": "[PATCH] core remove PageReserved\n\nRemove PageReserved() calls from core code by tightening VM_RESERVED\nhandling in mm/ to cover PageReserved functionality.\n\nPageReserved special casing is removed from get_page and put_page.\n\nAll setting and clearing of PageReserved is retained, and it is now flagged\nin the page_alloc checks to help ensure we don\u0027t introduce any refcount\nbased freeing of Reserved pages.\n\nMAP_PRIVATE, PROT_WRITE of VM_RESERVED regions is tentatively being\ndeprecated.  We never completely handled it correctly anyway, and is be\nreintroduced in future if required (Hugh has a proof of concept).\n\nOnce PageReserved() calls are removed from kernel/power/swsusp.c, and all\narch/ and driver code, the Set and Clear calls, and the PG_reserved bit can\nbe trivially removed.\n\nLast real user of PageReserved is swsusp, which uses PageReserved to\ndetermine whether a struct page points to valid memory or not.  This still\nneeds to be addressed (a generic page_is_ram() should work).\n\nA last caveat: the ZERO_PAGE is now refcounted and managed with rmap (and\nthus mapcounted and count towards shared rss).  These writes to the struct\npage could cause excessive cacheline bouncing on big systems.  There are a\nnumber of ways this could be addressed if it is an issue.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\n\nRefcount bug fix for filemap_xip.c\n\nSigned-off-by: Carsten Otte \u003ccotte@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4294621f41a85497019fae64341aa5351a1921b7",
      "tree": "fdeb7eb44384a99d0679ffa6de5019bab0ea2166",
      "parents": [
        "404351e67a9facb475abf1492245374a28d13e90"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:38 2005 -0700"
      },
      "message": "[PATCH] mm: rss \u003d file_rss + anon_rss\n\nI was lazy when we added anon_rss, and chose to change as few places as\npossible.  So currently each anonymous page has to be counted twice, in rss\nand in anon_rss.  Which won\u0027t be so good if those are atomic counts in some\nconfigurations.\n\nChange that around: keep file_rss and anon_rss separately, and add them\ntogether (with get_mm_rss macro) when the total is needed - reading two\natomics is much cheaper than updating two atomics.  And update anon_rss\nupfront, typically in memory.c, not tucked away in page_add_anon_rmap.\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "404351e67a9facb475abf1492245374a28d13e90",
      "tree": "5ef4e78b399b36a46eda339ad0cd27556fc5b9a2",
      "parents": [
        "fc2acab31be8e869b2d5f6de12f557f6f054f19c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Sat Oct 29 18:16:04 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:38 2005 -0700"
      },
      "message": "[PATCH] mm: mm_init set_mm_counters\n\nHow is anon_rss initialized?  In dup_mmap, and by mm_alloc\u0027s memset; but\nthat\u0027s not so good if an mm_counter_t is a special type.  And how is rss\ninitialized?  By set_mm_counter, all over the place.  Come on, we just need to\ninitialize them both at once by set_mm_counter in mm_init (which follows the\nmemcpy when forking).\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "dfcd3c0dc426bb75770c34b40e14f2da8845ea62",
      "tree": "bd7e9f8463a18025c4775c6cdf22abbbd4236b64",
      "parents": [
        "e46a5e28c201f703c18b47b108bfddec44f897c4"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Sat Oct 29 18:15:48 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 29 21:40:35 2005 -0700"
      },
      "message": "[PATCH] Convert mempolicies to nodemask_t\n\nThe NUMA policy code predated nodemask_t so it used open coded bitmaps.\nConvert everything to nodemask_t.  Big patch, but shouldn\u0027t have any actual\nbehaviour changes (except I removed one unnecessary check against\nnode_online_map and one unnecessary BUG_ON)\n\nSigned-off-by: \"Andi Kleen\" \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c36fc889b5a4fd66cfd9ba80d9e038745d349567",
      "tree": "c49f295dfdf53a4c6f495be8414497f2cdf4a4d3",
      "parents": [
        "72adaa962741e8e910300b66bb123b1a9c31a8a8"
      ],
      "author": {
        "name": "Pete Zaitcev",
        "email": "zaitcev@redhat.com",
        "time": "Mon Oct 17 18:15:54 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 16:47:46 2005 -0700"
      },
      "message": "[PATCH] usb: Patch for USBDEVFS_IOCTL from 32-bit programs\n\nDell supplied me with the following test:\n\n#include\u003cstdio.h\u003e\n#include\u003cerrno.h\u003e\n#include\u003csys/ioctl.h\u003e\n#include\u003cfcntl.h\u003e\n#include\u003clinux/usbdevice_fs.h\u003e\n\nmain(int argc,char*argv[])\n{\n   struct usbdevfs_hub_portinfo hubPortInfo \u003d {0};\n   struct usbdevfs_ioctl command \u003d {0};\n   command.ifno \u003d 0;\n   command.ioctl_code \u003d USBDEVFS_HUB_PORTINFO;\n   command.data \u003d (void*)\u0026hubPortInfo;\n   int fd, ret;\n   if(argc !\u003d 2) {\n     fprintf(stderr,\"Usage: %s /proc/bus/usb/\u003cBusNo\u003e/\u003cHubID\u003e\\n\",argv[0]);\n     fprintf(stderr,\"Example: %s /proc/bus/usb/001/001\\n\",argv[0]);\n     exit(1);\n   }\n   errno \u003d 0;\n   fd \u003d open(argv[1],O_RDWR);\n   if(fd \u003c 0) {\n     perror(\"open failed:\");\n     exit(errno);\n   }\n   errno \u003d 0;\n   ret \u003d ioctl(fd,USBDEVFS_IOCTL,\u0026command);\n   printf(\"IOCTL return status:%d\\n\",ret);\n   if(ret\u003c0) {\n     perror(\"IOCTL failed:\");\n     close(fd);\n     exit(3);\n   } else {\n       printf(\"IOCTL passed:Num of ports %d\\n\",hubPortInfo.nports);\n       close(fd);\n       exit(0);\n   }\n   return 0;\n}\n\nI have verified that it breaks if built in 32 bit mode on x86_64 and that\nthe patch below fixes it.\n\nSigned-off-by: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6cd37cda7ed117d5a13d9b69aeded57b4fd6de14",
      "tree": "2b74bb4c3d7da82abe39ec2992ac951d3effa1b2",
      "parents": [
        "030ee39c0fef49d7dcd32e71b1ca98fcc23e2a72"
      ],
      "author": {
        "name": "Peter Osterlund",
        "email": "petero2@telia.com",
        "time": "Fri Oct 28 20:23:39 2005 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 13:57:57 2005 -0700"
      },
      "message": "[PATCH] Fix ext3 warning for unused var\n\nFix compile warning in ext3 quota code.\n\nSigned-off-by: Peter Osterlund \u003cpetero2@telia.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "84860bf0644d7c45afe7ddbd30731c3e3c371fae",
      "tree": "d6c4b98a9c3fd9981e7fcc5d7729c9e01e327767",
      "parents": [
        "8caf89157d64f1eedba37113afb4b303b2b3e301",
        "6fbfddcb52d8d9fa2cd209f5ac2a1c87497d55b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 13:09:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 13:09:47 2005 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6\n"
    },
    {
      "commit": "8caf89157d64f1eedba37113afb4b303b2b3e301",
      "tree": "a72038508368f81e5b3f1b82ad14918df8c7be7a",
      "parents": [
        "f12baeab9d65e2fe1b43b09b666f5efcb81b9369",
        "7038f1cbac899654cf0515e60dbe3e44d58271de"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 12:44:24 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 12:44:24 2005 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6\n"
    },
    {
      "commit": "7038f1cbac899654cf0515e60dbe3e44d58271de",
      "tree": "73909f95989f10bd85929073395e494ceb1a6b3f",
      "parents": [
        "b6a47fd8ff08a9d5cd279cdb8d97a619983575fa"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Fri Oct 28 13:27:40 2005 -0500"
      },
      "committer": {
        "name": "Dave Kleikamp",
        "email": "shaggy@austin.ibm.com",
        "time": "Fri Oct 28 13:27:40 2005 -0500"
      },
      "message": "JFS: make sure right-most xtree pages have header.next set to zero\n\nThe xtTruncate code was only doing this for leaf pages.  When a file is\nhorribly fragmented, we may truncate a file leaving an internal page with\nan invalid head.next field, which may cause a stale page to be referenced.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\n"
    },
    {
      "commit": "6fbfddcb52d8d9fa2cd209f5ac2a1c87497d55b5",
      "tree": "c0414e89678fcef7ce3493e048d855bde781ae8d",
      "parents": [
        "1a222bca26ca691e83be1b08f5e96ae96d0d8cae",
        "27d1097d39509494706eaa2620ef3b1e780a3224"
      ],
      "author": {
        "name": "Greg KH",
        "email": "greg@press.(none)",
        "time": "Fri Oct 28 10:13:16 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 10:13:16 2005 -0700"
      },
      "message": "Merge ../bleed-2.6\n"
    },
    {
      "commit": "53f4654272df7c51064825024340554b39c9efba",
      "tree": "e3e7b82a6bb0040ffbd267b250be2720704b98f2",
      "parents": [
        "51d172d5f3a193e4b8f76179b2e55d7a36b94117"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 27 22:25:43 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:52 2005 -0700"
      },
      "message": "[PATCH] Driver Core: fix up all callers of class_device_create()\n\nThe previous patch adding the ability to nest struct class_device\nchanged the paramaters to the call class_device_create().  This patch\nfixes up all in-kernel users of the function.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a7fd67062efc5b0fc9a61368c607fa92d1d57f9e",
      "tree": "8b91f198640608bd99f4e4764394e5134220abcf",
      "parents": [
        "d8539d81aeee4dbdc0624a798321e822fb2df7ae"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@suse.de",
        "time": "Sat Oct 01 14:49:43 2005 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:51 2005 -0700"
      },
      "message": "[PATCH] add sysfs attr to re-emit device hotplug event\n\nA \"coldplug + udevstart\" can be simple like this:\n  for i in /sys/block/*/*/uevent; do echo 1 \u003e $i; done\n  for i in /sys/class/*/*/uevent; do echo 1 \u003e $i; done\n  for i in /sys/bus/*/devices/*/uevent; do echo 1 \u003e $i; done\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0ee40c6628434f0535da31deeacc28b61e80d810",
      "tree": "2873b9c932a63943fad22617b8385866e45347f5",
      "parents": [
        "236fa08168dd82af29a76c31c40b4148403774c0",
        "2824bc9328467127083c1325f54b67d298c333b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:53:00 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:53:00 2005 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://brick.kernel.dk/data/git/linux-2.6-block\n"
    },
    {
      "commit": "c4cdd038318863e912e9b992489f61497f98b442",
      "tree": "07ebd1d1d5d27be8adcca5b81991af077f6044f8",
      "parents": [
        "b4e3ca1ab1ae9ae86134126dcdc88da1caaa32ca"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:22:39 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:51 2005 -0700"
      },
      "message": "[PATCH] gfp_t: reiserfs mapping_set_gfp_mask() use\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "27496a8c67bef4d789d8e3c8317ca35813a507ae",
      "tree": "fe99a34fe5a800e41af61853e7444ddddf45d014",
      "parents": [
        "7d877f3bda870ab5f001bd92528654471d5966b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 03:20:48 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:47 2005 -0700"
      },
      "message": "[PATCH] gfp_t: fs/*\n\n - -\u003ereleasepage() annotated (s/int/gfp_t), instances updated\n - missing gfp_t in fs/* added\n - fixed misannotation from the original sweep caught by bitwise checks:\n   XFS used __nocast both for gfp_t and for flags used by XFS allocator.\n   The latter left with unsigned int __nocast; we might want to add a\n   different type for those but for now let\u0027s leave them alone.  That,\n   BTW, is a case when __nocast use had been actively confusing - it had\n   been used in the same code for two different and similar types, with\n   no way to catch misuses.  Switch of gfp_t to bitwise had caught that\n   immediately...\n\nOne tricky bit is left alone to be dealt with later - mapping-\u003eflags is\na mix of gfp_t and error indications.  Left alone for now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "af4ca457eaf2d6682059c18463eb106e2ce58198",
      "tree": "399ca5ab3b15d723a6aefd04c764a2a06089ed06",
      "parents": [
        "434f1d10c1adb6c2e333d501ce1e42be610e0723"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Oct 21 02:55:38 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 08:16:46 2005 -0700"
      },
      "message": "[PATCH] gfp_t: infrastructure\n\nBeginning of gfp_t annotations:\n\n - -Wbitwise added to CHECKFLAGS\n - old __bitwise renamed to __bitwise__\n - __bitwise defined to either __bitwise__ or nothing, depending on\n   __CHECK_ENDIAN__ being defined\n - gfp_t switched from __nocast to __bitwise__\n - force cast to gfp_t added to __GFP_... constants\n - new helper - gfp_zone(); extracts zone bits out of gfp_t value and casts\n   the result to int\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20e5c81fcff89535dced2ed71cf24c6c648ff40e",
      "tree": "c19edf4ce636f0e4713e39dd918c7d3772cda64a",
      "parents": [
        "741b2252a5e14d6c60a913c77a6099abe73a854a"
      ],
      "author": {
        "name": "Chen, Kenneth W",
        "email": "kenneth.w.chen@intel.com",
        "time": "Thu Oct 13 21:48:42 2005 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@nelson.home.kernel.dk",
        "time": "Fri Oct 28 08:15:30 2005 +0200"
      },
      "message": "[patch] remove gendisk-\u003estamp_idle field\n\nstruct gendisk has these two fields: stamp, stamp_idle.  Update to\nstamp_idle is always in sync with stamp and they are always the same.\nTherefore, it does not add any value in having two fields tracking\nsame timestamp.  Suggest to remove it.\n\nAlso, we should only update gendisk stats with non-zero value.\nAdvantage is that we don\u0027t have to needlessly calculate memory address,\nand then add zero to the content.\n\nSigned-off-by: Ken Chen \u003ckenneth.w.chen@intel.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@suse.de\u003e\n"
    },
    {
      "commit": "bec273b491bd16351a9cdb8e9a51d30afa7fe9f4",
      "tree": "76013e5926f02d476b47812eb4c49b5dff8264a3",
      "parents": [
        "16c32b71bc53d6f7143702ebb264b4ef20d8f1e5"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:45 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:45 2005 -0400"
      },
      "message": "NFS: Allow files that are open for write to invalidate caches\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16c32b71bc53d6f7143702ebb264b4ef20d8f1e5",
      "tree": "e927cb187666c87ccd7c15c1c1367d015a623ef6",
      "parents": [
        "4f9838c7ecd14f31f701f64fa65ded132fc0db8a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:45 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:45 2005 -0400"
      },
      "message": "NFSv4: Convert unnecessary XDR warning messages into dprintk()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4f9838c7ecd14f31f701f64fa65ded132fc0db8a",
      "tree": "f3fee5b744efb072f44591208541554976bf41d7",
      "parents": [
        "16e429596dec4d28e16812b3a9be27f18412c567"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:44 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:44 2005 -0400"
      },
      "message": "NFSv4: Add post-op attributes to NFSv4 write and commit callbacks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "16e429596dec4d28e16812b3a9be27f18412c567",
      "tree": "b11c0f3829ae1225794a3d1fca68a1878a87a46d",
      "parents": [
        "6caf2c8276d371679a798058e8fdf49f5ff831a3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:44 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:44 2005 -0400"
      },
      "message": "NFSv4: Add post-op attributes to nfs4_proc_remove()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6caf2c8276d371679a798058e8fdf49f5ff831a3",
      "tree": "ff53620d5879644df543dcce2ce86db863dad21c",
      "parents": [
        "91ba2eeec5e8e86e054937eb3bf5aec5b22b1830"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:43 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:43 2005 -0400"
      },
      "message": "NFSv4: Add post-op attributes to nfs4_proc_rename()\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "91ba2eeec5e8e86e054937eb3bf5aec5b22b1830",
      "tree": "9157b8bfe90fed0b472da3ec71dadfb0c587e566",
      "parents": [
        "cf809556149f076b7a020c10e066b2b96e79b6a1"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:42 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:42 2005 -0400"
      },
      "message": "NFSv4: Add post-op attributes to nfs4_proc_link()\n\n Optimise attribute revalidation when hardlinking. Add post-op attributes\n for the directory and the original inode.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cf809556149f076b7a020c10e066b2b96e79b6a1",
      "tree": "714d3e58b4fe5af9b144c735601946949b217820",
      "parents": [
        "516a6af641bb50c608329a5bd751acd0d65cc4ab"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:42 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:42 2005 -0400"
      },
      "message": "NFS: Ensure that nfs_link() instantiates the dentry correctly\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "516a6af641bb50c608329a5bd751acd0d65cc4ab",
      "tree": "93b240cb19460073cac3363517fcc0e253fb48d9",
      "parents": [
        "3338c143b4fde2d256016b63043ec8e2c93eba19"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:41 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:41 2005 -0400"
      },
      "message": "NFS: Add optional post-op getattr instruction to the NFSv4 file close.\n\n \"Optional\" means that the close call will not fail if the getattr\n at the end of the compound fails.\n If it does succeed, try to refresh inode attributes.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "3338c143b4fde2d256016b63043ec8e2c93eba19",
      "tree": "babfe2188e64ea0bb37c9838f5bcd3337c0c7504",
      "parents": [
        "56ae19f38f10aad4f27f7e12138a29b295dff07a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:41 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:41 2005 -0400"
      },
      "message": "NFS: Optimise attribute revalidation on close().\n\n Only force a getattr in nfs_file_flush() if the attribute\n cache is stale.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "56ae19f38f10aad4f27f7e12138a29b295dff07a",
      "tree": "79ada0dacbcf6470b4469c537d3bae02bb81069d",
      "parents": [
        "0c70b50150cfb0b43ff500a8a394a52b4d5f1350"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:40 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:40 2005 -0400"
      },
      "message": "NFSv4: Add directory post-op attributes to the CREATE operations.\n\n Since the directory attributes change every time we CREATE a file,\n we might as well pick up the new directory attributes in the same\n compound.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0c70b50150cfb0b43ff500a8a394a52b4d5f1350",
      "tree": "292d31ce5378edb856076d2c610c323b76af0b09",
      "parents": [
        "decf491f3076190262d4c649bed877650623903a"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "cel@netapp.com",
        "time": "Tue Oct 25 11:48:36 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:40 2005 -0400"
      },
      "message": "NFS: nfs_lookup doesn\u0027t need to revalidate the parent directory\u0027s inode\n\n nfs_lookup() used to consult a lookup cache before trying an actual wire\n lookup operation.  The lookup cache would be invalid, of course, if the\n parent directory\u0027s mtime had changed, so nfs_lookup performed an inode\n revalidation on the parent.\n\n Since nfs_lookup() doesn\u0027t use a cache anymore, the revalidation is no\n longer necessary.  There are cases where it will generate a lot of\n unnecessary GETATTR traffic.\n\n See http://bugzilla.linux-nfs.org/show_bug.cgi?id\u003d9\n\n Test-plan:\n Use lndir and \"rm -rf\" and watch for excess GETATTR traffic or application\n level errors.\n\n Signed-off-by: Chuck Lever \u003ccel@netapp.com\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "decf491f3076190262d4c649bed877650623903a",
      "tree": "8f67577349fe451b0267b68435db1578ec1273a4",
      "parents": [
        "33801147a8fda6b04d7e9afe1d42f1c01d3d6837"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:39 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:39 2005 -0400"
      },
      "message": "NFS: Don\u0027t let nfs_end_data_update() clobber attribute update information\n\n Since we almost always call nfs_end_data_update() after we called\n nfs_refresh_inode(), we now end up marking the inode metadata\n as needing revalidation immediately after having updated it.\n\n This patch rearranges things so that we mark the inode as needing\n revalidation _before_ we call nfs_refresh_inode() on those operations\n that need it.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "33801147a8fda6b04d7e9afe1d42f1c01d3d6837",
      "tree": "5311fb4714f0a24b7d7666b04250205025e18d15",
      "parents": [
        "913a70fc170530f7e1ff0693595155457cc6d0ca"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:39 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:39 2005 -0400"
      },
      "message": "NFS: Optimise inode attribute cache updates\n\n Allow nfs_refresh_inode() also to update attributes on the inode if the\n RPC call was sent after the last call to nfs_update_inode().\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "913a70fc170530f7e1ff0693595155457cc6d0ca",
      "tree": "1f3d5db26462d02ecca383794b3061a5eae8d9cc",
      "parents": [
        "0e574af1be5f569a5d7f2800333b0bfb358a5e34"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:38 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:38 2005 -0400"
      },
      "message": "NFS: Convert cache_change_attribute into a jiffy-based value\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0e574af1be5f569a5d7f2800333b0bfb358a5e34",
      "tree": "bb5b62dece21b8906222dfee022020ed6f81e34c",
      "parents": [
        "4c2cb58c552a34744979a99ccf01762d5eb7e288"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:38 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 22:12:38 2005 -0400"
      },
      "message": "NFS: Cleanup initialisation of struct nfs_fattr\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c2cb58c552a34744979a99ccf01762d5eb7e288",
      "tree": "fd35360eb0cb08b07f3a5f4bdf1ebd90a769311d",
      "parents": [
        "34123da66e613602de5a886b05c875b6a91b8ed2",
        "72ab373a5688a78cbdaf3bf96012e597d5399bb7"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 19:12:49 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 19:12:49 2005 -0400"
      },
      "message": "Merge /home/trondmy/scm/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "34123da66e613602de5a886b05c875b6a91b8ed2",
      "tree": "150149bf91537d302da6c50a5b8eed19ec2c2400",
      "parents": [
        "6fa05b17367f04ada501e89d3b9cb56adec0d930"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 19:10:09 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 27 19:10:09 2005 -0400"
      },
      "message": "NFS: Fix a bad cast in nfs3_read_done\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "94c1d3184523efa7109472eb393cee6e954c5d75",
      "tree": "566e8e77ea71af755dd19133ca6e895fb92b3f15",
      "parents": [
        "35848e048f55368f132e28e7f3278ce2d2347f6c"
      ],
      "author": {
        "name": "Peter Wainwright",
        "email": "peter.wainwright@hpa-rp.org.uk",
        "time": "Wed Oct 26 01:59:02 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 26 10:39:43 2005 -0700"
      },
      "message": "[PATCH] Fix HFS+ to free up the space when a file is deleted.\n\nfsck_hfs reveals lots of temporary files accumulating in the hidden\ndirectory \"\\000\\000\\000HFS+ Private Data\".  According to the HFS+\ndocumentation these are files which are unlinked while in use.  However,\nthere may be a bug in the Linux hfsplus implementation which causes this to\nhappen even when the files are not in use.  It looks like the \"opencnt\"\nfield is never initialized as (I think) it should be in hfsplus_read_inode.\n This means that a file can appear to be still in use when in fact it has\nbeen closed.  This patch seems to fix it for me.\n\nSigned-off-by: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Roman Zippel \u003czippel@linux-m68k.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8d3b35914aa54232b27e6a2b57d84092aadc5e86",
      "tree": "809be8fad6743a751964677e68c5c01af3198e4b",
      "parents": [
        "c0fef676bbd75e711711ed3ff5bebb7bfd1bdb00"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Oct 23 12:57:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 23 16:38:39 2005 -0700"
      },
      "message": "[PATCH] inotify/idr leak fix\n\nFix a bug which was reported and diagnosed by\nStefan Jones \u003cstefan.jones@churchillrandoms.co.uk\u003e\n\nIDR trees include a cache of idr_layer objects.  There\u0027s no way to destroy\nthis cache, so when we discard an overall idr tree we end up leaking some\nmemory.\n\nAdd and use idr_destroy() for this.  v9fs and infiniband also need to use\nidr_destroy() to avoid leaks.\n\nOr, we make the cache global, like radix_tree_preload().  Which is probably\nbetter.  Later.\n\nCc: Eric Van Hensbergen \u003cericvh@ericvh.myip.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Robert Love \u003crml@novell.com\u003e\nCc: John McCutchan \u003cttb@tentacle.dhs.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8766ce41018a0cb80fbe0ce7dbf747f357c752da",
      "tree": "68daf47f292ef79987f208db8f4d2dabfec7fb57",
      "parents": [
        "a991304496bdaec09f497d1eb5d9dcf2f94b7d5d"
      ],
      "author": {
        "name": "Kostik Belousov",
        "email": "konstantin.belousov@zoral.com.ua",
        "time": "Sun Oct 23 12:57:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 23 16:38:38 2005 -0700"
      },
      "message": "[PATCH] aio syscalls are not checked by lsm\n\nAnother case of missing call to security_file_permission: aio functions\n(namely, io_submit) does not check credentials with security modules.\n\nBelow is the simple patch to the problem.  It seems that it is enough to\ncheck for rights at the request submission time.\n\nSigned-off-by: Kostik Belousov \u003ckostikbel@gmail.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@osdl.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ec073428281b401f1142cb84b277a5b00c7994c9",
      "tree": "c96e6d10af61dc3fd678c46dda505791812ca985",
      "parents": [
        "4e51336a00bdcb42960acca52c23e90e9f4e6959"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 20 14:22:47 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 20 14:22:47 2005 -0700"
      },
      "message": "NFSv4: Fix up locking for nfs4_state_owner\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4e51336a00bdcb42960acca52c23e90e9f4e6959",
      "tree": "87d619bcd796a0c272abe2499bcc56bc3eda30b4",
      "parents": [
        "a0857d03b21fa54653c9d2fe7a315381176015b4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 20 14:22:41 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Oct 20 14:22:41 2005 -0700"
      },
      "message": "NFSv4: Final tweak to sequence id\n\n Sacrifice queueing fairness for performance.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "1d95db8e1688ed54e143a597c5570631a42fa594",
      "tree": "b0b0a667cf9ecccabc26cd7afceed05815066aa6",
      "parents": [
        "8c233cf9c2ad6f49df753bdce84fddbf00bf6a75"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:32 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:41 2005 -0700"
      },
      "message": "NFSv4: Fix acl buffer size\n\n resp_len is passed in as buffer size to decode routine; make sure it\u0027s\n set right in case where userspace provides less than a page\u0027s worth of\n buffer.\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "8c233cf9c2ad6f49df753bdce84fddbf00bf6a75",
      "tree": "c2d0e2d58e0fe1c2ab332802caa77046fcaac348",
      "parents": [
        "747c5534c9a6da4aa87e7cdc2209ea98ea27f381"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@fieldses.org",
        "time": "Thu Oct 13 16:54:27 2005 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:41 2005 -0700"
      },
      "message": "NFSv4: handle no acl attr\n\n Stop handing garbage to userspace in the case where a weird server clears the\n acl bit in the getattr return (despite the fact that they\u0027ve already claimed\n acl support.)\n\n Signed-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "7f709a48fa798cfa0f2f777c8752e12995054f78",
      "tree": "fde5f4b4918205ba4c547ecaac95acbc8a37caa0",
      "parents": [
        "cb1f7be73b6f708d4f4ce225a3bbc02908b729e4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:39 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 23:19:39 2005 -0700"
      },
      "message": "NFSv4: Fix an oopsable condition in nfs_free_seqid\n\n Storing a pointer to the struct rpc_task in the nfs_seqid is broken\n since the nfs_seqid may be freed well after the task has been destroyed.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6fe43f9e3701f7a9f2be151a5e6cfe94b87e92f9",
      "tree": "edf67143a032c7b7867ee999f1deb01437a6bc99",
      "parents": [
        "4c780a4688b421baa896b59778c05d7e068e479f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:22 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:22 2005 -0700"
      },
      "message": "NFS: Fix rename of directory onto empty directory\n\n If someone tries to rename a directory onto an empty directory, we\n currently fail and return EBUSY.\n This patch ensures that we try the rename if both source and target\n are directories, and that we fail with a correct error of EISDIR if\n the source is not a directory.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "4c780a4688b421baa896b59778c05d7e068e479f",
      "tree": "5d7727971fc92e037857d6c560a6af8f4196df8b",
      "parents": [
        "550f57470c6506f5ef3c708335dea6bd48bf3dc4"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:21 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:21 2005 -0700"
      },
      "message": "Fix Connectathon locking test failure\n\n We currently fail Connectathon test 6.10 in the case of 32-bit locks due\n to incorrect error checking.\n Also add support for l-\u003el_len \u003c 0 to 64-bit locks.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "550f57470c6506f5ef3c708335dea6bd48bf3dc4",
      "tree": "be34cc170cce1e103baec1976f7903528eb4ff4d",
      "parents": [
        "b8e5c4c2978fa666287525a9de2fa648a7581262"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:21 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:21 2005 -0700"
      },
      "message": "NFSv4: Ensure that we recover from the OPEN + OPEN_CONFIRM BAD_STATEID race\n\n If the server is in the unconfirmed OPEN state for a given open owner\n and receives a second OPEN for the same open owner, it will cancel the\n state of the first request and set up an OPEN_CONFIRM for the second.\n\n This can cause a race that is discussed in rfc3530 on page 181.\n\n The following patch allows the client to recover by retrying the\n original open request.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b8e5c4c2978fa666287525a9de2fa648a7581262",
      "tree": "b90d9aca86dcb187d985be1eb39e5f691dfcf187",
      "parents": [
        "642ac54923e0291ae2c8e42edde18d8c9c0a3c84"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:20 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:20 2005 -0700"
      },
      "message": "NFSv4: If a delegated open fails, ensure that we return the delegation\n\n Unless of course the open fails due to permission issues.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "642ac54923e0291ae2c8e42edde18d8c9c0a3c84",
      "tree": "3dbcbbff050551854b29e020f8453306053ae9bb",
      "parents": [
        "cae7a073a4c5484cc5713eab606bf54b46724ab3"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:19 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:19 2005 -0700"
      },
      "message": "NFSv4: Return delegations in case we\u0027re changing ACLs\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cae7a073a4c5484cc5713eab606bf54b46724ab3",
      "tree": "e5cdcf0376da5b04bca9bbbf8f226abe13f33275",
      "parents": [
        "cdce5d6b94b6182f6d8a5b7b52923933e98cbc92"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:19 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:19 2005 -0700"
      },
      "message": "NFSv4: Return delegation upon rename or removal of file.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cdce5d6b94b6182f6d8a5b7b52923933e98cbc92",
      "tree": "e98ec006186a5d18fac2189dc1d6ece1fda9541f",
      "parents": [
        "6f926b5ba75c568296ec227e7d782db4ddbdca5c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:18 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:18 2005 -0700"
      },
      "message": "VFS: Make link_path_walk set LOOKUP_CONTINUE before calling permission().\n\n This will allow nfs_permission() to perform additional optimizations when\n walking the path, by folding the ACCESS(MAY_EXEC) call on the directory\n into the lookup revalidation.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "6f926b5ba75c568296ec227e7d782db4ddbdca5c",
      "tree": "6c9aad3139ae4e54210ab5ff37446c357c54b521",
      "parents": [
        "02a913a73b52071e93f4b76db3e86138d19efffd"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:18 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:18 2005 -0700"
      },
      "message": "[NFS]: Check that the server returns a valid regular file to our OPEN request\n\n Since it appears that some servers don\u0027t...\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "02a913a73b52071e93f4b76db3e86138d19efffd",
      "tree": "1dc1abbd2d8f57a6fd593dd252d6d7ecc7c811c5",
      "parents": [
        "834f2a4a1554dc5b2598038b3fe8703defcbe467"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:17 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:17 2005 -0700"
      },
      "message": "NFSv4: Eliminate nfsv4 open race...\n\n Make NFSv4 return the fully initialized file pointer with the\n stateid that it created in the lookup w/intent.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "834f2a4a1554dc5b2598038b3fe8703defcbe467",
      "tree": "d27a000a2dd03029e6e2472c6e13801688185b51",
      "parents": [
        "039c4d7a82d8268ec71f59679460b41d0dd9b225"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:16 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:16 2005 -0700"
      },
      "message": "VFS: Allow the filesystem to return a full file pointer on open intent\n\n This is needed by NFSv4 for atomicity reasons: our open command is in\n fact a lookup+open, so we need to be able to propagate open context\n information from lookup() into the resulting struct file\u0027s\n private_data field.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "039c4d7a82d8268ec71f59679460b41d0dd9b225",
      "tree": "a2f76afdda97f92df432b5d04e335ee90c42ced6",
      "parents": [
        "06735b3454824bd561decbde46111f144e905923"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:16 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:16 2005 -0700"
      },
      "message": " NFS: Fix up a race in the NFS implementation of GETLK\n\n ...and fix a memory corruption bug due to improper use of memcpy() on\n a struct file_lock.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "06735b3454824bd561decbde46111f144e905923",
      "tree": "2c9e9f18ba8d3700a181b44d2b1f0ce6a62612f8",
      "parents": [
        "faf5f49c2d9c0af2847837c232a432cc146e203b"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:15 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:15 2005 -0700"
      },
      "message": "NFSv4: Fix up handling of open_to_lock sequence ids\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "faf5f49c2d9c0af2847837c232a432cc146e203b",
      "tree": "f0c097ae68ca3ec3cd5ee0a904916493b00b9c1b",
      "parents": [
        "0a8838f972883112f0a7b259141b24db17583c2d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:15 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:15 2005 -0700"
      },
      "message": "NFSv4: Make NFS clean up byte range locks asynchronously\n\n Currently we fail to do so if the process was signalled.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "0a8838f972883112f0a7b259141b24db17583c2d",
      "tree": "80b047e5223f8cbaaa68b03ba1b4914b437e3f59",
      "parents": [
        "83c9d41e456033000ccfadf535f3098d8739488d"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:14 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:14 2005 -0700"
      },
      "message": "NFSv4: Add missing handling of OPEN_CONFIRM requests on CLAIM_DELEGATE_CUR.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "83c9d41e456033000ccfadf535f3098d8739488d",
      "tree": "09f5573ba348225bb7eed14c20b3305f49449e06",
      "parents": [
        "e6dfa553cffcb9740f932311dff42f81d6ac63bb"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:13 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:13 2005 -0700"
      },
      "message": "NFSv4: Remove nfs4_client-\u003ecl_sem from close() path\n\n We no longer need to worry about collisions between close() and the state\n recovery code, since the new close will automatically recheck the\n file state once it is done waiting on its sequence slot.\n\n Ditto for the nfs4_proc_locku() procedure.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "e6dfa553cffcb9740f932311dff42f81d6ac63bb",
      "tree": "d5519b749b6a7fb6e25b0459385011cd69a6caaf",
      "parents": [
        "9512135df14f8293b9bc5e8fb22d4279dee5ff66"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:13 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:13 2005 -0700"
      },
      "message": "NFSv4: Remove obsolete state_owner and lock_owner semaphores\n\n OPEN, CLOSE, etc no longer need these semaphores to ensure ordering of\n requests.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "9512135df14f8293b9bc5e8fb22d4279dee5ff66",
      "tree": "83fb778ed53ba10c46734968f538aa0a57d376a1",
      "parents": [
        "cee54fc944422c44e476736c045a9e8053cb0644"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:12 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:12 2005 -0700"
      },
      "message": "NFSv4: Fix a potential CLOSE race\n\n Once the state_owner and lock_owner semaphores get removed, it will be\n possible for other OPEN requests to reopen the same file if they have\n lower sequence ids than our CLOSE call.\n This patch ensures that we recheck the file state once\n nfs_wait_on_sequence() has completed waiting.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cee54fc944422c44e476736c045a9e8053cb0644",
      "tree": "95f4728b3ffa8a2456727b10cd3a68f2a3065415",
      "parents": [
        "5e5ce5be6f0161d2a069a4f8a1154fe639c5c02f"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:12 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 14:20:12 2005 -0700"
      },
      "message": "NFSv4: Add functions to order RPC calls\n\n NFSv4 file state-changing functions such as OPEN, CLOSE, LOCK,... are all\n labelled with \"sequence identifiers\" in order to prevent the server from\n reordering RPC requests, as this could cause its file state to\n become out of sync with the client.\n\n Currently the NFS client code enforces this ordering locally using\n semaphores to restrict access to structures until the RPC call is done.\n This, of course, only works with synchronous RPC calls, since the\n user process must first grab the semaphore.\n By dropping semaphores, and instead teaching the RPC engine to hold\n the RPC calls until they are ready to be sent, we can extend this\n process to work nicely with asynchronous RPC calls too.\n\n This patch adds a new list called \"rpc_sequence\" that defines the order\n of the RPC calls to be sent. We add one such list for each state_owner.\n When an RPC call is ready to be sent, it checks if it is top of the\n rpc_sequence list. If so, it proceeds. If not, it goes back to sleep,\n and loops until it hits top of the list.\n Once the RPC call has completed, it can then bump the sequence id counter,\n and remove itself from the rpc_sequence list, and then wake up the next\n sleeper.\n\n Note that the state_owner sequence ids and lock_owner sequence ids are\n all indexed to the same rpc_sequence list, so OPEN, LOCK,... requests\n are all ordered w.r.t. each other.\n\n Signed-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "cff6bf970965c98c62007fc8a36527fd147fe233",
      "tree": "2791f2208b54ade86625af416ff5342f11282f0c",
      "parents": [
        "6cd7525a00f3b926e8bd2e402954ed3e09a8e924",
        "39ca371c45b04cd50d0974030ae051906fc516b6"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 13:50:52 2005 -0700"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Oct 18 13:50:52 2005 -0700"
      },
      "message": "Merge /home/trondmy/scm/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "4faa5285283fad081443e3612ca426a311bb6c7e",
      "tree": "f5178184a94fb8343afee94a5b7cd47c05a2bc49",
      "parents": [
        "e7507ed91e093b9e4e218e41ebfdce05458258fc"
      ],
      "author": {
        "name": "Zach Brown",
        "email": "zach.brown@oracle.com",
        "time": "Mon Oct 17 16:43:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 17 17:03:57 2005 -0700"
      },
      "message": "[PATCH] aio: revert lock_kiocb()\n\nlock_kiocb() was introduced to serialize retrying and cancellation.  In the\nprocess of doing so it tried to sleep waiting for KIF_LOCKED while holding\nthe ctx_lock spinlock.  Recent fixes have ensured that multiple concurrent\nretries won\u0027t be attempted for a given iocb.  Cancel has other problems and\nhas no significant in-tree users that have been complaining about it.  So\nfor the immediate future we\u0027ll revert sleeping with the lock held and will\naddress proper cancellation and retry serialization in the future.\n\nSigned-off-by: Zach Brown \u003czach.brown@oracle.com\u003e\nAcked-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b65574fec5db1211bce7fc8bec7a2b32486e0670",
      "tree": "eed63a503028c04db304c37969fa0c54e8c28dda",
      "parents": [
        "5ee832dbc6770135ec8d63296af0a4374557bb79"
      ],
      "author": {
        "name": "David McCullough",
        "email": "davidm@snapgear.com",
        "time": "Mon Oct 17 16:43:29 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 17 17:03:57 2005 -0700"
      },
      "message": "[PATCH] output of /proc/maps on nommu systems is incomplete\n\nCurrently you do not get all the map entries on nommu systems because the\nstart function doesn\u0027t index into the list using the value of \"pos\".\n\nSigned-off-by: David McCullough \u003cdavidm@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6ce969171d5187f7621be68c0ebbc7fb02ec53f1",
      "tree": "9784933075d154085fec4fe96be7dc8006202fbb",
      "parents": [
        "b3c52da33ce95747b1bff86cce716d4f1397f14a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "trond.myklebust@fys.uio.no",
        "time": "Mon Oct 17 06:03:23 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 17 14:47:16 2005 -0700"
      },
      "message": "[PATCH] NFS: Fix Oopsable/unnecessary i_count manipulations in nfs_wait_on_inode()\n\nOopsable since nfs_wait_on_inode() can get called as part of iput_final().\n\nUnnecessary since the caller had better be damned sure that the inode won\u0027t\ndisappear from underneath it anyway.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "b3c52da33ce95747b1bff86cce716d4f1397f14a",
      "tree": "7958a929e5b9486bf0b5358776078c1bc71faf88",
      "parents": [
        "13b58ee51802a45d2b8853ffe0003d9fa768195c"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "trond.myklebust@fys.uio.no",
        "time": "Mon Oct 17 06:02:00 2005 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Oct 17 14:47:16 2005 -0700"
      },
      "message": "[PATCH] NFS: Fix cache consistency races\n\nIf the data cache has been marked as potentially invalid by nfs_refresh_inode,\nwe should invalidate it rather than assume that changes are due to our own\nactivity.\n\nAlso ensure that we always start with a valid cache before declaring it\nto be protected by a delegation.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "63c6764ce4c650245a41a95a2235207d25ca4fde",
      "tree": "7d719c49948440bb23cb07b6cb8938507b1c16e2",
      "parents": [
        "2d1f87a728a5ddd9ee0418e14a12e5cb0372fad1"
      ],
      "author": {
        "name": "Yoshinori Sato",
        "email": "ysato@users.sourceforge.jp",
        "time": "Fri Oct 14 15:59:11 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 14 17:10:13 2005 -0700"
      },
      "message": "[PATCH] nommu build error fix\n\n\"proc_smaps_operations\" is not defined in case of \"CONFIG_MMU\u003dn\".\n\nSigned-off-by: Yoshinori Sato \u003cysato@users.sourceforge.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    }
  ],
  "next": "6de505173e24e76bb33a2595312e0c2b44d49e58"
}
