)]}'
{
  "log": [
    {
      "commit": "0c0d61ca93d111c521182c0909e478fa709e05c6",
      "tree": "be690362142ec79a673f85d7b2b7323102fab6f8",
      "parents": [
        "eedcdefb1ad75de9cc0889b247524be64cc244ef",
        "bb50c8012cbd85b8e105584b32e4d5a2d335dcef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 11 09:19:47 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 11 09:19:47 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux:\n  SUNPRC: Fix printk format warning\n  nfsd: clean up svc_reserve_auth()\n  NLM: don\u0027t requeue block if it was invalidated while GRANT_MSG was in flight\n  NLM: don\u0027t reattempt GRANT_MSG when there is already an RPC in flight\n  NLM: have server-side RPC clients default to soft RPC tasks\n  NLM: set RPC_CLNT_CREATE_NOPING for NLM RPC clients\n"
    },
    {
      "commit": "c64e80d55db81df22a7f25b75ab4ba4c55db4749",
      "tree": "bc844c9fbc4a19887b108d457f0d8fdc651630e2",
      "parents": [
        "9706501e43a80ce48b319214a0a9e562deded35b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 11:34:13 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 10 18:09:36 2008 -0500"
      },
      "message": "NLM: don\u0027t requeue block if it was invalidated while GRANT_MSG was in flight\n\nIt\u0027s possible for lockd to catch a SIGKILL while a GRANT_MSG callback\nis in flight. If this happens we don\u0027t want lockd to insert the block\nback into the nlm_blocked list.\n\nThis helps that situation, but there\u0027s still a possible race. Fixing\nthat will mean adding real locking for nlm_blocked.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9706501e43a80ce48b319214a0a9e562deded35b",
      "tree": "6b2d5ec807edea5806e9dd41f1109d8e8aac160c",
      "parents": [
        "90bd17c87821fe0e055e0f9a7446c2875f31eb4c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 11:34:12 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 10 18:09:36 2008 -0500"
      },
      "message": "NLM: don\u0027t reattempt GRANT_MSG when there is already an RPC in flight\n\nWith the current scheme in nlmsvc_grant_blocked, we can end up with more\nthan one GRANT_MSG callback for a block in flight. Right now, we requeue\nthe block unconditionally so that a GRANT_MSG callback is done again in\n30s. If the client is unresponsive, it can take more than 30s for the\ncall already in flight to time out.\n\nThere\u0027s no benefit to having more than one GRANT_MSG RPC queued up at a\ntime, so put it on the list with a timeout of NLM_NEVER before doing the\nRPC call. If the RPC call submission fails, we requeue it with a short\ntimeout. If it works, then nlmsvc_grant_callback will end up requeueing\nit with a shorter timeout after it completes.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "90bd17c87821fe0e055e0f9a7446c2875f31eb4c",
      "tree": "21524f248ed516570dcc1a0f6a66a74e3a275e95",
      "parents": [
        "031fd3aa20fcf6d1862ea7814ee8b2caf36c0d78"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 11:34:11 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 10 18:09:36 2008 -0500"
      },
      "message": "NLM: have server-side RPC clients default to soft RPC tasks\n\nNow that it no longer does an RPC ping, lockd always ends up queueing\nan RPC task for the GRANT_MSG callback. But, it also requeues the block\nfor later attempts. Since these are hard RPC tasks, if the client we\u0027re\ncalling back goes unresponsive the GRANT_MSG callbacks can stack up in\nthe RPC queue.\n\nFix this by making server-side RPC clients default to soft RPC tasks.\nlockd requeues the block anyway, so this should be OK.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "031fd3aa20fcf6d1862ea7814ee8b2caf36c0d78",
      "tree": "b60252860730b3f9b4578db1dc891497e0a00722",
      "parents": [
        "551e4fb2465b87de9d4aa1669b27d624435443bb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Feb 06 11:34:10 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 10 18:09:36 2008 -0500"
      },
      "message": "NLM: set RPC_CLNT_CREATE_NOPING for NLM RPC clients\n\nIt\u0027s currently possible for an unresponsive NLM client to completely\nlock up a server\u0027s lockd. The scenario is something like this:\n\n1) client1 (or a process on the server) takes a lock on a file\n2) client2 tries to take a blocking lock on the same file and\n   awaits the callback\n3) client2 goes unresponsive (plug pulled, network partition, etc)\n4) client1 releases the lock\n\n...at that point the server\u0027s lockd will try to queue up a GRANT_MSG\ncallback for client2, but first it requeues the block with a timeout of\n30s. nlm_async_call will attempt to bind the RPC client to client2 and\nwill call rpc_ping. rpc_ping entails a sync RPC call and if client2 is\nunresponsive it will take around 60s for that to time out. Once it times\nout, it\u0027s already time to retry the block and the whole process repeats.\n\nOnce in this situation, nlmsvc_retry_blocked will never return until\nthe host starts responding again. lockd won\u0027t service new calls.\n\nFix this by skipping the RPC ping on NLM RPC clients. This makes\nnlm_async_call return quickly when called.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "712a30e63c8066ed84385b12edbfb804f49cbc44",
      "tree": "0562431cf00ccb740547b13a41d79f6319254ca0",
      "parents": [
        "25f666300625d894ebe04bac2b4b3aadb907c861"
      ],
      "author": {
        "name": "Bastian Blank",
        "email": "bastian@waldi.eu.org",
        "time": "Sun Feb 10 16:47:57 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 10 10:27:21 2008 -0800"
      },
      "message": "splice: fix user pointer access in get_iovec_page_array()\n\nCommit 8811930dc74a503415b35c4a79d14fb0b408a361 (\"splice: missing user\npointer access verification\") added the proper access_ok() calls to\ncopy_from_user_mmap_sem() which ensures we can copy the struct iovecs\nfrom userspace to the kernel.\n\nBut we also must check whether we can access the actual memory region\npointed to by the struct iovec to fix the access checks properly.\n\nSigned-off-by: Bastian Blank \u003cwaldi@debian.org\u003e\nAcked-by: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "469108ff3dcbc00313699d620c47f3ee1e7d19c6",
      "tree": "d7cd5a7097d1c87b0dfc46297b05d297aabfdf62",
      "parents": [
        "26346ff681cb42c1436ed09c44dcae4809470dab"
      ],
      "author": {
        "name": "Theodore Tso",
        "email": "tytso@MIT.EDU",
        "time": "Sun Feb 10 01:11:44 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:11:44 2008 -0500"
      },
      "message": "ext4: Add new \"development flag\" to the ext4 filesystem\n\nThis flag is simply a generic \"this is a crash/burn test filesystem\"\nmarker.  If it is set, then filesystem code which is \"in development\"\nwill be allowed to mount the filesystem.  Filesystem code which is not\nconsidered ready for prime-time will check for this flag, and if it is\nnot set, it will refuse to touch the filesystem.\n\nAs we start rolling ext4 out to distro\u0027s like Fedora, et. al, this makes\nit less likely that a user might accidentally start using ext4 on a\nproduction filesystem; a bad thing, since that will essentially make it\nbe unfsckable until e2fsprogs catches up.\n\nSigned-off-by: Theodore Tso \u003ctytso@MIT.EDU\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n\n"
    },
    {
      "commit": "26346ff681cb42c1436ed09c44dcae4809470dab",
      "tree": "1f1b8bff59e9aedbd0ad80a51317d5c1e5cbad91",
      "parents": [
        "256bdb497c6f562462f1e89fc8e1409f61ef40cb"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:10:04 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:10:04 2008 -0500"
      },
      "message": "ext4: Don\u0027t panic in case of corrupt bitmap\n\nMultiblock allocator calls BUG_ON in many case if the free and used\nblocks count obtained looking at the bitmap is different from what\nthe allocator internally accounted for. Use ext4_error in such case\nand don\u0027t panic the system.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "256bdb497c6f562462f1e89fc8e1409f61ef40cb",
      "tree": "e8c16516bba080b4e40eccebb5a3ea5fb25cf5fd",
      "parents": [
        "c4e35e07af162ea4d642b1c6ffacbb63c3ed1804"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Sun Feb 10 01:13:33 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:13:33 2008 -0500"
      },
      "message": "ext4: allocate struct ext4_allocation_context from a kmem cache\n\nstruct ext4_allocation_context is rather large, and this bloats\nthe stack of many functions which use it.  Allocating it from\na named slab cache will alleviate this.\n\nFor example, with this change (on top of the noinline patch sent earlier):\n\n-ext4_mb_new_blocks\t\t200\n+ext4_mb_new_blocks\t\t 40\n\n-ext4_mb_free_blocks\t\t344\n+ext4_mb_free_blocks\t\t168\n\n-ext4_mb_release_inode_pa\t216\n+ext4_mb_release_inode_pa\t 40\n\n-ext4_mb_release_group_pa\t192\n+ext4_mb_release_group_pa\t 24\n\nMost of these stack-allocated structs are actually used only for\nmballoc history; and in those cases often a smaller struct would do.\nSo changing that may be another way around it, at least for those\nfunctions, if preferred.  For now, in those cases where the ac\nis only for history, an allocation failure simply skips the history\nrecording, and does not cause any other failures.\n\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n\n"
    },
    {
      "commit": "c4e35e07af162ea4d642b1c6ffacbb63c3ed1804",
      "tree": "c1f74ee04e54f705d0b18c947a2efa9eea8344a2",
      "parents": [
        "7fb5409df092589b86cc9412d926879cb572b7f0"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:09:32 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:09:32 2008 -0500"
      },
      "message": "JBD2:  Clear buffer_ordered flag for barried IO request on success\n\nIn JBD2 jbd2_journal_write_commit_record(), clear the buffer_ordered\nflag for the bh after barried IO has succeed. This prevents later, if\nthe same buffer head were submitted to the underlying device, which has\nbeen reconfigured to not support barrier request, the JBD2 commit code\ncould treat it as a normal IO (without barrier).\n\nThis is a port from JBD/ext3 fix from Neil Brown.\n\nMore details from Neil:\n\nSome devices - notably dm and md - can change their behaviour in\nresponse to BIO_RW_BARRIER requests.  They might start out accepting\nsuch requests but on reconfiguration, they find out that they cannot\nany more. JBD2 deal with this by always testing if BIO_RW_BARRIER\nrequests fail with EOPNOTSUPP, and retrying the write\nrequests without the barrier (probably after waiting for any pending\nwrites to complete).\n\nHowever there is a bug in the handling this in JBD2 for ext4 .\n\nWhen ext4/JBD2 to submit a BIO_RW_BARRIER request,\nit sets the buffer_ordered flag on the buffer head.\nIf the request completes successfully, the flag STAYS SET.\n\nOther code might then write the same buffer_head after the device has\nbeen reconfigured to not accept barriers.  This write will then fail,\nbut the \"other code\" is not ready to handle EOPNOTSUPP errors and the\nerror will be treated as fatal.\n\nCc:  Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "7fb5409df092589b86cc9412d926879cb572b7f0",
      "tree": "8201f2fc124d34098776799f8cec89a8f8b4f8bb",
      "parents": [
        "8009f9fb3067fef6c2ca0c16f6bac786ae28639d"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Sun Feb 10 01:08:38 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:08:38 2008 -0500"
      },
      "message": "ext4: Fix Direct I/O locking\n\nWe cannot start transaction in ext4_direct_IO() and just let it last\nduring the whole write because dio_get_page() acquires mmap_sem which\nranks above transaction start (e.g. because we have dependency chain\nmmap_sem-\u003ePageLock-\u003ejournal_start, or because we update atime while\nholding mmap_sem) and thus deadlocks could happen. We solve the problem\nby starting a transaction separately for each ext4_get_block() call.\n\nWe *could* have a problem that we allocate a block and before its data\nare written out the machine crashes and thus we expose stale data. But\nthat does not happen because for hole-filling generic code falls back to\nbuffered writes and for file extension, we add inode to orphan list and\nthus in case of crash, journal replay will truncate inode back to the\noriginal size.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "8009f9fb3067fef6c2ca0c16f6bac786ae28639d",
      "tree": "acf8bbfd2833a63baa9d2194ed30bf7e7dcb3075",
      "parents": [
        "0040d9875dcccfcb2131417b10fbd9841bc5f05b"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:20:05 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:20:05 2008 -0500"
      },
      "message": "ext4: Fix circular locking dependency with migrate and rm.\n\nIn order to prevent a circular locking dependency when an unlink\noperation is racing with an ext4 migration, we delay taking i_data_sem\nuntil just before switch the inode format, and use i_mutex to prevent\nwrites and truncates during the first part of the migration operation.\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "0040d9875dcccfcb2131417b10fbd9841bc5f05b",
      "tree": "1480723c649906ec01c4b3c7ee7e2b667324665a",
      "parents": [
        "42a10add852e6291a7544afd8a286622a3e6ae76"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@redhat.com",
        "time": "Tue Feb 05 22:36:43 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 05 22:36:43 2008 -0500"
      },
      "message": "allow in-inode EAs on ext4 root inode\n\nThe ext3 root inode was treated specially with respect\nto in-inode extended attributes, for reasons detailed\nin the removed comment below.  The first mkfs-created\ninodes would not get extra_i_size or the EXT3_STATE_XATTR\nflag set in ext3_read_inode, which disallowed reading or\nsetting in-inode EAs on the root.\n\nHowever, in ext4, ext4_mark_inode_dirty calls\next4_expand_extra_isize for all inodes; once this is done\nEAs may be placed in the root ext4 inode body.\n\nBut for reasons above, it won\u0027t be found after a reboot.\n\ntestcase:\n\nsetfattr -n user.name -v value mntpt/\nsetfattr -n user.name2 -v value2 mntpt/\numount mntpt/; remount mntpt/\ngetfattr -d mntpt/\n\nname2/value2 has gone missing; debugfs shows it in the\ninode body, but it is not found there by getattr.\n\nThe following fixes it up; newer mkfs appears to properly\nzero the inodes, so this workaround isn\u0027t needed for ext4.\n\nSigned-off-by: Eric Sandeen \u003csandeen@redhat.com\u003e\nSigned-off-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "42a10add852e6291a7544afd8a286622a3e6ae76",
      "tree": "3acf1bdd712f1a53181b1b386c4be8ab0fa58713",
      "parents": [
        "b8356c465b42c162f34b5fd4102a6c27cec36f43"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Sun Feb 10 01:07:28 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sun Feb 10 01:07:28 2008 -0500"
      },
      "message": "ext4: Fix null bh pointer dereference in mballoc\n\nRepoted by Adrian Bunk \u003cbunk@kernel.org\u003e:\n\nThe Coverity checker spotted the following NULL dereference:\n\nstatic int ext4_mb_mark_diskspace_used\n{\n\t...\n\tif (!bitmap_bh)\n\t\tgoto out_err;\n\t...\nout_err:\n\tsb-\u003es_dirt \u003d 1;\n\tput_bh(bitmap_bh);\n\t...\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n"
    },
    {
      "commit": "c773633916c66f8362ca01983d97bd33e35b743f",
      "tree": "4c3da7d614c530d851db6b3c6bcc3d85519feeb3",
      "parents": [
        "9692bd9c140618e3f6a2848900aee96c9cd8a65c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Feb 05 14:22:58 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 14:37:15 2008 -0800"
      },
      "message": "deprecate smbfs in favour of cifs\n\nsmbfs is a bit buggy and has no maintainer.  Change it to shout at the user on\nthe first five mount attempts - tell them to switch to CIFS.\n\nCome December we\u0027ll mark it BROKEN and see what happens.\n\n[olecom@flower.upol.cz: documentation update]\nCc: Urban Widmark \u003curban@teststation.com\u003e\nAcked-by: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Oleg Verych \u003colecom@flower.upol.cz\u003e\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d7b88513c504e49d450b0f89f80ba9d451a3c804",
      "tree": "12af1040a75fd1909f30f5d3ebbdddb0d246b6c3",
      "parents": [
        "c5d4bb171cab17576779a51d23d313abcb3db102"
      ],
      "author": {
        "name": "Dominique Quatravaux",
        "email": "dominique@quatravaux.org",
        "time": "Mon Feb 04 22:31:15 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:30 2008 -0800"
      },
      "message": "uml: fix hostfs tv_usec calculations\n\nTo convert from tv_nsec to tv_usec, one needs to divide by 1000, not multiply.\n\nSigned-off-by: Dominique Quatravaux \u003cdominique@quatravaux.org\u003e\nSigned-off-by: Jeff Dike \u003cjdike@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e338d263a76af78fe8f38a72131188b58fceb591",
      "tree": "f3f046fc6fd66de43de7191830f0daf3bc4ec8eb",
      "parents": [
        "8f6936f4d29aa14e54a2470b954a2e1f96322988"
      ],
      "author": {
        "name": "Andrew Morgan",
        "email": "morgan@kernel.org",
        "time": "Mon Feb 04 22:29:42 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "Add 64-bit capability support to the kernel\n\nThe patch supports legacy (32-bit) capability userspace, and where possible\ntranslates 32-bit capabilities to/from userspace and the VFS to 64-bit\nkernel space capabilities.  If a capability set cannot be compressed into\n32-bits for consumption by user space, the system call fails, with -ERANGE.\n\nFWIW libcap-2.00 supports this change (and earlier capability formats)\n\n http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.6/\n\n[akpm@linux-foundation.org: coding-syle fixes]\n[akpm@linux-foundation.org: use get_task_comm()]\n[ezk@cs.sunysb.edu: build fix]\n[akpm@linux-foundation.org: do not initialise statics to 0 or NULL]\n[akpm@linux-foundation.org: unused var]\n[serue@us.ibm.com: export __cap_ symbols]\nSigned-off-by: Andrew G. Morgan \u003cmorgan@kernel.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Erez Zadok \u003cezk@cs.sunysb.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bea58053f206be9a89ca35850f9ad295dac2042",
      "tree": "50df31f6b7e8d38ac0988a523e331babb6462216",
      "parents": [
        "42492594043d621a7910ff5877c3eb9202870b45"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Mon Feb 04 22:29:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "VFS: Reorder vfs_getxattr to avoid unnecessary calls to the LSM\n\nOriginally vfs_getxattr would pull the security xattr variable using\nthe inode getxattr handle and then proceed to clobber it with a subsequent call\nto the LSM.\n\nThis patch reorders the two operations such that when the xattr requested is\nin the security namespace it first attempts to grab the value from the LSM\ndirectly.\n\nIf it fails to obtain the value because there is no module present or the\nmodule does not support the operation it will fall back to using the inode\ngetxattr operation.\n\nIn the event that both are inaccessible it returns EOPNOTSUPP.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42492594043d621a7910ff5877c3eb9202870b45",
      "tree": "9188d112c019a189606847dc1d90ccc63c1bacf2",
      "parents": [
        "3729145821e3088a0c3c4183037fde356204bf97"
      ],
      "author": {
        "name": "David P. Quigley",
        "email": "dpquigl@tycho.nsa.gov",
        "time": "Mon Feb 04 22:29:39 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:20 2008 -0800"
      },
      "message": "VFS/Security: Rework inode_getsecurity and callers to return resulting buffer\n\nThis patch modifies the interface to inode_getsecurity to have the function\nreturn a buffer containing the security blob and its length via parameters\ninstead of relying on the calling function to give it an appropriately sized\nbuffer.\n\nSecurity blobs obtained with this function should be freed using the\nrelease_secctx LSM hook.  This alleviates the problem of the caller having to\nguess a length and preallocate a buffer for this function allowing it to be\nused elsewhere for Labeled NFS.\n\nThe patch also removed the unused err parameter.  The conversion is similar to\nthe one performed by Al Viro for the security_getprocattr hook.\n\nSigned-off-by: David P. Quigley \u003cdpquigl@tycho.nsa.gov\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bc3be2751b4f74ab90a446da1912fd8204d53f7",
      "tree": "2bc514025a906203244d98de70fb6bd87f3ac9ac",
      "parents": [
        "a322f8ab66f50b6c0dcdb59abae84fede7a5fded"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Mon Feb 04 22:29:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:19 2008 -0800"
      },
      "message": "writeback: speed up writeback of big dirty files\n\nAfter making dirty a 100M file, the normal behavior is to start the\nwriteback for all data after 30s delays.  But sometimes the following\nhappens instead:\n\n\t- after 30s:    ~4M\n\t- after 5s:     ~4M\n\t- after 5s:     all remaining 92M\n\nSome analyze shows that the internal io dispatch queues goes like this:\n\n\t\ts_io            s_more_io\n\t\t-------------------------\n\t1)\t100M,1K         0\n\t2)\t1K              96M\n\t3)\t0               96M\n1) initial state with a 100M file and a 1K file\n\n2) 4M written, nr_to_write \u003c\u003d 0, so write more\n\n3) 1K written, nr_to_write \u003e 0, no more writes(BUG)\n\nnr_to_write \u003e 0 in (3) fools the upper layer to think that data have all\nbeen written out.  The big dirty file is actually still sitting in\ns_more_io.  We cannot simply splice s_more_io back to s_io as soon as s_io\nbecomes empty, and let the loop in generic_sync_sb_inodes() continue: this\nmay starve newly expired inodes in s_dirty.  It is also not an option to\ndraw inodes from both s_more_io and s_dirty, an let the loop go on: this\nmight lead to live locks, and might also starve other superblocks in sync\ntime(well kupdate may still starve some superblocks, that\u0027s another bug).\n\nWe have to return when a full scan of s_io completes.  So nr_to_write \u003e 0\ndoes not necessarily mean that \"all data are written\".  This patch\nintroduces a flag writeback_control.more_io to indicate that more io should\nbe done.  With it the big dirty file no longer has to wait for the next\nkupdate invokation 5s later.\n\nIn sync_sb_inodes() we only set more_io on super_blocks we actually\nvisited.  This avoids the interaction between two pdflush deamons.\n\nAlso in __sync_single_inode() we don\u0027t blindly keep requeuing the io if the\nfilesystem cannot progress.  Failing to do so may lead to 100% iowait.\n\nTested-by: Mike Snitzer \u003csnitzer@gmail.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d544564f9954860235db97df2e549a66c61f557",
      "tree": "b539ab01562ae5b92ce365afd32e8fbab74a7e11",
      "parents": [
        "5a9bbdcd29adbb786c53eba1dfc3c2d256020d6b"
      ],
      "author": {
        "name": "Qi Yong",
        "email": "qiyong@fc-cn.com",
        "time": "Mon Feb 04 22:29:23 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "skip writing data pages when inode is under I_SYNC\n\nSince I_SYNC was split out from I_LOCK, the concern in commit\n4b89eed93e0fa40a63e3d7b1796ec1337ea7a3aa (\"Write back inode data pages\neven when the inode itself is locked\") is not longer valid.\n\nWe should revert to the original behavior: in __writeback_single_inode(),\nwhen we find an I_SYNC-ed inode and we\u0027re not doing a data-integrity sync,\nskip writing entirely.  Otherwise, we are double calling do_writepages()\n\nSigned-off-by: Qi Yong \u003cqiyong@fc-cn.com\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Joern Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nCc: WU Fengguang \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Michael Rubin \u003cmrubin@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7766755a2f249e7e0dabc5255a0a3d151ff79821",
      "tree": "0f9d130d3f8107c77ed61b75f4745dc86e36d457",
      "parents": [
        "195cf453d2c3d789cbe80e3735755f860c2fb222"
      ],
      "author": {
        "name": "Andrea Arcangeli",
        "email": "andrea@suse.de",
        "time": "Mon Feb 04 22:29:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:18 2008 -0800"
      },
      "message": "Fix /proc dcache deadlock in do_exit\n\nThis patch fixes a sles9 system hang in start_this_handle from a customer\nwith some heavy workload where all tasks are waiting on kjournald to commit\nthe transaction, but kjournald waits on t_updates to go down to zero (it\nnever does).\n\nThis was reported as a lowmem shortage deadlock but when checking the debug\ndata I noticed the VM wasn\u0027t under pressure at all (well it was really\nunder vm pressure, because lots of tasks hanged in the VM prune_dcache\nmethods trying to flush dirty inodes, but no task was hanging in GFP_NOFS\nmode, the holder of the journal handle should have if this was a vm issue\nin the first place).\n\nNo task was apparently holding the leftover handle in the committing\ntransaction, so I deduced t_updates was stuck to 1 because a journal_stop\nwas never run by some path (this turned out to be correct).  With a debug\npatch adding proper reverse links and stack trace logging in ext3 deployed\nin production, I found journal_stop is never run because\nmark_inode_dirty_sync is called inside release_task called by do_exit.\n(that was quite fun because I would have never thought about this\nsubtleness, I thought a regular path in ext3 had a bug and it forgot to\ncall journal_stop)\n\ndo_exit-\u003erelease_task-\u003emark_inode_dirty_sync-\u003eschedule() (will never\ncome back to run journal_stop)\n\nThe reason is that shrink_dcache_parent is racy by design (feature not\na bug) and it can do blocking I/O in some case, but the point is that\ncalling shrink_dcache_parent at the last stage of do_exit isn\u0027t safe\nfor self-reaping tasks.\n\nI guess the memory pressure of the unbalanced highmem system allowed\nto trigger this more easily.\n\nNow mainline doesn\u0027t have this line in iput (like sles9 has):\n\n    \t     if (inode-\u003ei_state \u0026 I_DIRTY_DELAYED)\n\t     \t\t\tmark_inode_dirty_sync(inode);\n\nso it will probably not crash with ext3, but for example ext2 implements an\nI/O-blocking ext2_put_inode that will lead to similar screwups with\next2_free_blocks never coming back and it\u0027s definitely wrong to call\nblocking-IO paths inside do_exit.  So this should fix a subtle bug in\nmainline too (not verified in practice though).  The equivalent fix for\next3 is also not verified yet to fix the problem in sles9 but I don\u0027t have\ndoubt it will (it usually takes days to crash, so it\u0027ll take weeks to be\nsure).\n\nAn alternate fix would be to offload that work to a kernel thread, but I\ndon\u0027t think a reschedule for this is worth it, the vm should be able to\ncollect those entries for the synchronous release_task.\n\nSigned-off-by: Andrea Arcangeli \u003candrea@suse.de\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1e88328111aae3ea408f346763ba9f9bad71f876",
      "tree": "22be92057a7426ca5b6c8ee9b136bbc417c902a8",
      "parents": [
        "304daa8132a95e998b6716d4b7bd8bd76aa152b2"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:07 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: make page monitoring /proc file optional\n\nMake /proc/ page monitoring configurable\n\nThis puts the following files under an embedded config option:\n\n/proc/pid/clear_refs\n/proc/pid/smaps\n/proc/pid/pagemap\n/proc/kpagecount\n/proc/kpageflags\n\n[akpm@linux-foundation.org: Kconfig fix]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "304daa8132a95e998b6716d4b7bd8bd76aa152b2",
      "tree": "21f37f8eb40518b3300b5c0967cf3867c7f18aae",
      "parents": [
        "161f47bf41c5ece90ac53cbb6a4cb9bf74ce0ef6"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:06 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: add /proc/kpageflags interface\n\nThis makes a subset of physical page flags available to userspace. Together\nwith /proc/pid/kpagemap, this allows tracking of a wide variety of VM behaviors.\n\nExported flags are decoupled from the kernel\u0027s internal flags. This\nallows us to reorder flag bits, and synthesize any bits that get\nredefined in terms of other bits.\n\n[akpm@linux-foundation.org: remove unneeded access_ok()]\n[akpm@linux-foundation.org: s/0/NULL/]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "161f47bf41c5ece90ac53cbb6a4cb9bf74ce0ef6",
      "tree": "f6f18c3eb74faf8b2b8de27b42241e9986bd6dc9",
      "parents": [
        "85863e475e59afb027b0113290e3796ee6020b7d"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:05 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:17 2008 -0800"
      },
      "message": "maps4: add /proc/kpagecount interface\n\nThis makes physical page map counts available to userspace. Together\nwith /proc/pid/pagemap and /proc/pid/clear_refs, this can be used to\nmonitor memory usage on a per-page basis.\n\n[akpm@linux-foundation.org: remove unneeded access_ok()]\n[bunk@stusta.de: make struct proc_kpagemap static]\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "85863e475e59afb027b0113290e3796ee6020b7d",
      "tree": "047cc687b98c0261bd3c083f17c090fbf082355f",
      "parents": [
        "a6198797cc3fd659b2d81cdf6bb6b9bba9cd93e9"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: add /proc/pid/pagemap interface\n\nThis interface provides a mapping for each page in an address space to its\nphysical page frame number, allowing precise determination of what pages are\nmapped and what pages are shared between processes.\n\nNew in this version:\n\n- headers gone again (as recommended by Dave Hansen and Alan Cox)\n- 64-bit entries (as per discussion with Andi Kleen)\n- swap pte information exported (from Dave Hansen)\n- page walker callback for holes (from Dave Hansen)\n- direct put_user I/O (as suggested by Rusty Russell)\n\nThis patch folds in cleanups and swap PTE support from Dave Hansen\n\u003chaveblue@us.ibm.com\u003e.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6198797cc3fd659b2d81cdf6bb6b9bba9cd93e9",
      "tree": "da256154b9c764067aadd2738d9083d38a6f1882",
      "parents": [
        "f248dcb34d7b7ac255db70071a20be9d9c6ad491"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: regroup task_mmu by interface\n\nReorder source so that all the code and data for each interface is together.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f248dcb34d7b7ac255db70071a20be9d9c6ad491",
      "tree": "ec7c7fb115e40b4a337af98a6f9f2ad5db9af1f0",
      "parents": [
        "4752c369789250eafcd7813e11c8fb689235b0d2"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: move clear_refs code to task_mmu.c\n\nThis puts all the clear_refs code where it belongs and probably lets things\ncompile on MMU-less systems as well.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4752c369789250eafcd7813e11c8fb689235b0d2",
      "tree": "24fda864f4962f18fd8e118271f1d8c4ec633024",
      "parents": [
        "b3ae5acbbb98d95c1300c8ced56d15f97d09c506"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:02 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: simplify interdependence of maps and smaps\n\nThis pulls the shared map display code out of show_map and puts it in\nshow_smap where it belongs.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3ae5acbbb98d95c1300c8ced56d15f97d09c506",
      "tree": "e8a159c7c3309564458f7dea955b6a9daf948b61",
      "parents": [
        "e6473092bd9116583ce9ab8cf1b6570e1aa6fc83"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Mon Feb 04 22:29:01 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: use pagewalker in clear_refs and smaps\n\nUse the generic pagewalker for smaps and clear_refs\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec4dd3eb35759f9fbeb5c1abb01403b2fde64cc9",
      "tree": "0eaf4d91180556df61da6300463d946390ce55fb",
      "parents": [
        "61d5048f149572434daee0cce5e1374a8a7cf3e8"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Mon Feb 04 22:28:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:16 2008 -0800"
      },
      "message": "maps4: add proportional set size accounting in smaps\n\nThe \"proportional set size\" (PSS) of a process is the count of pages it has\nin memory, where each page is divided by the number of processes sharing\nit.  So if a process has 1000 pages all to itself, and 1000 shared with one\nother process, its PSS will be 1500.\n\n               - lwn.net: \"ELC: How much memory are applications really using?\"\n\nThe PSS proposed by Matt Mackall is a very nice metic for measuring an\nprocess\u0027s memory footprint.  So collect and export it via\n/proc/\u003cpid\u003e/smaps.\n\nMatt Mackall\u0027s pagemap/kpagemap and John Berthels\u0027s exmap can also do the\njob.  They are comprehensive tools.  But for PSS, let\u0027s do it in the simple\nway.\n\nCc: John Berthels \u003cjjberthels@gmail.com\u003e\nCc: Bernardo Innocenti \u003cbernie@codewiz.org\u003e\nCc: Padraig Brady \u003cP@draigBrady.com\u003e\nCc: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Balbir Singh \u003cbalbir@linux.vnet.ibm.com\u003e\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Dave Hansen \u003chaveblue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "75897d60a54ccee94253312107f941a83b5077cb",
      "tree": "9c3ece84bfdaf6742457d665415cf6a7b6dd1591",
      "parents": [
        "b98938c373117043598002f197200d7ed08acd49"
      ],
      "author": {
        "name": "Ken Chen",
        "email": "kenchen@google.com",
        "time": "Mon Feb 04 22:28:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "hugetlb: allow sticky directory mount option\n\nAllow sticky directory mount option for hugetlbfs.  This allows admin\nto create a shared hugetlbfs mount point for multiple users, while\nprevent accidental file deletion that users may step on each other.\nIt is similiar to default tmpfs mount option, or typical option used\non /tmp.\n\nSigned-off-by: Ken Chen \u003ckenchen@google.com\u003e\nCc: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nCc: Adam Litke \u003cagl@us.ibm.com\u003e\nCc: David Gibson \u003chermes@gibson.dropbear.id.au\u003e\nCc: William Lee Irwin III \u003cwli@holomorphy.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b98938c373117043598002f197200d7ed08acd49",
      "tree": "da9356af43085db78cafec82505c3341d6291201",
      "parents": [
        "aec2c3ed01ed54d0cdf7f6b7c4be217c045ac5ea"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:36 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "bufferhead: revert constructor removal\n\nThe constructor for buffer_head slabs was removed recently.  We need the\nconstructor back in slab defrag in order to insure that slab objects always\nhave a definite state even before we allocated them.\n\nI think we mistakenly merged the removal of the constuctor into a cleanup\npatch.  You (ie: akpm) had a test that showed that the removal of the\nconstructor led to a small regression.  The prior state makes things easier\nfor slab defrag.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e2779fa281cfda13ac060753d674bbcaa23367e",
      "tree": "e2af17d69b71e0f8b3f00fe949cb8abfba4298ed",
      "parents": [
        "0b7a96114bd5991d355a1f1c1d3d9c0c9d9c1cfc"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:14 2008 -0800"
      },
      "message": "is_vmalloc_addr(): Check if an address is within the vmalloc boundaries\n\nChecking if an address is a vmalloc address is done in a couple of places.\nDefine a common version in mm.h and replace the other checks.\n\nAgain the include structures suck.  The definition of VMALLOC_START and\nVMALLOC_END is not available in vmalloc.h since highmem.c cannot be included\nthere.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
      "tree": "207eead3a736963c3e50942038c463f2f611ccce",
      "parents": [
        "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Mon Feb 04 22:28:29 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:13 2008 -0800"
      },
      "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d672e7ac79b5ec5cdc90e450823441e20464691",
      "tree": "66da3aa0bf7f7ac80376a93f17edbb2246b2df06",
      "parents": [
        "5e05ad7d4e3b11f935998882b5d9c3b257137f1b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Mon Feb 04 22:27:26 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "timerfd: new timerfd API\n\nThis is the new timerfd API as it is implemented by the following patch:\n\nint timerfd_create(int clockid, int flags);\nint timerfd_settime(int ufd, int flags,\n\t\t    const struct itimerspec *utmr,\n\t\t    struct itimerspec *otmr);\nint timerfd_gettime(int ufd, struct itimerspec *otmr);\n\nThe timerfd_create() API creates an un-programmed timerfd fd.  The \"clockid\"\nparameter can be either CLOCK_MONOTONIC or CLOCK_REALTIME.\n\nThe timerfd_settime() API give new settings by the timerfd fd, by optionally\nretrieving the previous expiration time (in case the \"otmr\" parameter is not\nNULL).\n\nThe time value specified in \"utmr\" is absolute, if the TFD_TIMER_ABSTIME bit\nis set in the \"flags\" parameter.  Otherwise it\u0027s a relative time.\n\nThe timerfd_gettime() API returns the next expiration time of the timer, or\n{0, 0} if the timerfd has not been set yet.\n\nLike the previous timerfd API implementation, read(2) and poll(2) are\nsupported (with the same interface).  Here\u0027s a simple test program I used to\nexercise the new timerfd APIs:\n\nhttp://www.xmailserver.org/timerfd-test2.c\n\n[akpm@linux-foundation.org: coding-style cleanups]\n[akpm@linux-foundation.org: fix ia64 build]\n[akpm@linux-foundation.org: fix m68k build]\n[akpm@linux-foundation.org: fix mips build]\n[akpm@linux-foundation.org: fix alpha, arm, blackfin, cris, m68k, s390, sparc and sparc64 builds]\n[heiko.carstens@de.ibm.com: fix s390]\n[akpm@linux-foundation.org: fix powerpc build]\n[akpm@linux-foundation.org: fix sparc64 more]\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ed5d2cac114202fe2978a9cbcab8f5032796d538",
      "tree": "aa9aaea1aa0945bd9159685d1b04897d105a90c9",
      "parents": [
        "f558b7e408026eb3c6afcd0e8fc1f7fe31195a6a"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@tv-sign.ru",
        "time": "Mon Feb 04 22:27:24 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "exec: rework the group exit and fix the race with kill\n\nAs Roland pointed out, we have the very old problem with exec.  de_thread()\nsets SIGNAL_GROUP_EXIT, kills other threads, changes -\u003egroup_leader and then\nclears signal-\u003eflags.  All signals (even fatal ones) sent in this window\n(which is not too small) will be lost.\n\nWith this patch exec doesn\u0027t abuse SIGNAL_GROUP_EXIT.  signal_group_exit(),\nthe new helper, should be used to detect exit_group() or exec() in progress.\nIt can have more users, but this patch does only strictly necessary changes.\n\nSigned-off-by: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Robin Holt \u003cholt@sgi.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59714d65dfbc86d5cb93adc5bac57a921cc2fa84",
      "tree": "10eda85ccab88fb707d6c6b4f4fb7f2e9bd1f4e1",
      "parents": [
        "0ccf831cbee94df9c5006dd46248c0f07847dd7c"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Feb 04 22:27:21 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "get_task_comm(): return the result\n\nIt was dumb to make get_task_comm() return void.  Change it to return a\npointer to the resulting output for caller convenience.\n\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ccf831cbee94df9c5006dd46248c0f07847dd7c",
      "tree": "4de8d53c51dc4aff80f35a95cdd185229f0df79e",
      "parents": [
        "96cf49a2c13e8dcf442abaadf6645f6a1fb3ae92"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Mon Feb 04 22:27:20 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Feb 05 09:44:07 2008 -0800"
      },
      "message": "lockdep: annotate epoll\n\nOn Sat, 2008-01-05 at 13:35 -0800, Davide Libenzi wrote:\n\n\u003e I remember I talked with Arjan about this time ago. Basically, since 1)\n\u003e you can drop an epoll fd inside another epoll fd 2) callback-based wakeups\n\u003e are used, you can see a wake_up() from inside another wake_up(), but they\n\u003e will never refer to the same lock instance.\n\u003e Think about:\n\u003e\n\u003e \tdfd \u003d socket(...);\n\u003e \tefd1 \u003d epoll_create();\n\u003e \tefd2 \u003d epoll_create();\n\u003e \tepoll_ctl(efd1, EPOLL_CTL_ADD, dfd, ...);\n\u003e \tepoll_ctl(efd2, EPOLL_CTL_ADD, efd1, ...);\n\u003e\n\u003e When a packet arrives to the device underneath \"dfd\", the net code will\n\u003e issue a wake_up() on its poll wake list. Epoll (efd1) has installed a\n\u003e callback wakeup entry on that queue, and the wake_up() performed by the\n\u003e \"dfd\" net code will end up in ep_poll_callback(). At this point epoll\n\u003e (efd1) notices that it may have some event ready, so it needs to wake up\n\u003e the waiters on its poll wait list (efd2). So it calls ep_poll_safewake()\n\u003e that ends up in another wake_up(), after having checked about the\n\u003e recursion constraints. That are, no more than EP_MAX_POLLWAKE_NESTS, to\n\u003e avoid stack blasting. Never hit the same queue, to avoid loops like:\n\u003e\n\u003e \tepoll_ctl(efd2, EPOLL_CTL_ADD, efd1, ...);\n\u003e \tepoll_ctl(efd3, EPOLL_CTL_ADD, efd2, ...);\n\u003e \tepoll_ctl(efd4, EPOLL_CTL_ADD, efd3, ...);\n\u003e \tepoll_ctl(efd1, EPOLL_CTL_ADD, efd4, ...);\n\u003e\n\u003e The code \"if (tncur-\u003ewq \u003d\u003d wq || ...\" prevents re-entering the same\n\u003e queue/lock.\n\nSince the epoll code is very careful to not nest same instance locks\nallow the recursion.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nAcked-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8356c465b42c162f34b5fd4102a6c27cec36f43",
      "tree": "806034b9694b04341888f7bfcaf118fe73e75b71",
      "parents": [
        "4d605179723a3fb8ba594d9516897426e6629a5b"
      ],
      "author": {
        "name": "Valerie Clement",
        "email": "valerie.clement@bull.net",
        "time": "Tue Feb 05 10:56:37 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 05 10:56:37 2008 -0500"
      },
      "message": "ext4: Don\u0027t set EXTENTS_FL flag for fast symlinks\n\nFor fast symbolic links, the file content is stored in the i_block[]\narray, which is not compatible with the new file extents format.\ne2fsck reports error on such files because EXTENTS_FL is set.\nDon\u0027t set the EXTENTS_FL flag when creating fast symlinks.\n\nIn the case of file migration, skip fast symbolic links.\n\nSigned-off-by: Valerie Clement \u003cvalerie.clement@bull.net\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "4d605179723a3fb8ba594d9516897426e6629a5b",
      "tree": "42f7b1a77dcb9a7c348a3ebde0c49f9e8878a707",
      "parents": [
        "c4b8e635f525441b9cb0bab428b527858d977e8f"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Feb 05 10:56:15 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 05 10:56:15 2008 -0500"
      },
      "message": "JBD2: Use the incompat macro for testing the incompat feature.\n\nJBD2_FEATURE_INCOMPAT_ASYNC_COMMIT needs to be checked with\nJBD2_HAS_INCOMPAT_FEATURE\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n"
    },
    {
      "commit": "c4b8e635f525441b9cb0bab428b527858d977e8f",
      "tree": "3ebf433583c1a456d251fdcffd524fdc2f5518d3",
      "parents": [
        "5315217efea54a07950758005686adedb8e8e680"
      ],
      "author": {
        "name": "Aneesh Kumar K.V",
        "email": "aneesh.kumar@linux.vnet.ibm.com",
        "time": "Tue Feb 05 10:55:26 2008 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Feb 05 10:55:26 2008 -0500"
      },
      "message": "jbd2: Fix reference counting on the journal commit block\u0027s buffer head\n\nWith journal checksum patch we added asynchronous commits of journal\ncommit headers, and accidentally dropped taking a reference on the\nbuffer head.\n\n(Before the change, sync_dirty_buffer did the get_bh(). The associative\nput_bh is done by journal_wait_on_commit_record().)\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n"
    },
    {
      "commit": "f5bb3a5e9dcdb8435471562b6cada89525cf4df1",
      "tree": "7b7cf9b90bacd0e2fe07cb3387516e9243f1ab66",
      "parents": [
        "9853832c49dc1685587abeb4e1decd4be690d256",
        "1560a79a2c2ea0c3826150da8029991d685de990"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:52 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)\n  Jesper Juhl is the new trivial patches maintainer\n  Documentation: mention email-clients.txt in SubmittingPatches\n  fs/binfmt_elf.c: spello fix\n  do_invalidatepage() comment typo fix\n  Documentation/filesystems/porting fixes\n  typo fixes in net/core/net_namespace.c\n  typo fix in net/rfkill/rfkill.c\n  typo fixes in net/sctp/sm_statefuns.c\n  lib/: Spelling fixes\n  kernel/: Spelling fixes\n  include/scsi/: Spelling fixes\n  include/linux/: Spelling fixes\n  include/asm-m68knommu/: Spelling fixes\n  include/asm-frv/: Spelling fixes\n  fs/: Spelling fixes\n  drivers/watchdog/: Spelling fixes\n  drivers/video/: Spelling fixes\n  drivers/ssb/: Spelling fixes\n  drivers/serial/: Spelling fixes\n  drivers/scsi/: Spelling fixes\n  ...\n"
    },
    {
      "commit": "9853832c49dc1685587abeb4e1decd4be690d256",
      "tree": "13510327f85b8d8c238728b47ae74e0fa5299e17",
      "parents": [
        "b21761ff18c0eba67e8f2886b3c0b9cae79b5249",
        "ab1f16116527e42dec8aee176d673a41a881b809"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:03 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:58:03 2008 -0800"
      },
      "message": "Merge branch \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027locks\u0027 of git://linux-nfs.org/~bfields/linux:\n  pid-namespaces-vs-locks-interaction\n  file locks: Use wait_event_interruptible_timeout()\n  locks: clarify posix_locks_deadlock\n"
    },
    {
      "commit": "2f98735c9c24ea1f0d40a364d4e63611b689b795",
      "tree": "a42b3802449af474d36cda3b6f9fb190a717defb",
      "parents": [
        "fe2528b96b02173395f5a75e37714c07f3e25e73"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sat Feb 02 03:08:53 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 04 07:55:38 2008 -0800"
      },
      "message": "vm audit: add VM_DONTEXPAND to mmap for drivers that need it\n\nDrivers that register a -\u003efault handler, but do not range-check the\noffset argument, must set VM_DONTEXPAND in the vm_flags in order to\nprevent an expanding mremap from overflowing the resource.\n\nI\u0027ve audited the tree and attempted to fix these problems (usually by\nadding VM_DONTEXPAND where it is not obvious).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab1f16116527e42dec8aee176d673a41a881b809",
      "tree": "0d20fa10151e43f9f104986a2b89ec88ca0135af",
      "parents": [
        "4321e01e7dce8042758349ffa2929c723b0d4107"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Thu Jan 17 00:07:08 2008 +0000"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 03 17:51:36 2008 -0500"
      },
      "message": "pid-namespaces-vs-locks-interaction\n\nfcntl(F_GETLK,..) can return pid of process for not current pid namespace\n(if process is belonged to the several namespaces).  It is true also for\npids in /proc/locks.  So correct behavior is saving pointer to the struct\npid of the process lock owner.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4321e01e7dce8042758349ffa2929c723b0d4107",
      "tree": "32b7b1a4af4b28c3ce1fc013bc7a2da4f2e21fde",
      "parents": [
        "b533184fc353d4a2d07929b4ac424a6f1bf5a3b9"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Mon Jan 14 21:28:30 2008 -0700"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 03 17:51:36 2008 -0500"
      },
      "message": "file locks: Use wait_event_interruptible_timeout()\n\ninterruptible_sleep_on_locked() is just an open-coded\nwait_event_interruptible_timeout(), with the one difference that\ninterruptible_sleep_on_locked() doesn\u0027t bother to check the condition on\nwhich it is waiting, depending instead on the BKL to avoid the case\nwhere it blocks after the wakeup has already been called.\n\nlocks_block_on_timeout() is only used in one place, so it\u0027s actually\nsimpler to inline it into its caller.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b533184fc353d4a2d07929b4ac424a6f1bf5a3b9",
      "tree": "502634d5810735bcaea8666bdadf9bc0b6abc216",
      "parents": [
        "9135f1901ee6449dfe338adf6e40e9c2025b8150"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 26 18:05:40 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Feb 03 17:51:36 2008 -0500"
      },
      "message": "locks: clarify posix_locks_deadlock\n\nFor such a short function (with such a long comment),\nposix_locks_deadlock() seems to cause a lot of confusion.  Attempt to\nmake it a bit clearer:\n\n\t- Remove the initial posix_same_owner() check, which can never\n\t  pass (since this is only called in the case that block_fl and\n\t  caller_fl conflict)\n\t- Use an explicit loop (and a helper function) instead of a goto.\n\t- Rewrite the comment, attempting a clearer explanation, and\n\t  removing some uninteresting historical detail.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "09c6dd3c9d99b63608dc77dc462d4a5a3785f620",
      "tree": "b7d8e32a11e960eed66b54855f4837805f00142d",
      "parents": [
        "28bc44d7d1d967b8251214dd7a130d523b5ba5ee"
      ],
      "author": {
        "name": "Ohad Ben-Cohen",
        "email": "ohad@bencohen.org",
        "time": "Sun Feb 03 18:05:15 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 18:05:15 2008 +0200"
      },
      "message": "fs/binfmt_elf.c: spello fix\n\ns/litle/little\n\nSigned-off-by: Ohad Ben-Cohen \u003cohad@bencohen.org\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "c78bad11fbf1272ea021f56458025dc98486d6f4",
      "tree": "7ac1cc64d3429c3b3c52e707212d5a0711a9a9d1",
      "parents": [
        "ee0fc097ef47a4a6ff6b4800f2391030131b7828"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Feb 03 17:33:42 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:33:42 2008 +0200"
      },
      "message": "fs/: Spelling fixes\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "efad798b9f01300565f65058b153250cc49d58f2",
      "tree": "f425b1fad94ca5eb384f4df9418450afb163bcae",
      "parents": [
        "0cadfc09534033e2b9694bd2d226b5dcfebd6704"
      ],
      "author": {
        "name": "Paulius Zaleckas",
        "email": "pauliusz@yahoo.com",
        "time": "Sun Feb 03 15:42:53 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:42:53 2008 +0200"
      },
      "message": "Spelling fixes: lenght-\u003elength\n\nSigned-off-by: Paulius Zaleckas \u003cpauliusz@yahoo.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "e1b8513d21845fbeb93d6d2c4973db874385059f",
      "tree": "b2bf0b3bd68f484add7a41475714ec6ee7718ea2",
      "parents": [
        "14e4a0f2bb242f8008bc70b55fa834292c6a62af"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sun Feb 03 15:14:02 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:14:02 2008 +0200"
      },
      "message": "Typoes:  \"whith\" -\u003e \"with\"\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "14e4a0f2bb242f8008bc70b55fa834292c6a62af",
      "tree": "325c507c57e4cb25cc2659869297558ffbb0a2e6",
      "parents": [
        "96532babc3e2ec4e0fce891d64319f183f043855"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@crashcourse.ca",
        "time": "Sun Feb 03 15:12:15 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 15:12:15 2008 +0200"
      },
      "message": "Fix a small number of \"memeber\" typoes.\n\nSigned-off-by: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "63e9b66e29357dd12e8b1d3ebf7036e7591f81e3",
      "tree": "5aa6a70a8f4bbf306e2825a1e2fa2660c2c1c187",
      "parents": [
        "687fcdf741e4a268c2c7bac8b3734de761bb9719",
        "ea339d46b93c7b16e067a29aad1812f7a389815a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 02 14:31:28 2008 +1100"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-linus\u0027 of git://linux-nfs.org/~bfields/linux: (100 commits)\n  SUNRPC: RPC program information is stored in unsigned integers\n  SUNRPC: Move exported symbol definitions after function declaration part 2\n  NLM: tear down RPC clients in nlm_shutdown_hosts\n  SUNRPC: spin svc_rqst initialization to its own function\n  nfsd: more careful input validation in nfsctl write methods\n  lockd: minor log message fix\n  knfsd: don\u0027t bother mapping putrootfh enoent to eperm\n  rdma: makefile\n  rdma: ONCRPC RDMA protocol marshalling\n  rdma: SVCRDMA sendto\n  rdma: SVCRDMA recvfrom\n  rdma: SVCRDMA Core Transport Services\n  rdma: SVCRDMA Transport Module\n  rdma: SVCRMDA Header File\n  svc: Add svc_xprt_names service to replace svc_sock_names\n  knfsd: Support adding transports by writing portlist file\n  svc: Add svc API that queries for a transport instance\n  svc: Add /proc/sys/sunrpc/transport files\n  svc: Add transport hdr size for defer/revisit\n  svc: Move the xprt independent code to the svc_xprt.c file\n  ...\n"
    },
    {
      "commit": "d801b861681116ea23a7fb87a70bf463d29c8b9c",
      "tree": "dcc35c5c93461c452942fe5954badd034d8a2939",
      "parents": [
        "0113ab34644649aceaac37ef4b7e5c7d5c183be3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 29 10:30:55 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "NLM: tear down RPC clients in nlm_shutdown_hosts\n\nIt\u0027s possible for a RPC to outlive the lockd daemon that created it, so\nwe need to make sure that all RPC\u0027s are killed when lockd is coming\ndown. When nlm_shutdown_hosts is called, kill off all RPC tasks\nassociated with the host. Since we need to wait until they have all gone\naway, we might as well just shut down the RPC client altogether.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "87d26ea7771ad637035e6bd5a2700d81ee9162da",
      "tree": "c1da6cd6fe03bfadb3276bd30423c7d4b105ef41",
      "parents": [
        "50431d94e732ba71b66a83c5435890728e313095"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Jan 22 17:40:42 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "nfsd: more careful input validation in nfsctl write methods\n\nNeil Brown points out that we\u0027re checking buf[size-1] in a couple places\nwithout first checking whether size is zero.\n\nActually, given the implementation of simple_transaction_get(), buf[-1]\nis zero, so in both of these cases the subsequent check of the value of\nbuf[size-1] will catch this case.\n\nBut it seems fragile to depend on that, so add explicit checks for this\ncase.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "50431d94e732ba71b66a83c5435890728e313095",
      "tree": "4bee956a3f089aac02eafafcbc4a03c138696e6d",
      "parents": [
        "f7b8066f9ff68016489ff6f9fb358aa59bd14e1b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Aug 31 17:09:33 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "lockd: minor log message fix\n\nWendy Cheng noticed that function name doesn\u0027t agree here.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Wendy Cheng \u003cwcheng@redhat.com\u003e\n"
    },
    {
      "commit": "f7b8066f9ff68016489ff6f9fb358aa59bd14e1b",
      "tree": "cf4e6e2d0cefcd9dcd44a65b11f5fcfb28c497c9",
      "parents": [
        "4b8449af75fa2e2d9736ec503a818be626a4e763"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 21 12:20:45 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:15 2008 -0500"
      },
      "message": "knfsd: don\u0027t bother mapping putrootfh enoent to eperm\n\nNeither EPERM and ENOENT map to valid errors for PUTROOTFH according to\nrfc 3530, and, if anything, ENOENT is likely to be slightly more\ninformative; so don\u0027t bother mapping ENOENT to EPERM.  (Probably this\nwas originally done because one likely cause was that there is an fsid\u003d0\nexport but that it isn\u0027t permitted to this particular client.  Now that\nwe allow WRONGSEC returns, this is somewhat less likely.)\n\nIn the long term we should work to make this situation less likely,\nperhaps by turning off nfsv4 service entirely in the absence of the\npseudofs root, or constructing a pseudofilesystem root ourselves in the\nkernel as necessary.\n\nThanks to Benny Halevy \u003cbhalevy@panasas.com\u003e for pointing out this\nproblem.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\n"
    },
    {
      "commit": "9571af18fa1e4a431dc6f6023ddbd87d1112fd5d",
      "tree": "d8eafdea71ea1c13fe9c733442d41857e17901ac",
      "parents": [
        "a217813f9067b785241cb7f31956e51d2071703a"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:37 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:14 2008 -0500"
      },
      "message": "svc: Add svc_xprt_names service to replace svc_sock_names\n\nCreate a transport independent version of the svc_sock_names function.\n\nThe toclose capability of the svc_sock_names service can be implemented\nusing the svc_xprt_find and svc_xprt_close services.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a217813f9067b785241cb7f31956e51d2071703a",
      "tree": "5bda9ab6a461562975506d2100b16db19e3e628b",
      "parents": [
        "7fcb98d58cb4d18af6386f71025fc5192f25fbca"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:35 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "knfsd: Support adding transports by writing portlist file\n\nUpdate the write handler for the portlist file to allow creating new\nlistening endpoints on a transport. The general form of the string is:\n\n\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nThis is intended to support the creation of a listening endpoint for\nRDMA transports without adding #ifdef code to the nfssvc.c file.\n\nTransports can also be removed as follows:\n\n\u0027-\u0027\u003ctransport_name\u003e\u003cspace\u003e\u003cport number\u003e\n\nFor example:\n\necho \"-tcp 2049\" \u003e /proc/fs/nfsd/portlist\n\nAttempting to add a listener with an invalid transport string results\nin EPROTONOSUPPORT and a perror string of \"Protocol not supported\".\n\nAttempting to remove an non-existent listener (.e.g. bad proto or port)\nresults in ENOTCONN and a perror string of\n\"Transport endpoint is not connected\"\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7fcb98d58cb4d18af6386f71025fc5192f25fbca",
      "tree": "7ccd884928c644cebd717306937565fbcdc9dd88",
      "parents": [
        "dc9a16e49dbba3dd042e6aec5d9a7929e099a89b"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:08:33 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:13 2008 -0500"
      },
      "message": "svc: Add svc API that queries for a transport instance\n\nAdd a new svc function that allows a service to query whether a\ntransport instance has already been created. This is used in lockd\nto determine whether or not a transport needs to be created when\na lockd instance is brought up.\n\nSpecifying 0 for the address family or port is effectively a wild-card,\nand will result in matching the first transport in the service\u0027s list\nthat has a matching class name.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "7a18208383ab3f3ce4a1f4e0536acc9372523d81",
      "tree": "851a1cc29d753297c2e7cf4cb4a95c4af7868427",
      "parents": [
        "bb5cf160b282644c4491afbf76fbc66f5dc35030"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:53 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:11 2008 -0500"
      },
      "message": "svc: Make close transport independent\n\nMove sk_list and sk_ready to svc_xprt. This involves close because these\nlists are walked by svcs when closing all their transports. So I combined\nthe moving of these lists to svc_xprt with making close transport independent.\n\nThe svc_force_sock_close has been changed to svc_close_all and takes a list\nas an argument. This removes some svc internals knowledge from the svcs.\n\nThis code races with module removal and transport addition.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "d7c9f1ed972b4a468dd24a2457721704dfe9ca70",
      "tree": "40cd2b38db79df4d90753b58789c3e4bc274095f",
      "parents": [
        "b700cbb11fced2a0e953fdd19eac07ffaad86598"
      ],
      "author": {
        "name": "Tom Tucker",
        "email": "tom@opengridcomputing.com",
        "time": "Sun Dec 30 21:07:44 2007 -0600"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:09 2008 -0500"
      },
      "message": "svc: Change services to use new svc_create_xprt service\n\nModify the various kernel RPC svcs to use the svc_create_xprt service.\n\nSigned-off-by: Tom Tucker \u003ctom@opengridcomputing.com\u003e\nAcked-by: Neil Brown \u003cneilb@suse.de\u003e\nReviewed-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nReviewed-by: Greg Banks \u003cgnb@sgi.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "54ca95eb362d6988a577965ffb77c08702adb890",
      "tree": "a18ff136ce9d530eaa90a42831d9b85a91ab6321",
      "parents": [
        "8838dc43d6544570e8969a74ddc4a0d21abffde6"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "Oleg.Drokin@Sun.COM",
        "time": "Fri Jan 11 21:57:35 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "Leak in nlmsvc_testlock for async GETFL case\n\nFix nlm_block leak for the case of supplied blocking lock info.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "8838dc43d6544570e8969a74ddc4a0d21abffde6",
      "tree": "f3082dd80293fe5279d8ff993d2e0c17a0a2f2b4",
      "parents": [
        "b39c18fce003bb2d5a51a4734d8fdd2c81fa1a78"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Jan 14 13:12:19 2008 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd4: clean up access_valid, deny_valid checks.\n\nDocument these checks a little better and inline, as suggested by Neil\nBrown (note both functions have two callers).  Remove an obviously bogus\ncheck while we\u0027re there (checking whether unsigned value is negative).\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "5c002b3bb294a637312cab7ad92a0deafa05a758",
      "tree": "0183f792fe61fe1bb6a117baf385020feb5b085c",
      "parents": [
        "29dbf546159f5701e11de26fa2da5c4a962e0f83"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 30 16:55:23 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:07 2008 -0500"
      },
      "message": "nfsd: allow root to set uid and gid on create\n\nThe server silently ignores attempts to set the uid and gid on create.\nBased on the comment, this appears to have been done to prevent some\noverly-clever IRIX client from causing itself problems.\n\nPerhaps we should remove that hack completely.  For now, at least, it\nmakes sense to allow root (when no_root_squash is set) to set uid and\ngid.\n\nWhile we\u0027re there, since nfsd_create and nfsd_create_v3 share the same\nlogic, pull that out into a separate function.  And spell out the\nindividual modifications of ia_valid instead of doing them both at once\ninside a conditional.\n\nThanks to Roger Willcocks \u003croger@filmlight.ltd.uk\u003e for the bug report\nand original patch on which this is based.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "29dbf546159f5701e11de26fa2da5c4a962e0f83",
      "tree": "1dcdd1785445cbbf30a159a15b7b1d77f42c51c2",
      "parents": [
        "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "Oleg.Drokin@Sun.COM",
        "time": "Thu Nov 29 14:02:21 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "lockd: fix a leak in nlmsvc_testlock asynchronous request handling\n\nWithout the patch, there is a leakage of nlmblock structure refcount\nthat holds a reference nlmfile structure, that holds a reference to\nstruct file, when async GETFL is used (-EINPROGRESS return from\nfile_ops-\u003elock()), and also in some error cases.\n\nFix up a style nit while we\u0027re here.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "406a7ea97d9dc1a9348ba92c4cd0e7c678185c4c",
      "tree": "bf3d7e7fe94343aad6a57a60917ebecfa64376e7",
      "parents": [
        "39325bd03fc16d903f1e0f51104436d939899c8c"
      ],
      "author": {
        "name": "Frank Filz",
        "email": "ffilzlnx@us.ibm.com",
        "time": "Tue Nov 27 11:34:05 2007 -0800"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: Allow AIX client to read dir containing mountpoints\n\nThis patch addresses a compatibility issue with a Linux NFS server and\nAIX NFS client.\n\nI have exported /export as fsid\u003d0 with sec\u003dkrb5:krb5i\nI have mount --bind /home onto /export/home\nI have exported /export/home with sec\u003dkrb5i\n\nThe AIX client mounts / -o sec\u003dkrb5:krb5i onto /mnt\n\nIf I do an ls /mnt, the AIX client gets a permission error. Looking at\nthe network traceIwe see a READDIR looking for attributes\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID. The response gives a\nNFS4ERR_WRONGSEC which the AIX client is not expecting.\n\nSince the AIX client is only asking for an attribute that is an\nattribute of the parent file system (pseudo root in my example), it\nseems reasonable that there should not be an error.\n\nIn discussing this issue with Bruce Fields, I initially proposed\nignoring the error in nfsd4_encode_dirent_fattr() if all that was being\nasked for was FATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID, however,\nBruce suggested that we avoid calling cross_mnt() if only these\nattributes are requested.\n\nThe following patch implements bypassing cross_mnt() if only\nFATTR4_RDATTR_ERROR and FATTR4_MOUNTED_ON_FILEID are called. Since there\nis some complexity in the code in nfsd4_encode_fattr(), I didn\u0027t want to\nduplicate code (and introduce a maintenance nightmare), so I added a\nparameter to nfsd4_encode_fattr() that indicates whether it should\nignore cross mounts and simply fill in the attribute using the passed in\ndentry as opposed to it\u0027s parent.\n\nSigned-off-by: Frank Filz \u003cffilzlnx@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "39325bd03fc16d903f1e0f51104436d939899c8c",
      "tree": "de63f3c58a3b82d26223e4dfdda1a98570c5a84a",
      "parents": [
        "b7e6b86948df8d08d420558212e09eb449be9bfa"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 26 17:06:39 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: fix bad seqid on lock request incompatible with open mode\n\nThe failure to return a stateowner from nfs4_preprocess_seqid_op() means\nin the case where a lock request is of a type incompatible with an open\n(due to, e.g., an application attempting a write lock on a file open for\nread), means that fs/nfsd/nfs4xdr.c:ENCODE_SEQID_OP_TAIL() never bumps\nthe seqid as it should.  The client, attempting to close the file\nafterwards, then gets an (incorrect) bad sequence id error.  Worse, this\nprevents the open file from ever being closed, so we leak state.\n\nThanks to Benny Halevy and Trond Myklebust for analysis, and to Steven\nWilton for the report and extensive data-gathering.\n\nCc: Benny Halevy \u003cbhalevy@panasas.com\u003e\nCc: Steven Wilton \u003csteven.wilton@team.eftel.com.au\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7e6b86948df8d08d420558212e09eb449be9bfa",
      "tree": "b9bce0e95a93a6b9142b55c647fb0fbe163a2130",
      "parents": [
        "404ec117be5d36e1a4c4582d0c518594333e32df"
      ],
      "author": {
        "name": "Oleg Drokin",
        "email": "green@linuxhacker.ru",
        "time": "Mon Nov 26 13:35:11 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "lockd: fix reference count leaks in async locking case\n\nIn a number of places where we wish only to translate nlm_drop_reply to\nrpc_drop_reply errors we instead return early with rpc_drop_reply,\nskipping some important end-of-function cleanup.\n\nThis results in reference count leaks when lockd is doing posix locking\non GFS2.\n\nSigned-off-by: Oleg Drokin \u003cgreen@linuxhacker.ru\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "404ec117be5d36e1a4c4582d0c518594333e32df",
      "tree": "cdae7b67f896c93130a6a669ca65cffc94079b07",
      "parents": [
        "35bba9a37e68c68a820a1a772f016255c0838f79"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 23 22:26:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: recognize callback channel failure earlier\n\nWhen the callback channel fails, we inform the client of that by\nreturning a cb_path_down error the next time it tries to renew its\nlease.\n\nIf we wait most of a lease period before deciding that a callback has\nfailed and that the callback channel is down, then we decrease the\nchances that the client will find out in time to do anything about it.\n\nSo, mark the channel down as soon as we recognize that an rpc has\nfailed.  However, continue trying to recall delegations anyway, in hopes\nit will come back up.  This will prevent more delegations from being\ngiven out, and ensure cb_path_down is returned to renew calls earlier,\nwhile still making the best effort to deliver recalls of existing\ndelegations.\n\nAlso fix a couple comments and remove a dprink that doesn\u0027t seem likely\nto be useful.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "35bba9a37e68c68a820a1a772f016255c0838f79",
      "tree": "d858441a8afb4197ef414b9826279b351c843803",
      "parents": [
        "5ec7b46c2f4a6f5e136188d598a3f9912ca922e9"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 22:07:08 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: miscellaneous nfs4state.c style fixes\n\nFix various minor style violations.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5ec7b46c2f4a6f5e136188d598a3f9912ca922e9",
      "tree": "4bfd4cb5faeba04203db8a011f8b358fb719118c",
      "parents": [
        "99d965eda736b839a63fe85438ee03a0f660053c"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 21:58:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: make current_clientid local\n\nDeclare this variable in the one function where it\u0027s used, and clean up\nsome minor style problems.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "99d965eda736b839a63fe85438ee03a0f660053c",
      "tree": "914a6bdd17350fce73f3313fbdfd990500861c67",
      "parents": [
        "366e0c1d9116ed03320779ecf9c162204f4c712e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Nov 21 14:10:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd: fix encode_entryplus_baggage() indentation\n\nFix bizarre indentation.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "366e0c1d9116ed03320779ecf9c162204f4c712e",
      "tree": "5610f88a5a98d1ba4544d7ed18a9d497f3c63228",
      "parents": [
        "f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 15:54:10 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:06 2008 -0500"
      },
      "message": "nfsd4: kill unneeded cl_confirm check\n\nWe generate a unique cl_confirm for every new client; so if we\u0027ve\nalready checked that this cl_confirm agrees with the cl_confirm of\nunconf, then we already know that it does not agree with the cl_confirm\nof conf.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f3aba4e5a1b963c8bd43394cb15fb9fb6a229cd2",
      "tree": "9d4ad0e722f4266bac28450ca7a511eee9c22a5f",
      "parents": [
        "f394baad139f8a67a40b4246d53d3b818af2eb88"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 16:52:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: remove unnecessary cl_verifier check from setclientid_confirm\n\nAgain, the only way conf and unconf can have the same clientid is if\nthey were created in the \"probable callback update\" case of setclientid,\nin which case we already know that the cl_verifier fields must agree.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "f394baad139f8a67a40b4246d53d3b818af2eb88",
      "tree": "2f0f37f2803549dcf8011a65b0944e373c1321e0",
      "parents": [
        "deda2faa8e71474c828d8eefc8bc0f19d02062ef"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 15:39:07 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: kill unnecessary same_name() in setclientid_confirm\n\nIf conf and unconf are both found in the lookup by cl_clientid, then\nthey share the same cl_clientid.  We always create a unique new\ncl_clientid field when creating a new client--the only exception is the\n\"probable callback update\" case in setclientid, where we copy the old\ncl_clientid from another clientid with the same name.\n\nTherefore two clients with the same cl_client field also always share\nthe same cl_name field, and a couple of the checks here are redundant.\n\nThanks to Simon Holm Thøgersen for a compile fix.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\nCc: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\n"
    },
    {
      "commit": "deda2faa8e71474c828d8eefc8bc0f19d02062ef",
      "tree": "72344206dd12a189e466cde3b479d6dc5ae09843",
      "parents": [
        "49ba87811f34a0219dc7a373cd24aa68450f2058"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 19 20:31:04 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: uniquify cl_confirm values\n\nUsing a counter instead of the nanoseconds value seems more likely to\nproduce a unique cl_confirm.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "49ba87811f34a0219dc7a373cd24aa68450f2058",
      "tree": "c0e50e1378d002c5346451f3bf0aa031f893ff20",
      "parents": [
        "a186e767473bd329122f0229b91573b9b6fa43c1"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 19 19:09:50 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: eliminate final bogus case from setclientid logic\n\nWe\u0027re supposed to generate a different cl_confirm verifier for each new\nclient, so these to cl_confirm values should never be the same.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a186e767473bd329122f0229b91573b9b6fa43c1",
      "tree": "6da5778f93eb11c706b9ae202769cf883f17548c",
      "parents": [
        "1f69f172c73a2bf0bf55da9346da8dccea9035cf"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Tue Nov 20 16:11:27 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd4: kill some unneeded setclientid comments\n\nMost of these comments just summarize the code.\n\nThe matching of code to the cases described in the RFC may still be\nuseful, though; add specific section references to make that easier to\nfollow.  Also update references to the outdated RFC 3010.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "1f69f172c73a2bf0bf55da9346da8dccea9035cf",
      "tree": "4e0f04634415052ef0978168b6b737565b3f36bd",
      "parents": [
        "2e8138a274d81d87591db0803b1e81f4284ff935"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:06:58 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: minor fs/nfsd/auth.h cleanup\n\nWhile we\u0027re here, let\u0027s remove the redundant (and now wrong) pathname in\nthe comment, and the #ifdef __KERNEL__\u0027s.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "2e8138a274d81d87591db0803b1e81f4284ff935",
      "tree": "3243d448d11cdee1ec4ff2b190509ef70887b566",
      "parents": [
        "dbf847ecb6318d3a22c6758fe39696d00f39063a"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 15 17:05:43 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "nfsd: move nfsd/auth.h into fs/nfsd\n\nThis header is used only in a few places in fs/nfsd, so there seems to\nbe little point to having it in include/.  (Thanks to Robert Day for\npointing this out.)\n\nCc: Robert P. J. Day \u003crpjday@crashcourse.ca\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "dbf847ecb6318d3a22c6758fe39696d00f39063a",
      "tree": "2b71e776ca98bc94258f3539bd7f0ea53d2733a8",
      "parents": [
        "ffe9386b6e08e7132cb7730025d0ea310e08a182"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 17:20:34 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:05 2008 -0500"
      },
      "message": "knfsd: allow cache_register to return error on failure\n\nNewer server features such as nfsv4 and gss depend on proc to work, so a\nfailure to initialize the proc files they need should be treated as\nfatal.\n\nThanks to Andrew Morton for style fix and compile fix in case where\nCONFIG_NFSD_V4 is undefined.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "e331f606a85a2a9e84e9c63c94d43c0517136139",
      "tree": "988f2d450ee49279f7abbce2fdd27801ca24904b",
      "parents": [
        "440bcc592052e42c7050a51489c65e18df4a0636"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:32:21 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail init on /proc/fs/nfs/exports creation failure\n\nI assume the reason failure of creation was ignored here was just to\ncontinue support embedded systems that want nfsd but not proc.\n\nHowever, in cases where proc is supported it would be clearer to fail\nentirely than to come up with some features disabled.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "440bcc592052e42c7050a51489c65e18df4a0636",
      "tree": "347d1cfa5df7fde984f26d143eae593ba4b1ad9a",
      "parents": [
        "df95a9d4fb91d819d3fb55dd437056df59e7f15e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Mon Nov 12 17:09:49 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: select CONFIG_PROC_FS in nfsv4 and gss server cases\n\nThe server depends on upcalls under /proc to support nfsv4 and gss.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df95a9d4fb91d819d3fb55dd437056df59e7f15e",
      "tree": "9c35b2617a202c029803791c19d55a0483d9d225",
      "parents": [
        "d5c3428b2cb26d605fddc4878f4fcc03c23df89f"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 08 16:09:59 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "knfsd: cache unregistration needn\u0027t return error\n\nThere\u0027s really nothing much the caller can do if cache unregistration\nfails.  And indeed, all any caller does in this case is print an error\nand continue.  So just return void and move the printk\u0027s inside\ncache_unregister.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d5c3428b2cb26d605fddc4878f4fcc03c23df89f",
      "tree": "b476ca0b6709b65044f222912f2fdd2efbdcf297",
      "parents": [
        "26808d3f10b1213bbb6e27d441be40e20ab84611"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 14:10:56 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:04 2008 -0500"
      },
      "message": "nfsd: fail module init on reply cache init failure\n\nIf the reply cache initialization fails due to a kmalloc failure,\ncurrently we try to soldier on with a reduced (or nonexistant) reply\ncache.\n\nBetter to just fail immediately: the failure is then much easier to\nunderstand and debug, and it could save us complexity in some later\ncode.  (But actually, it doesn\u0027t help currently because the cache is\nalso turned off in some odd failure cases; we should probably find a\nbetter way to handle those failure cases some day.)\n\nFix some minor style problems while we\u0027re at it, and rename\nnfsd_cache_init() to remove the need for a comment describing it.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "26808d3f10b1213bbb6e27d441be40e20ab84611",
      "tree": "38b2769d479a8cd44f2e242ef1f16b395fdf4997",
      "parents": [
        "46b25895767c606c630a97b03a895934a7a36a70"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 13:44:06 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "nfsd: cleanup nfsd module initialization cleanup\n\nHandle the failure case here with something closer to the standard\nkernel style.\n\nDoesn\u0027t really matter for now, but I\u0027d like to add a few more failure\ncases, and then this\u0027ll help.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46b25895767c606c630a97b03a895934a7a36a70",
      "tree": "94c8c9361fe1d82b3d803e3297eeeb9f4984e62c",
      "parents": [
        "ca2a05aa7c72309ee65164c78fa2be7a5038215e"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Nov 09 12:31:55 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "knfsd: cleanup nfsd4 properly on module init failure\n\nWe forgot to shut down the nfs4 state and idmapping code in this case.\n\nAcked-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ca2a05aa7c72309ee65164c78fa2be7a5038215e",
      "tree": "f362d7c14652dfea0d93508007f8fc87d10d6980",
      "parents": [
        "a490c681cbcf65d548138c377bb691c85824d323"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Sun Nov 11 15:43:12 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "nfsd: Fix handling of negative lengths in read_buf()\n\nThe length \"nbytes\" passed into read_buf should never be negative, but\nwe check only for too-large values of \"nbytes\", not for too-small\nvalues.  Make nbytes unsigned, so it\u0027s clear that the former tests are\nsufficient.  (Despite this read_buf() currently correctly returns an xdr\nerror in the case of a negative length, thanks to an unsigned\ncomparison with size_of() and bounds-checking in kmalloc().  This seems\nvery fragile, though.)\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "a628f6675861d979405f751418e924c4ec7d457d",
      "tree": "09281fd445da7841b890a626004abb012c06debd",
      "parents": [
        "9c7544d3a195cde33b3d1e46639b23c221f901db"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:20 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Fix mixed sign comparison in nfs3svc_decode_symlinkargs\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "9c7544d3a195cde33b3d1e46639b23c221f901db",
      "tree": "e7e40b375facc363268be3794f03fea5d2c57c20",
      "parents": [
        "5a022fc8700cadbac373766cf1b5c746ffec7164"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:14 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Use unsigned length argument for decode_pathname\n\nClean up: path name lengths are unsigned on the wire, negative lengths\nare not meaningful natively either.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "5a022fc8700cadbac373766cf1b5c746ffec7164",
      "tree": "9af2b088a6075df55adb5165f790f7de52d29449",
      "parents": [
        "29d5e5553826d05b8ecda51c21787ce85efdef06"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:57:09 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:03 2008 -0500"
      },
      "message": "NFSD: Adjust filename length argument of nfsd_lookup\n\nClean up: adjust the sign of the length argument of nfsd_lookup and\nnfsd_lookup_dentry, for consistency with recent changes.  NFSD version\n4 callers already pass an unsigned file name length.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "ee1a95b3b3fccf3c825bd95f89a8e006901b03ed",
      "tree": "6b690c38cd2d2e9ef782dc1150d2cfccb205dd2f",
      "parents": [
        "48df020aa17ac95a012ff765b0086ede5996b320"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:58 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NFSD: Use unsigned length argument for decode_filename\n\nClean up: file name lengths are unsigned on the wire, negative lengths\nare not meaningful natively either.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "48df020aa17ac95a012ff765b0086ede5996b320",
      "tree": "52aa9d1ff1e320ead499bddfe98cb05b06df1311",
      "parents": [
        "e5cff482c78a35b9f149a06aa777a1bd693864fb"
      ],
      "author": {
        "name": "Chuck Lever",
        "email": "chuck.lever@oracle.com",
        "time": "Thu Nov 01 16:56:53 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:02 2008 -0500"
      },
      "message": "NLM: Fix sign of length of NLM variable length strings\n\nAccording to The Open Group\u0027s NLM specification, NLM callers are variable\nlength strings.  XDR variable length strings use an unsigned 32 bit length.\nAnd internally, negative string lengths are not meaningful for the Linux\nNLM implementation.\n\nClean up: Make nlm_lock.len and nlm_reboot.len unsigned integers.  This\nmakes the sign of NLM string lengths consistent with the sign of xdr_netobj\nlengths.\n\nSigned-off-by: Chuck Lever \u003cchuck.lever@oracle.com\u003e\nAcked-By: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "d4395e03fec0895d01451904b8a2276ceda663c9",
      "tree": "b4dd510ce3aa21a8f055d189e77b8047d162fa2d",
      "parents": [
        "aefa89d178e6dd83889b66d4e800d4d77363900b"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Oct 26 13:32:50 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "knfsd: fix broken length check in nfs4idmap.c\n\nObviously at some point we thought \"error\" represented the length when\npositive.  This appears to be a long-standing typo.\n\nThanks to Prasad Potluri \u003cpvp@us.ibm.com\u003e for finding the problem and\nproposing an earlier version of this patch.\n\nCc: Steve French \u003csmfltc@us.ibm.com\u003e\nCc: Prasad V Potluri \u003cpvp@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "aefa89d178e6dd83889b66d4e800d4d77363900b",
      "tree": "8b4c68d21af0d3342905f6fa58d3af231004a317",
      "parents": [
        "63c86716ea34ad94d52e5b0abbda152574dc42b5"
      ],
      "author": {
        "name": "Prasad P",
        "email": "pvp@us.ibm.com",
        "time": "Wed Oct 24 15:14:32 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: Fix inconsistent assignment\n\nDereferenced pointer \"dentry\" without checking and assigned to inode\nin the declaration.\n\n(We could just delete the NULL checks that follow instead, as we never\nget to the encode function in this particular case.  But it takes a\nlittle detective work to verify that fact, so it\u0027s probably safer to\nleave the checks in place.)\n\nCc: Steve French \u003csmfltc@us.ibm.com\u003e\nSigned-off-by: Prasad V Potluri \u003cpvp@us.ibm.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "63c86716ea34ad94d52e5b0abbda152574dc42b5",
      "tree": "c92ceed9f40f43dc79e099a1f3d4da99d6f985b6",
      "parents": [
        "46f8a64bae11f5c9b15b4401f6e9863281999b66"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Oct 25 19:00:26 2007 -0400"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd: move callback rpc_client creation into separate thread\n\nThe whole reason to move this callback-channel probe into a separate\nthread was because (for now) we don\u0027t have an easy way to create the\nrpc_client asynchronously.  But I forgot to move the rpc_create() to the\nspawned thread.  Doh!  Fix that.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "46f8a64bae11f5c9b15b4401f6e9863281999b66",
      "tree": "aea712834e9a12a43772de61c1f6af0dc2ea1b57",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Thu Nov 22 13:54:18 2007 -0500"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Fri Feb 01 16:42:01 2008 -0500"
      },
      "message": "nfsd4: probe callback channel only once\n\nOur callback code doesn\u0027t actually handle concurrent attempts to probe\nthe callback channel.  Some rethinking of the locking may be required.\nHowever, we can also just move the callback probing to this case.  Since\nthis is the only time a client is \"confirmed\" (and since that can only\nhappen once in the lifetime of a client), this ensures we only probe\nonce.\n\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0c11b9428f619ab377c92eff2f160a834a6585dd",
      "tree": "35b573715ad5730a77d067486838345132771a7a",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:20:52 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:04:59 2008 -0500"
      },
      "message": "[PATCH] switch audit_get_loginuid() to task_struct *\n\nall callers pass something-\u003eaudit_context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    }
  ],
  "next": "5315217efea54a07950758005686adedb8e8e680"
}
