)]}'
{
  "log": [
    {
      "commit": "ea319d57d3372a9dbee0b3807d75bb36b8d54adc",
      "tree": "63a0c951a39c5c26d03b7fd6f68a79d1a23d6143",
      "parents": [
        "0013fb4ca3171c64a4a5d3851fb591bb575e7f04"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "pshilovsky@samba.org",
        "time": "Thu May 31 13:59:36 2012 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jun 01 12:35:12 2012 -0500"
      },
      "message": "CIFS: Improve identation in cifs_unlock_range\n\nSigned-off-by: Pavel Shilovsky \u003cpshilovsky@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0013fb4ca3171c64a4a5d3851fb591bb575e7f04",
      "tree": "e324f2926e2e920bb7355ee8dc79a09df60342cf",
      "parents": [
        "51eab603f5c86dd1eae4c525df3e7f7eeab401d6"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "pshilovsky@samba.org",
        "time": "Thu May 31 13:03:26 2012 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Jun 01 12:35:08 2012 -0500"
      },
      "message": "CIFS: Fix possible wrong memory allocation\n\nwhen cifs_reconnect sets maxBuf to 0 and we try to calculate a size\nof memory we need to store locks.\n\nSigned-off-by: Pavel Shilovsky \u003cpshilovsky@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2c0c2a08bed7a3b791f88d09d16ace56acb3dd98",
      "tree": "fe41007499ec9b8371562a4aae78d9a6f6d29c89",
      "parents": [
        "ea4b574028f0c30d736ab6b13b518af8533a86c4"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Mon May 21 09:20:12 2012 -0500"
      },
      "committer": {
        "name": "Pavel Shilovsky",
        "email": "pshilovsky@samba.org",
        "time": "Wed May 23 12:33:18 2012 +0400"
      },
      "message": "cifs: fix oops while traversing open file list (try #4)\n\nWhile traversing the linked list of open file handles, if the identfied\nfile handle is invalid, a reopen is attempted and if it fails, we\nresume traversing where we stopped and cifs can oops while accessing\ninvalid next element, for list might have changed.\n\nSo mark the invalid file handle and attempt reopen if no\nvalid file handle is found in rest of the list.\nIf reopen fails, move the invalid file handle to the end of the list\nand start traversing the list again from the begining.\nRepeat this four times before giving up and returning an error if\nfile reopen keeps failing.\n\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7f92447aa7be605fd80d9f248efe0b8ac9379f11",
      "tree": "5bf3e1b298034b82519061763ac787624f8bb56a",
      "parents": [
        "55157dfbb566e23e3c76489cb028fc82bd985ea1"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Wed Mar 28 17:10:25 2012 +0400"
      },
      "committer": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Thu May 17 13:07:48 2012 +0400"
      },
      "message": "CIFS: Separate protocol specific part from setlk\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "55157dfbb566e23e3c76489cb028fc82bd985ea1",
      "tree": "46f8284bce1d3d37f69c33731b637ea82fbffff5",
      "parents": [
        "106dc538abac88e804c63b7fe21ffb09cffaefc7"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Tue Feb 28 14:04:17 2012 +0300"
      },
      "committer": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Thu May 17 13:07:41 2012 +0400"
      },
      "message": "CIFS: Separate protocol specific part from getlk\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "106dc538abac88e804c63b7fe21ffb09cffaefc7",
      "tree": "f3c4a0075e09c852b42a6f265a4dea42761352ed",
      "parents": [
        "04a6aa8acfac51385ec3e72fac1227e15db78ed9"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Tue Feb 28 14:23:34 2012 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 16 20:13:36 2012 -0500"
      },
      "message": "CIFS: Separate protocol specific lock type handling\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "04a6aa8acfac51385ec3e72fac1227e15db78ed9",
      "tree": "72a73c0d451b9f01714e6f2387d120b6ed165403",
      "parents": [
        "fbd35acadd728eac5d94f360c7cd8cbe12a0379f"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Tue Feb 28 14:16:55 2012 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 16 20:13:35 2012 -0500"
      },
      "message": "CIFS: Convert lock type to 32 bit variable\n\nto handle SMB2 lock type field further.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "fbd35acadd728eac5d94f360c7cd8cbe12a0379f",
      "tree": "3db901833cee1e177aae17cb35e5d57fa998a27a",
      "parents": [
        "121b046af54437b084aa0e4be967ae5aed7528b5"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Fri Feb 24 15:41:06 2012 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 16 20:13:35 2012 -0500"
      },
      "message": "CIFS: Move locks to cifsFileInfo structure\n\nCIFS brlock cache can be used by several file handles if we have a\nwrite-caching lease on the file that is supported by SMB2 protocol.\nPrepate the code to handle this situation correctly by sorting brlocks\nby a fid to easily push them in portions when lease break comes.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "1c89254926c0643b99541d422c909762479aeef8",
      "tree": "f1124d07f10359eaf1ed51ba93c7e183b057cdba",
      "parents": [
        "2a1bb13853300bbb5a58eab006189d2c0dc215a0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 16 07:13:17 2012 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 16 20:13:31 2012 -0500"
      },
      "message": "cifs: convert cifs_iovec_read to use async reads\n\nConvert cifs_iovec_read to use async I/O. This also raises the limit on\nthe rsize for uncached reads. We first allocate a set of pages to hold\nthe replies, then issue the reads in parallel and then collect the\nreplies and copy the results into the iovec.\n\nA possible future optimization would be to kmap and inline the iovec\nbuffers and read the data directly from the socket into that. That would\nrequire some rather complex conversion of the iovec into a kvec however.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "2a1bb13853300bbb5a58eab006189d2c0dc215a0",
      "tree": "aac510510cd175bfabd50dd7f3bb5d799ec1fa4a",
      "parents": [
        "6993f74a5bf836210e7f253d5ad3f76d73a95f51"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 16 07:13:17 2012 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 16 20:13:30 2012 -0500"
      },
      "message": "cifs: add wrapper for cifs_async_readv to retry opening file\n\nWe\u0027ll need this same bit of code for the uncached case.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "6993f74a5bf836210e7f253d5ad3f76d73a95f51",
      "tree": "6b0cf7d6aed03e9d7d0b705cf7ba79792ab062a2",
      "parents": [
        "8d5ce4d23c79e0f9861b19fc534f5b2dc636f79c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 16 07:13:17 2012 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 16 20:13:30 2012 -0500"
      },
      "message": "cifs: add refcounting to cifs_readdata structures\n\nThis isn\u0027t strictly necessary for the async readpages code, but the\nuncached version will need to be able to collect the replies after\nissuing the calls. Add a kref to cifs_readdata and use change the\ncode to take and put references appropriately.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "8d5ce4d23c79e0f9861b19fc534f5b2dc636f79c",
      "tree": "5f9583d0b3d63e142ec4bbda6058da906a8273f6",
      "parents": [
        "0471ca3fe481cf5ff0ae24c7003f4d9086a02791"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 16 07:13:16 2012 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 16 20:13:29 2012 -0500"
      },
      "message": "cifs: abstract out function to marshal the iovec for readv receives\n\nCached and uncached reads will need to do different things here to\nhandle the difference when the pages are in pagecache and not. Abstract\nout the function that marshals the page list into a kvec array.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "0471ca3fe481cf5ff0ae24c7003f4d9086a02791",
      "tree": "d3d5abc60b7a932210f43fe730f54d3f5359cc3e",
      "parents": [
        "0e93b4b304ae052ba1bc73f6d34a68556fe93429"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed May 16 07:13:16 2012 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 16 20:13:29 2012 -0500"
      },
      "message": "cifs: make cifs_readdata_alloc take a work_func_t arg\n\nWe\u0027ll need different completion routines for an uncached read. Allow\nthe caller to set the one he needs at allocation time. Also, move\nmost of these functions to file.c so we can make more of them static.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "3af9d8f227a31e25b3110ef175d105798fc147a6",
      "tree": "0431c865502651114d43d5635802a2f949a55a7e",
      "parents": [
        "c6f5c93098f5577210f8f3ea22209b3f266c66af"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Apr 13 17:16:59 2012 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 19 22:16:33 2012 -0500"
      },
      "message": "cifs: fix offset handling in cifs_iovec_write\n\nIn the recent update of the cifs_iovec_write code to use async writes,\nthe handling of the file position was broken. That patch added a local\n\"offset\" variable to handle the offset, and then only updated the\noriginal \"*poffset\" before exiting.\n\nUnfortunately, it copied off the original offset from the beginning,\ninstead of doing so after generic_write_checks had been called. Fix\nthis by moving the initialization of \"offset\" after that in the\nfunction.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "66189be74ff5f9f3fd6444315b85be210d07cef2",
      "tree": "7a179ddd7e233668dbb108faf847ceb768d2e92c",
      "parents": [
        "9ebb389d0a03b4415fe9014f6922a2412cb1109c"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Wed Mar 28 21:56:19 2012 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Apr 01 13:54:27 2012 -0500"
      },
      "message": "CIFS: Fix VFS lock usage for oplocked files\n\nWe can deadlock if we have a write oplock and two processes\nuse the same file handle. In this case the first process can\u0027t\nunlock its lock if the second process blocked on the lock in the\nsame time.\n\nFix it by using posix_lock_file rather than posix_lock_file_wait\nunder cinode-\u003elock_mutex. If we request a blocking lock and\nposix_lock_file indicates that there is another lock that prevents\nus, wait untill that lock is released and restart our call.\n\nCc: stable@kernel.org\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9ebb389d0a03b4415fe9014f6922a2412cb1109c",
      "tree": "4a411bbb4225e610656dff673028b83a3100ce3d",
      "parents": [
        "2545e0720a5a4bf8ebccc6f793f97a246cf3f18d"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Apr 01 13:52:54 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Apr 01 13:52:54 2012 -0500"
      },
      "message": "Revert \"CIFS: Fix VFS lock usage for oplocked files\"\n\nRevert previous version of patch to incorporate feedback\nso that we can merge version 3 of the patch instead.w\n\nThis reverts commit b5efb978469d152c2c7c0a09746fb0bfc6171868.\n"
    },
    {
      "commit": "b5efb978469d152c2c7c0a09746fb0bfc6171868",
      "tree": "18d46e1ef3bdf9bbb2df7f8e72b0c1e2ac2919fd",
      "parents": [
        "fa2a4519cb6ad94224eb56a1341fff570fd44ea1"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Tue Mar 27 15:36:15 2012 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Mar 31 17:30:48 2012 -0500"
      },
      "message": "CIFS: Fix VFS lock usage for oplocked files\n\nWe can deadlock if we have a write oplock and two processes\nuse the same file handle. In this case the first process can\u0027t\nunlock its lock if another process blocked on the lock in the\nsame time.\n\nFix this by removing lock_mutex protection from waiting on a\nblocked lock and protect only posix_lock_file call.\n\nCc: stable@kernel.org\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c7ad42b52d866b238ebb311d32ac80338f5c39d4",
      "tree": "27959eb3fa047c127f510a5c611c343d57a56390",
      "parents": [
        "d81625587f4fac44a4367c468ba2fe2d981460f8"
      ],
      "author": {
        "name": "Steve French",
        "email": "stevef@smf-gateway.(none)",
        "time": "Fri Mar 23 16:30:56 2012 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "stevef@smf-gateway.(none)",
        "time": "Fri Mar 23 16:30:56 2012 -0500"
      },
      "message": "[CIFS] Fix trivial sparse warning with asyn i/o patch\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "da82f7e755d2808ba726c9b23267d5bb23980e94",
      "tree": "16fe36b382416b4bc01edd886f3f1670c3aac4db",
      "parents": [
        "597b027f694481ffeebcffe634c24b807198d46c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "message": "cifs: convert cifs_iovec_write to use async writes\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "597b027f694481ffeebcffe634c24b807198d46c",
      "tree": "2dce2da017aa89c9e7465014ffa7aced11393b28",
      "parents": [
        "e9492871fb0546f1b73f309d9e8c0f030bfdfdca"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "message": "cifs: call cifs_update_eof with i_lock held\n\ncifs_update_eof has the potential to be racy if multiple threads are\ntrying to modify it at the same time. Protect modifications of the\nserver_eof value with the inode-\u003ei_lock.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "e9492871fb0546f1b73f309d9e8c0f030bfdfdca",
      "tree": "be69a497fddd74de6b2f6ed18f525907a6dadab4",
      "parents": [
        "a7103b99e4cc00b9d40f6bad77389f9e2341820a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "message": "cifs: abstract out function to marshal up the iovec array for async writes\n\nWe\u0027ll need to do something a bit different depending on the caller.\nAbstract the code that marshals the page array into an iovec.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "a7103b99e4cc00b9d40f6bad77389f9e2341820a",
      "tree": "0456964af499d3bca9becbfae4b7df1ffc36d8f3",
      "parents": [
        "35ebb4155f2f9d5580679d368aea81a5933db481"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "message": "cifs: fix up get_numpages\n\nUse DIV_ROUND_UP. Also, PAGE_SIZE is more appropriate here since these\naren\u0027t pagecache pages.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "e94f7ba124bfbd3898f620c46891ebcfb9cf20d0",
      "tree": "cd7e54dadb4a7617b0fbbd6aaedbcbce4d3e43c4",
      "parents": [
        "c2e8764009a0245fd24fcd2a63ffbf64236af016"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:56 2012 -0400"
      },
      "message": "cifs: fix allocation in cifs_write_allocate_pages\n\nThe gfp flags are currently set to __GPF_HIGHMEM, which doesn\u0027t allow\nfor any reclaim. Make this more resilient by or\u0027ing that with\nGFP_KERNEL. Also, get rid of the goto and unify the exit codepath.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "c2e8764009a0245fd24fcd2a63ffbf64236af016",
      "tree": "91f3a0503fda92f8c2cf06166adcd801ca98fe4a",
      "parents": [
        "fe5f5d2e908957392aebbb852a6fb22885860d4b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:55 2012 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:55 2012 -0400"
      },
      "message": "cifs: allow caller to specify completion op when allocating writedata\n\nWe\u0027ll need a different set of write completion ops when not writing out\nof the pagecache.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "fe5f5d2e908957392aebbb852a6fb22885860d4b",
      "tree": "ac9b490eebb50463a14cda8b8bfc654aef78265d",
      "parents": [
        "da472fc847e9d8c9da69b09ce0ab975b24f9b894"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:55 2012 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Mar 23 14:40:55 2012 -0400"
      },
      "message": "cifs: add pid field to cifs_writedata\n\nWe\u0027ll need this to handle rwpidforward option correctly when we use\nasync writes in the aio_write op.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n"
    },
    {
      "commit": "10b9b98e41ba248a899f6175ce96ee91431b6194",
      "tree": "8734af1f3e16d1836b2ce16f848828d4ac200f5f",
      "parents": [
        "ce85852b90a214cf577fc1b4f49d99fd7e98784a"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Tue Mar 20 12:55:09 2012 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "stevef@smf-gateway.(none)",
        "time": "Tue Mar 20 10:17:40 2012 -0500"
      },
      "message": "CIFS: Respect negotiated MaxMpxCount\n\nSome servers sets this value less than 50 that was hardcoded and\nwe lost the connection if when we exceed this limit. Fix this by\nrespecting this value - not sending more than the server allows.\n\nCc: stable@kernel.org\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003cstevef@smf-gateway.(none)\u003e\n"
    },
    {
      "commit": "ce85852b90a214cf577fc1b4f49d99fd7e98784a",
      "tree": "4ddd1c31ba83be828df57167e25308ff6f563e31",
      "parents": [
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Sat Mar 17 09:46:55 2012 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "stevef@smf-gateway.(none)",
        "time": "Mon Mar 19 10:20:22 2012 -0500"
      },
      "message": "CIFS: Fix a spurious error in cifs_push_posix_locks\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReported-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nSigned-off-by: Steve French \u003cstevef@smf-gateway.(none)\u003e\n"
    },
    {
      "commit": "d5751469f210d2149cc2159ffff66cbeef6da3f2",
      "tree": "7d5e9af79050cfe56e4412d6ebdd90dfce55c8d9",
      "parents": [
        "b0f8ef202ec7f07ba9bd93150d54ef4327851422"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Mon Mar 05 09:39:20 2012 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 06 21:50:15 2012 -0600"
      },
      "message": "CIFS: Do not kmalloc under the flocks spinlock\n\nReorganize the code to make the memory already allocated before\nspinlock\u0027ed loop.\n\nCc: stable@vger.kernel.org\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9a5101c8968c7b3e7de5564af6358d7332cf9a6b",
      "tree": "f3a13e96a375a161570c40086d9cf7bc69ba5083",
      "parents": [
        "883381d9f1c5a6329bbb796e23ae52c939940310"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Mon Nov 07 16:11:24 2011 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Dec 08 22:04:47 2011 -0600"
      },
      "message": "CIFS: Add descriptions to the brlock cache functions\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a88b470773bc5b640292d8be7b8e7e1011a86639",
      "tree": "9a30adafadeb3eb461e05fc80779da719b0a8004",
      "parents": [
        "161ebf9fcca967e7396bb076af5ed18539497a3f"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Sat Oct 29 17:17:59 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 04 00:53:21 2011 -0500"
      },
      "message": "CIFS: Cleanup byte-range locking code style\n\nReorder parms of cifs_lock_init, trivially simplify getlk code and\nremove extra {} in cifs_lock_add_if.\n\nCc: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "161ebf9fcca967e7396bb076af5ed18539497a3f",
      "tree": "3e7496b6358740e5d2bdff78739393832dad5700",
      "parents": [
        "1a67a573b8d9f02211f36fbab50f6265dc49384a"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Sat Oct 29 17:17:58 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 04 00:53:15 2011 -0500"
      },
      "message": "CIFS: Simplify setlk error handling for mandatory locking\n\nNow we allocate a lock structure at first, then we request to the server\nand save the lock if server returned OK though void function - it prevents\nthe situation when we locked a file on the server and then return -ENOMEM\nfrom setlk.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nAcked-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5079276066cc421b48a6a63a54a34775979e8506",
      "tree": "e24d9df48c301023532945a67b476bedf4d27a36",
      "parents": [
        "8ea00c6977d8b1463ee86d6689c8ef35ee2529a0"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Sat Oct 29 17:17:57 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Sat Oct 29 22:03:14 2011 -0500"
      },
      "message": "CIFS: Fix the VFS brlock cache usage in posix locking case\n\nRequest to the cache in FL_POSIX case only.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "d12799b4c3c4d1e65d7fdbb5d91538c92d6863dd",
      "tree": "02e0ac60f194bccb8238a3628a2969317d58c289",
      "parents": [
        "f362f98e7c445643d27c610bb7a86b79727b592e"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Wed Oct 26 23:41:04 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Fri Oct 28 14:09:23 2011 -0500"
      },
      "message": "CIFS: Remove extra mutex_unlock in cifs_lock_add_if\n\nto prevent the mutex being unlocked twice if we interrupt a blocked lock.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "32b9aaf1a53b3c8d435f86339b01b3968520cb0a",
      "tree": "713a791846285e1f06cd9b2a9e714bd72e3a1e0e",
      "parents": [
        "9ee305b70e09f5132c9723780ce10e69710b8bca"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Sat Oct 22 15:33:32 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Mon Oct 24 13:11:55 2011 -0500"
      },
      "message": "CIFS: Make cifs_push_locks send as many locks at once as possible\n\nthat reduces a traffic and increases a performance.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "9ee305b70e09f5132c9723780ce10e69710b8bca",
      "tree": "d739e9ba99cc523235404b7f5e38828ea6ed9536",
      "parents": [
        "4f6bcec910d45e4f46b1514977caa529bc69e645"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Sat Oct 22 15:33:31 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Mon Oct 24 13:11:52 2011 -0500"
      },
      "message": "CIFS: Send as many mandatory unlock ranges at once as possible\n\nthat reduces a traffic and increases a performance.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "4f6bcec910d45e4f46b1514977caa529bc69e645",
      "tree": "37469bfcd1216ea98f0a947b997ce65e1b5aa3b0",
      "parents": [
        "85160e03a79e0d7f9082e61f6a784abc6f402701"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Sat Oct 22 15:33:30 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Mon Oct 24 12:29:27 2011 -0500"
      },
      "message": "CIFS: Implement caching mechanism for posix brlocks\n\nto handle all lock requests on the client in an exclusive oplock case.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "85160e03a79e0d7f9082e61f6a784abc6f402701",
      "tree": "30e08edf4a022583a582331144d54d26faf2f734",
      "parents": [
        "42274bb22afc3e877ae5abed787b0b09d7dede52"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Sat Oct 22 15:33:29 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Mon Oct 24 12:27:01 2011 -0500"
      },
      "message": "CIFS: Implement caching mechanism for mandatory brlocks\n\nIf we have an oplock and negotiate mandatory locking style we handle\nall brlock requests on the client.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nAcked-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "5eba8ab3606621f7e175ae9f521d71f3ac534f82",
      "tree": "8fe7387d9ec3b284a8c1d4a5d2fc9e49d2c393b5",
      "parents": [
        "690c5e3163502f229e5b5d455e5212e28c20cd6d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 19 15:30:26 2011 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 19 15:30:26 2011 -0400"
      },
      "message": "cifs: allow for larger rsize\u003d options and change defaults\n\nCurrently we cap the rsize at a value that fits in CIFSMaxBufSize. That\u0027s\nnot needed any longer for readpages. Allow the use of larger values for\nreadpages. cifs_iovec_read and cifs_read however are still limited to the\nCIFSMaxBufSize. Make sure they don\u0027t exceed that.\n\nThe patch also changes the rsize defaults. The default when unix\nextensions are enabled is set to 1M for parity with the wsize, and there\nis a hard cap of ~16M.\n\nWhen unix extensions are not enabled, the default is set to 60k. According\nto MS-CIFS, Windows servers can only send a max of 60k at a time, so\nthis is more efficient than requesting a larger size. If the user wishes\nhowever, the max can be extended up to 128k - the length of the READ_RSP\nheader.\n\nReally old servers however require a special hack to ensure that we don\u0027t\nrequest too large a read.\n\nReviewed-and-Tested-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "690c5e3163502f229e5b5d455e5212e28c20cd6d",
      "tree": "fd19fcb81d852b7cb8069b11d8aea1a70e0aac30",
      "parents": [
        "e28bc5b1fdbd6e850488234d6072e6b66fc46146"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 19 15:30:16 2011 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 19 15:30:16 2011 -0400"
      },
      "message": "cifs: convert cifs_readpages to use async reads\n\nNow that we have code in place to do asynchronous reads, convert\ncifs_readpages to use it. The new cifs_readpages walks the page_list\nthat gets passed in, locks and adds the pages to the pagecache and\nsets up cifs_readdata to handle the reads.\n\nThe rest is handled by the cifs_async_readv infrastructure.\n\nReviewed-and-Tested-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "7748dd6eab8e13f974d4664395e76afffacda04b",
      "tree": "d649a1ef6e9219c7d6d3a5a690555c439e28160a",
      "parents": [
        "a5ff376966c079bd2f078524eff11b0c63cc2507"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "dan.carpenter@oracle.com",
        "time": "Tue Oct 18 12:41:35 2011 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Oct 18 10:33:44 2011 -0500"
      },
      "message": "CIFS: cleanup min_t() cast in cifs_read()\n\nSmatch complains that the cast to \"int\" in min_t() changes very large\nvalues of current_read_size into negative values and so min_t()\ncould return the wrong value.  I removed the const as well, as that\ndoesn\u0027t do anything here.\n\nSigned-off-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "d59dad2be038132259ac99a2837d65a87fd90588",
      "tree": "ba31d82b208981c6779a071217ff762cd3a1777e",
      "parents": [
        "fe11e4ccb8479d92cd2a101d380d332544b84aaa"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Thu Sep 22 09:53:59 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Oct 13 19:52:47 2011 -0500"
      },
      "message": "CIFS: Move byte range lock list from fd to inode\n\nthat let us do local lock checks before requesting to the server.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "03776f4516bc299b3145595bdd704d40d69adc02",
      "tree": "a4c17c0120d5865f322ec5362aa2b3f7f0b826d9",
      "parents": [
        "94443f43404239c2a6dc4252a7cb9e77f5b1eb6e"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Tue Aug 17 11:26:00 2010 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Thu Oct 13 17:16:28 2011 -0500"
      },
      "message": "CIFS: Simplify byte range locking code\n\nSplit cifs_lock into several functions and let CIFSSMBLock get pid\nas an argument.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "3d3ea8e64efbeb3e4289675dbbfab82333395642",
      "tree": "3f7c52039dceefeae2abf010a1a3ec8abef0c459",
      "parents": [
        "8bc4392a1e50f346e97f8777aaefd9cfc3d45c9f"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Mon Sep 26 09:56:44 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Wed Oct 12 23:42:17 2011 -0500"
      },
      "message": "cifs: Add mount options for backup intent (try #6)\n\nAdd mount options backupuid and backugid.\n\nIt allows an authenticated user to access files with the intent to back them\nup including their ACLs, who may not have access permission but has\n\"Backup files and directories user right\" on them (by virtue of being part\nof the built-in group Backup Operators.\n\nWhen mount options backupuid is specified, cifs client restricts the\nuse of backup intents to the user whose effective user id is specified\nalong with the mount option.\n\nWhen mount options backupgid is specified, cifs client restricts the\nuse of backup intents to the users whose effective user id belongs to the\ngroup id specified along with the mount option.\n\nIf an authenticated user is not part of the built-in group Backup Operators\nat the server, access to such files is denied, even if allowed by the client.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "e75047344ea415760b2508a6fa29c0288c7b6b68",
      "tree": "14abdd67059e4d6a33ce149a4474dbaafc75b9b7",
      "parents": [
        "ba749e6d5227de22e442c6088cc7dc1f0c5c68bf"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Wed Oct 12 17:47:03 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Wed Oct 12 23:42:05 2011 -0500"
      },
      "message": "add new module parameter \u0027enable_oplocks\u0027\n\nThus spake Jeff Layton:\n\n\"Making that a module parm would allow you to set that parameter at boot\ntime without needing to add special startup scripts. IMO, all of the\nprocfile \"switches\" under /proc/fs/cifs should be module parms\ninstead.\"\n\nThis patch doesn\u0027t alter the default behavior (Oplocks are enabled by\ndefault).\n\nTo disable oplocks when loading the module, use\n\n   modprobe cifs enable_oplocks\u003d0\n\n(any of \u00270\u0027 or \u0027n\u0027 or \u0027N\u0027 conventions can be used).\n\nTo disable oplocks at runtime using the new interface, use\n\n   echo 0 \u003e /sys/module/cifs/parameters/enable_oplocks\n\nThe older /proc/fs/cifs/OplockEnabled interface will be deprecated\nafter two releases. A subsequent patch will add an warning message\nabout this deprecation.\n\nChanges since v2:\n   - make enable_oplocks a \u0027bool\u0027\n\nChanges since v1:\n   - eliminate the use of extra variable by renaming the old one to\n     enable_oplocks and make it an \u0027int\u0027 type.\n\nReported-by: Alexander Swen \u003calex@swen.nu\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "c974befa402b5eb2ed115b3083b5a46a4be85a9f",
      "tree": "88c5835981e1e306248b9f9c4662510ff5b8d5e1",
      "parents": [
        "f3a6a60e4c3ac83370c620dbbd08d2a418b9364d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Oct 11 06:41:32 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Wed Oct 12 23:41:32 2011 -0500"
      },
      "message": "cifs: untangle server-\u003emaxBuf and CIFSMaxBufSize\n\nserver-\u003emaxBuf is the maximum SMB size (including header) that the\nserver can handle. CIFSMaxBufSize is the maximum amount of data (sans\nheader) that the client can handle. Currently maxBuf is being capped at\nCIFSMaxBufSize + the max headers size, and the two values are used\nsomewhat interchangeably in the code.\n\nThis makes little sense as these two values are not related at all.\nSeparate them and make sure the code uses the right values in the right\nplaces.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "ad635942c869ad8fc9af270d4998c42b4e978b32",
      "tree": "b199a039df4aacd26224302b7c29193171e4d444",
      "parents": [
        "5980fc966bb347801f3fcc39a2ef2a1e14fbf8cb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jul 26 12:20:17 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jul 31 21:21:20 2011 +0000"
      },
      "message": "cifs: simplify refcounting for oplock breaks\n\nCurrently, we take a sb-\u003es_active reference and a cifsFileInfo reference\nwhen an oplock break workqueue job is queued. This is unnecessary and\nmore complicated than it needs to be. Also as Al points out,\ndeactivate_super has non-trivial locking implications so it\u0027s best to\navoid that if we can.\n\nInstead, just cancel any pending oplock breaks for this filehandle\nsynchronously in cifsFileInfo_put after taking it off the lists.\nThat should ensure that this job doesn\u0027t outlive the structures it\ndepends on.\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bbd9d6f7fbb0305c9a592bf05a32e87eb364a4ff",
      "tree": "12b2bb4202b05f6ae6a43c6ce830a0472043dbe5",
      "parents": [
        "8e204874db000928e37199c2db82b7eb8966cc3c",
        "5a9a43646cf709312d71eca71cef90ad802f28f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jul 22 19:02:39 2011 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)\n  vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp\n  isofs: Remove global fs lock\n  jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory\n  fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.\n  mm/truncate.c: fix build for CONFIG_BLOCK not enabled\n  fs:update the NOTE of the file_operations structure\n  Remove dead code in dget_parent()\n  AFS: Fix silly characters in a comment\n  switch d_add_ci() to d_splice_alias() in \"found negative\" case as well\n  simplify gfs2_lookup()\n  jfs_lookup(): don\u0027t bother with . or ..\n  get rid of useless dget_parent() in btrfs rename() and link()\n  get rid of useless dget_parent() in fs/btrfs/ioctl.c\n  fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n  drivers: fix up various -\u003ellseek() implementations\n  fs: handle SEEK_HOLE/SEEK_DATA properly in all fs\u0027s that define their own llseek\n  Ext4: handle SEEK_HOLE/SEEK_DATA generically\n  Btrfs: implement our own -\u003ellseek\n  fs: add SEEK_HOLE and SEEK_DATA flags\n  reiserfs: make reiserfs default to barrier\u003dflush\n  ...\n\nFix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new\nshrinker callout for the inode cache, that clashed with the xfs code to\nstart the periodic workers later.\n"
    },
    {
      "commit": "2cebaa58b7de775386732bbd6cd11c3f5b73faf0",
      "tree": "aaa392677870ded6c3790e1d327fa12f584e767f",
      "parents": [
        "cf6ace16a3cd8b728fb0afa68368fd40bbeae19f"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Wed Jul 20 18:24:09 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jul 21 00:48:05 2011 +0000"
      },
      "message": "CIFS: Fix wrong length in cifs_iovec_read\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "02c24a82187d5a628c68edfe71ae60dc135cd178",
      "tree": "c8dbaba4d82e2b20ed4335910a564a1f7d90fcf6",
      "parents": [
        "22735068d53c7115e384bc88dea95b17e76a6839"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "josef@redhat.com",
        "time": "Sat Jul 16 20:44:56 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 20:47:59 2011 -0400"
      },
      "message": "fs: push i_mutex and filemap_write_and_wait down into -\u003efsync() handlers\n\nBtrfs needs to be able to control how filemap_write_and_wait_range() is called\nin fsync to make it less of a painful operation, so push down taking i_mutex and\nthe calling of filemap_write_and_wait() down into the -\u003efsync() handlers.  Some\nfile systems can drop taking the i_mutex altogether it seems, like ext3 and\nocfs2.  For correctness sake I just pushed everything down in all cases to make\nsure that we keep the current behavior the same for everybody, and then each\nindividual fs maintainer can make up their mind about what to do from there.\nThanks,\n\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Josef Bacik \u003cjosef@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "96daf2b09178d8ebde2b0d56b027de917c17dfdf",
      "tree": "74802fa44e87925e49067d5106eb762cc27b9b97",
      "parents": [
        "07cc6cf9ef84bcf6a60ee513332bcb0ad5d628d8"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 27 04:34:02 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 27 04:34:02 2011 +0000"
      },
      "message": "[CIFS] Rename three structures to avoid camel case\n\nsecMode to sec_mode\nand\ncifsTconInfo to cifs_tcon\nand\ncifsSesInfo to cifs_ses\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d4ffff1fa9695c5b5c0bf337e208d8833b88ff2d",
      "tree": "acd4b6cfa7962a1cee7e9c81f11bd9ccb0d3ff24",
      "parents": [
        "25c7f41e9234f60af30e086278f1de7974f8816f"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Thu May 26 06:02:00 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 27 03:57:16 2011 +0000"
      },
      "message": "CIFS: Add rwpidforward mount option\n\nAdd rwpidforward mount option that switches on a mode when we forward\npid of a process who opened a file to any read and write operation.\n\nThis can prevent applications like WINE from failing on read or write\noperation on a previously locked file region from the same netfd from\nanother process if we use mandatory brlock style.\n\nIt is actual for WINE because during a run of WINE program two processes\nwork on the same netfd - share the same file struct between several VFS\nfds:\n1) WINE-server does open and lock;\n2) WINE-application does read and write.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fa2989f4473413a86890066aa3a5676a53b541e4",
      "tree": "a033c59307ba77ae0819e818aec7d68178d11d4d",
      "parents": [
        "c28c89fc43e3f81436efc4748837534d4d46f90c"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Thu May 26 10:01:59 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 26 18:07:02 2011 +0000"
      },
      "message": "CIFS: Use pid saved from cifsFileInfo in writepages and set_file_size\n\nWe need it to make them work with mandatory locking style because\nwe can fail in a situation like when kernel need to flush dirty pages\nand there is a lock held by a process who opened file.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c3d17b63e5eafcaf2678c11de801c189468631c8",
      "tree": "ce9edbb87abc452bf7ae1a3b33e2b5cac42ab023",
      "parents": [
        "b2e5cd33b598fb496b9366c445bd77c801efabb8"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu May 19 16:22:57 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed May 25 20:05:03 2011 +0000"
      },
      "message": "cifs: convert cifs_writepages to use async writes\n\nHave cifs_writepages issue asynchronous writes instead of waiting on\neach write call to complete before issuing another. This also allows us\nto return more quickly from writepages. It can just send out all of the\nI/Os and not wait around for the replies.\n\nIn the WB_SYNC_ALL case, if the write completes with a retryable error,\nthen the completion workqueue job will resend the write.\n\nThis also changes the page locking semantics a little bit. Instead of\nholding the page lock until the response is received, release it after\ndoing the send. This will reduce contention for the page lock and should\nprevent processes that have the file mmap\u0027ed from being blocked\nunnecessarily.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-and-Tested-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6feb9891da4f8b04ffca69c00eb56bb7c1b64dc4",
      "tree": "647e083e7e9c78b7f1b63482c7c6aaa5185963ff",
      "parents": [
        "0b81c1c405c063f3ecea66c2f5e9c3aefc5359c8"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Thu Apr 07 18:18:11 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 19 14:10:52 2011 +0000"
      },
      "message": "CIFS: Simplify invalidate part (try #5)\n\nSimplify many places when we call cifs_revalidate/invalidate to make\nit do what it exactly needs.\n\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0b81c1c405c063f3ecea66c2f5e9c3aefc5359c8",
      "tree": "b284b86c0e17c24affff9f6d1e1f2ab2d217021f",
      "parents": [
        "be8e3b0044a68e1f1002c432f6b40d290cf0701d"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Thu Mar 10 10:11:05 2011 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 19 14:10:51 2011 +0000"
      },
      "message": "CIFS: directio read/write cleanups\n\nRecently introduced strictcache mode brought a new code that can be\nefficiently used by directio part. That\u0027s let us add vectored operations\nand break unnecessary cifs_user_read and cifs_user_write.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9ad1506b42c828dff0b9d8f3914e1f837734e91c",
      "tree": "6108ad6564b013a978a717f52b06d5fff4d3ff0e",
      "parents": [
        "1cb06d0b50536af177b2f2f7cab25546f3731d3e"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Fri Apr 08 05:29:10 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 19 14:10:50 2011 +0000"
      },
      "message": "CIFS: Add launder_page operation (try #3)\n\nAdd this let us drop filemap_write_and_wait from cifs_invalidate_mapping\nand simplify the code to properly process invalidate logic.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ca83ce3d5b9ad321ee24f5870a77f0b21ac5a5de",
      "tree": "7added4d982e03c89599ef7c78c9b69845a7504d",
      "parents": [
        "d9b942013730c38ac83564d6669c6d0ecf6d754d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 12 09:13:44 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 14:19:55 2011 +0000"
      },
      "message": "cifs: don\u0027t allow mmap\u0027ed pages to be dirtied while under writeback (try #3)\n\nThis is more or less the same patch as before, but with some merge\nconflicts fixed up.\n\nIf a process has a dirty page mapped into its page tables, then it has\nthe ability to change it while the client is trying to write the data\nout to the server. If that happens after the signature has been\ncalculated then that signature will then be wrong, and the server will\nlikely reset the TCP connection.\n\nThis patch adds a page_mkwrite handler for CIFS that simply takes the\npage lock. Because the page lock is held over the life of writepage and\nwritepages, this prevents the page from becoming writeable until\nthe write call has completed.\n\nWith this, we can also remove the \"sign_zero_copy\" module option and\nalways inline the pages when writing.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bdf1b03e093bdbc571f404e751c7b0e2dca412ea",
      "tree": "59034d81cfd01c14c21256229a355a06310ce6b5",
      "parents": [
        "7797069305d13252fd66cf722aa8f2cbeb3c95cd"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Feb 22 20:17:19 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:40:43 2011 +0000"
      },
      "message": "cifs: replace /proc/fs/cifs/Experimental with a module parm\n\nThis flag currently only affects whether we allow \"zero-copy\" writes\nwith signing enabled. Typically we map pages in the pagecache directly\ninto the write request. If signing is enabled however and the contents\nof the page change after the signature is calculated but before the\nwrite is sent then the signature will be wrong. Servers typically\nrespond to this by closing down the socket.\n\nStill, this can provide a performance benefit so the \"Experimental\" flag\nwas overloaded to allow this. That\u0027s really not a good place for this\noption however since it\u0027s not clear what that flag does.\n\nMove that flag instead to a new module parameter that better describes\nits purpose. That\u0027s also better since it can be set at module insertion\ntime by configuring modprobe.d.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7797069305d13252fd66cf722aa8f2cbeb3c95cd",
      "tree": "85464ab3649def5954b04139c5854ae593db0703",
      "parents": [
        "a6360dd37e1a144ed11e6548371bade559a1e4df"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Apr 05 16:23:47 2011 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 12 00:39:05 2011 +0000"
      },
      "message": "cifs: check for private_data before trying to put it\n\ncifs_close doesn\u0027t check that the filp-\u003eprivate_data is non-NULL before\ntrying to put it. That can cause an oops in certain error conditions\nthat can occur on open or lookup before the private_data is set.\n\nReported-by: Ben Greear \u003cgreearb@candelatech.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7eaceaccab5f40bbfda044629a6298616aeaed50",
      "tree": "33954d12f63e25a47eb6d86ef3d3d0a5e62bf752",
      "parents": [
        "73c101011926c5832e6e141682180c4debe2cf45"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jaxboe@fusionio.com",
        "time": "Thu Mar 10 08:52:07 2011 +0100"
      },
      "message": "block: remove per-queue plugging\n\nCode has been converted over to the new explicit on-stack plugging,\nand delay users have been converted to use the new API for that.\nSo lets kill off the old plugging along with aops-\u003esync_page().\n\nSigned-off-by: Jens Axboe \u003cjaxboe@fusionio.com\u003e\n"
    },
    {
      "commit": "76429c148b939f5a6863c0a024eb8960ae91469a",
      "tree": "8c92827731a52e921755f4a24e9c46ad0882f033",
      "parents": [
        "9587fcff42f5bece3c0a44066b079235ee73cbb3"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Mon Jan 31 16:03:08 2011 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Feb 04 04:41:06 2011 +0000"
      },
      "message": "CIFS: Fix variable types in cifs_iovec_read/write (try #2)\n\nVariable \u0027i\u0027 should be unsigned long as it\u0027s used in circle with num_pages,\nand bytes_read/total_written should be ssize_t according to return value.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "31c2659d78c8be970833bc1e633593d291553ed3",
      "tree": "87042600840124ea3a8e905a6961bd5009e44fec",
      "parents": [
        "f855f6cbeb4f94cd4e4a225c2246ee8012c384a2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Jan 31 07:24:46 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jan 31 15:39:10 2011 +0000"
      },
      "message": "cifs: clean up some compiler warnings\n\nNew compiler warnings that I noticed when building a patchset based\non recent Fedora kernel:\n\nfs/cifs/cifssmb.c: In function \u0027CIFSSMBSetFileSize\u0027:\nfs/cifs/cifssmb.c:4813:8: warning: variable \u0027data_offset\u0027 set but not used\n[-Wunused-but-set-variable]\n\nfs/cifs/file.c: In function \u0027cifs_open\u0027:\nfs/cifs/file.c:349:24: warning: variable \u0027pCifsInode\u0027 set but not used\n[-Wunused-but-set-variable]\nfs/cifs/file.c: In function \u0027cifs_partialpagewrite\u0027:\nfs/cifs/file.c:1149:23: warning: variable \u0027cifs_sb\u0027 set but not used\n[-Wunused-but-set-variable]\nfs/cifs/file.c: In function \u0027cifs_iovec_write\u0027:\nfs/cifs/file.c:1740:9: warning: passing argument 6 of \u0027CIFSSMBWrite2\u0027 from\nincompatible pointer type [enabled by default]\nfs/cifs/cifsproto.h:337:12: note: expected \u0027unsigned int *\u0027 but argument is\nof type \u0027size_t *\u0027\n\nfs/cifs/readdir.c: In function \u0027cifs_readdir\u0027:\nfs/cifs/readdir.c:767:23: warning: variable \u0027cifs_sb\u0027 set but not used\n[-Wunused-but-set-variable]\n\nfs/cifs/cifs_dfs_ref.c: In function \u0027cifs_dfs_d_automount\u0027:\nfs/cifs/cifs_dfs_ref.c:342:2: warning: \u0027rc\u0027 may be used uninitialized in\nthis function [-Wuninitialized]\nfs/cifs/cifs_dfs_ref.c:278:6: note: \u0027rc\u0027 was declared here\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "72432ffcf555decbbae47f1be338e1d2f210aa69",
      "tree": "4293cb6e5b880071099756b7523f8f36bb7e16cc",
      "parents": [
        "93c100c0b423266c0ee28497e90fdf27c05e6b8e"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jan 24 14:16:35 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jan 25 19:30:13 2011 +0000"
      },
      "message": "CIFS: Implement cifs_strict_writev (try #4)\n\nIf we don\u0027t have Exclusive oplock we write a data to the server.\nAlso set invalidate_mapping flag on the inode if we wrote something\nto the server. Add cifs_iovec_write to let the client write iovec\nbuffers through CIFSSMBWrite2.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a70307eeeb25b89f6b2baf3cf3f0cef83c96ba12",
      "tree": "f96abbc5d22884fd4c15fdc834c769b7fcf790c4",
      "parents": [
        "7a6a19b17ab9103ec708c18befd28f2a3908d4c1"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Tue Dec 14 11:50:41 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:42:29 2011 +0000"
      },
      "message": "CIFS: Implement cifs_strict_readv (try #4)\n\nRead from the cache if we have at least Level II oplock - otherwise\nread from the server. Add cifs_user_readv to let the client read into\niovec buffers.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7a6a19b17ab9103ec708c18befd28f2a3908d4c1",
      "tree": "3b781bf11b2a25c93ce20dbd80876e7e01c730e6",
      "parents": [
        "8be7e6ba142423e6ad98fed293c96f196f685229"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Tue Dec 14 11:29:51 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:42:25 2011 +0000"
      },
      "message": "CIFS: Implement cifs_file_strict_mmap (try #2)\n\nInvalidate inode mapping if we don\u0027t have at least Level II oplock.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8be7e6ba142423e6ad98fed293c96f196f685229",
      "tree": "25bd7ce4aed4740082f0a472a8eed35127d9d61e",
      "parents": [
        "4f8ba8a0c095933dd54a2c281750c8a85b329b26"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Sun Dec 12 13:11:13 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:42:21 2011 +0000"
      },
      "message": "CIFS: Implement cifs_strict_fsync\n\nInvalidate inode mapping if we don\u0027t have at least Level II oplock in\ncifs_strict_fsync. Also remove filemap_write_and_wait call from cifs_fsync\nbecause it is previously called from vfs_fsync_range. Add file operations\u0027\nstructures for strict cache mode.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4f8ba8a0c095933dd54a2c281750c8a85b329b26",
      "tree": "511da3f47059fc575a5af4128b76997f67f3a1fe",
      "parents": [
        "76dcc26f1d7f1c98c3f595379dcd9562f01bf38d"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Sun Nov 21 22:36:12 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 21:42:17 2011 +0000"
      },
      "message": "CIFS: Make cifsFileInfo_put work with strict cache mode\n\nOn strict cache mode when we close the last file handle of the inode we\nshould set invalid_mapping flag on this inode to prevent data coherency\nproblem when we open it again but it has been modified on the server.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7749981ec31aa40e28a1ef5687e46bc1aa278fae",
      "tree": "7c5f75916f55cfe5130e88534c48678155974adf",
      "parents": [
        "fda3594362184383e73f0a2a5fa5b38ac0e04fd8"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:23 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 20 18:07:55 2011 +0000"
      },
      "message": "cifs: remove code for setting timeouts on requests\n\nSince we don\u0027t time out individual requests anymore, remove the code\nthat we used to use for setting timeouts on different requests.\n\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "941b853d779de3298e39f1eb4e252984464eaea8",
      "tree": "a1e41bb06debf22349f010a1c9427c9b89bb79b4",
      "parents": [
        "12fed00de963433128b5366a21a55808fab2f756"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jan 11 07:24:01 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:29 2011 +0000"
      },
      "message": "cifs: don\u0027t fail writepages on -EAGAIN errors\n\nIf CIFSSMBWrite2 returns -EAGAIN, then the error should be considered\ntemporary. CIFS should retry the write instead of setting an error on\nthe mapping and returning.\n\nFor WB_SYNC_ALL, just retry the write immediately. In the WB_SYNC_NONE\ncase, call redirty_page_for_writeback on all of the pages that didn\u0027t\nget written out and then move on.\n\nAlso, fix up the handling of a short write with a successful return\ncode. MS-CIFS says that 0 bytes_written means ENOSPC or EFBIG. It\ndoesn\u0027t mention what a short, but non-zero write means, so for now\ntreat it as we would an -EAGAIN return.\n\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "12fed00de963433128b5366a21a55808fab2f756",
      "tree": "2898690f5853027b70eda1bd7f3aeb78fe9af74d",
      "parents": [
        "c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jan 17 20:15:44 2011 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jan 19 17:52:29 2011 +0000"
      },
      "message": "CIFS: Fix oplock break handling (try #2)\n\nWhen we get oplock break notification we should set the appropriate\nvalue of OplockLevel field in oplock break acknowledge according to\nthe oplock level held by the client in this time. As we only can have\nlevel II oplock or no oplock in the case of oplock break, we should be\naware only about clientCanCacheRead field in cifsInodeInfo structure.\n\nAlso fix bug connected with wrong interpretation of OplockLevel field\nduring oplock break notification processing.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d44a9fe2c8af3fee8edb203e9b11e507851c50fa",
      "tree": "3deff359e1d04811af9c0b232107180d6bd490cd",
      "parents": [
        "ca40b714b8f9f20118b7071cb7cf49954166dbdf"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Jan 07 11:30:29 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jan 09 23:39:24 2011 +0000"
      },
      "message": "cifs: switch cifs_open and cifs_create to use CIFSSMBUnixSetFileInfo\n\nWe call CIFSSMBUnixSetPathInfo in these functions, but we have a\nfilehandle since an open was just done. Switch these functions to\nuse CIFSSMBUnixSetFileInfo instead.\n\nIn practice, these codepaths are only used if posix opens are broken.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7e12eddb73d4f288b0339ee13832a34d6bc4fd90",
      "tree": "6beacb189bb82572701e994046d7acb16698d3fb",
      "parents": [
        "eeb910a6d46103594eb63e6eba1aeb02022368a4"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Thu Nov 25 17:20:20 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 06 19:07:54 2011 +0000"
      },
      "message": "CIFS: Simplify cifs_open code\n\nMake the code more general for use in posix and non-posix open.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "eeb910a6d46103594eb63e6eba1aeb02022368a4",
      "tree": "93cc726fbf34bc55979dab967775096e879a0826",
      "parents": [
        "4b886136df2b923b6fc6b2d83faa9554e84e05ab"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Thu Nov 25 15:12:39 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 06 19:07:53 2011 +0000"
      },
      "message": "CIFS: Simplify non-posix open stuff (try #2)\n\nDelete cifs_open_inode_helper and move non-posix open related things\nto cifs_nt_open function.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "79df1baeec29022e4181f2964187b88661ef5517",
      "tree": "2692721239eeb8bbfe591fc1ef038c90e61e8826",
      "parents": [
        "ebb27386ffd2fcd0fad141e0eee97b8070f94ee2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 06 12:52:08 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Dec 06 20:22:39 2010 +0000"
      },
      "message": "cifs: fix use of CONFIG_CIFS_ACL\n\nSome of the code under CONFIG_CIFS_ACL is dependent upon code under\nCONFIG_CIFS_EXPERIMENTAL, but the Kconfig options don\u0027t reflect that\ndependency. Move more of the ACL code out from under\nCONFIG_CIFS_EXPERIMENTAL and under CONFIG_CIFS_ACL.\n\nAlso move find_readable_file out from other any sort of Kconfig\noption and make it a function normally compiled in.\n\nReported-and-Acked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ebe2e91e000c59aed0300d81815f451c85e0bda6",
      "tree": "fc3f70522b873aba4cae89c963386a890d24fa5c",
      "parents": [
        "f6614b7bb405a9b35dd28baea989a749492c46b2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Nov 10 10:19:10 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Nov 10 15:37:17 2010 +0000"
      },
      "message": "cifs: fix potential use-after-free in cifs_oplock_break_put\n\ncfile may very well be freed after the cifsFileInfo_put. Make sure we\nhave a valid pointer to the superblock for cifs_sb_deactive.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c67236281c5d749741f5414103903a7c1b9c4636",
      "tree": "ddc93fd5fcf47db18ce067309475a12a32b4c00c",
      "parents": [
        "d38922949d377da7d47473c7868334408ae3b373"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Wed Nov 03 10:58:57 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 05 17:39:01 2010 +0000"
      },
      "message": "cifs: make cifs_set_oplock_level() take a cifsInodeInfo pointer\n\nAll the callers already have a pointer to struct cifsInodeInfo. Use it.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d38922949d377da7d47473c7868334408ae3b373",
      "tree": "322cf984f274c45da08d57acc74d29bb5c5e5048",
      "parents": [
        "6ef933a38ade555a175ecab9d803e6bb73399763"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Nov 02 16:22:50 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 04 19:39:07 2010 +0000"
      },
      "message": "cifs: dereferencing first then checking\n\nThis patch is based on Dan\u0027s original patch. His original description is\nbelow:\n\nSmatch complained about a couple checking for NULL after dereferencing\nbugs.  I\u0027m not super familiar with the code so I did the conservative\nthing and move the dereferences after the checks.\n\nThe dereferences in cifs_lock() and cifs_fsync() were added in\nba00ba64cf0 \"cifs: make various routines use the cifsFileInfo-\u003etcon\npointer\".  The dereference in find_writable_file() was added in\n6508d904e6f \"cifs: have find_readable/writable_file filter by fsuid\".\nThe comments there say it\u0027s possible to trigger the NULL dereference\nunder stress.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "54eeafe1e4fb7b11da17adacacb1fbe279e0cf6e",
      "tree": "834e7946a6518745ce168dfb6cbd7ffc6c21739c",
      "parents": [
        "b647c35f77af9c07d336247b23014596e9f0a593"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:22:45 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 19:22:45 2010 +0000"
      },
      "message": "[CIFS] Cleanup unused variable build warning\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e66673e39ac9d4749bd9676dd1caf928095409f5",
      "tree": "f16191d689910a4f939992d8836e575195633116",
      "parents": [
        "ce2f6fb8bd8c1e85f288033020dfc31c9fc2be94"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Tue Nov 02 12:00:42 2010 +0300"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 18:40:54 2010 +0000"
      },
      "message": "CIFS: Add cifs_set_oplock_level\n\nSimplify many places when we need to set oplock level on an inode.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "50ae28f0144a790fc63a5b89b9aca3ffa9f88522",
      "tree": "b0e77798ad82428f4f0026cf8f72cc0608ab3223",
      "parents": [
        "c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Nov 01 16:08:55 2010 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 02 03:47:21 2010 +0000"
      },
      "message": "FS: cifs, remove unneeded NULL tests\n\nStanse found that pSMBFile in cifs_ioctl and file-\u003ef_path.dentry in\ncifs_user_write are dereferenced prior their test to NULL.\n\nThe alternative is not to dereference them before the tests. The patch is\nto point out the problem, you have to decide.\n\nWhile at it we cache the inode in cifs_user_write to a local variable\nand use all over the function.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: linux-cifs@vger.kernel.org\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b4020c1b198c0f0c0b0ff0cfdd824a26b93edd6f",
      "tree": "f2d0dcca7bae865606e90ffc2599c993da1a888f",
      "parents": [
        "435f49a518c78eec8e2edbbadd912737246cbe20",
        "d3686d54c7902a303bd65d751226aa1647319863"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 10:37:27 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 29 10:37:27 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: Cleanup and thus reduce smb session structure and fields used during authentication\n  NTLM auth and sign - Use appropriate server challenge\n  cifs: add kfree() on error path\n  NTLM auth and sign - minor error corrections and cleanup\n  NTLM auth and sign - Use kernel crypto apis to calculate hashes and smb signatures\n  NTLM auth and sign - Define crypto hash functions and create and send keys needed for key exchange\n  cifs: cifs_convert_address() returns zero on error\n  NTLM auth and sign - Allocate session key/client response dynamically\n  cifs: update comments - [s/GlobalSMBSesLock/cifs_file_list_lock/g]\n  cifs: eliminate cifsInodeInfo-\u003ewrite_behind_rc (try #6)\n  [CIFS] Fix checkpatch warnings and bump cifs version number\n  cifs: wait for writeback to complete in cifs_flush\n  cifs: convert cifsFileInfo-\u003ecount to non-atomic counter\n"
    },
    {
      "commit": "6b03590412c977ae8fa1635c9b80854ab19a5b78",
      "tree": "b2a6d50f52cbb26241fa9bc7a951488e3b645847",
      "parents": [
        "f7c5445a9deecffea8a4fffc0163bf582411ac8a"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Oct 27 23:19:32 2010 +0200"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 28 00:55:45 2010 +0000"
      },
      "message": "cifs: add kfree() on error path\n\nWe leak 256 bytes here on this error path.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1b430beee5e388605dfb092b214ef0320f752cf6",
      "tree": "c1b1ece282aab771fd1386a3fe0c6e82cb5c5bfe",
      "parents": [
        "d19d5476f4b9f91d2de92b91588bb118beba6c0d"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Oct 26 14:21:26 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 26 16:52:05 2010 -0700"
      },
      "message": "writeback: remove nonblocking/encountered_congestion references\n\nThis removes more dead code that was somehow missed by commit 0d99519efef\n(writeback: remove unused nonblocking and congestion checks).  There are\nno behavior change except for the removal of two entries from one of the\next4 tracing interface.\n\nThe nonblocking checks in -\u003ewritepages are no longer used because the\nflusher now prefer to block on get_request_wait() than to skip inodes on\nIO congestion.  The latter will lead to more seeky IO.\n\nThe nonblocking checks in -\u003ewritepage are no longer used because it\u0027s\nredundant with the WB_SYNC_NONE check.\n\nWe no long set -\u003enonblocking in VM page out and page migration, because\na) it\u0027s effectively redundant with WB_SYNC_NONE in current code\nb) it\u0027s old semantic of \"Don\u0027t get stuck on request queues\" is mis-behavior:\n   that would skip some dirty inodes on congestion and page out others, which\n   is unfair in terms of LRU age.\n\nInspired by Christoph Hellwig. Thanks!\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Sage Weil \u003csage@newdream.net\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6573e9b73e19c0f6b9dfa2b399267ea0f42d6c6b",
      "tree": "7752091c8b066be2c792164f9dd1a3ea4354c4a8",
      "parents": [
        "eb4b756b1e60b66e54932619088b645c712414a3"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Oct 18 23:52:18 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 25 00:19:01 2010 +0000"
      },
      "message": "cifs: update comments - [s/GlobalSMBSesLock/cifs_file_list_lock/g]\n\nGlobalSMBSesLock is now cifs_file_list_lock. Update comments to reflect this.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "eb4b756b1e60b66e54932619088b645c712414a3",
      "tree": "c2a10df2f33be6bd9a8b5491cc1815515dc59e84",
      "parents": [
        "6c0f6218ba04a5d6e61d0c55b68e6c4ef0736531"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 22 14:52:29 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 25 00:19:00 2010 +0000"
      },
      "message": "cifs: eliminate cifsInodeInfo-\u003ewrite_behind_rc (try #6)\n\nwrite_behind_rc is redundant and just adds complexity to the code. What\nwe really want to do instead is to use mapping_set_error to reset the\nflags on the mapping when we find a writeback error and can\u0027t report it\nto userspace yet.\n\nFor cifs_flush and cifs_fsync, we shouldn\u0027t reset the flags since errors\nreturned there do get reported to userspace.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d3f1322af8f866be54ea79a4002fc30c98290411",
      "tree": "b043a2c269a0e2b8b64c34644dfe8586f114ead9",
      "parents": [
        "5f6dbc9e4afe4d1d39e85de3ac2720a2042ad191"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:07 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 25 00:18:59 2010 +0000"
      },
      "message": "cifs: wait for writeback to complete in cifs_flush\n\nThe f_op-\u003eflush operation is the last chance to return a writeback\nrelated error when closing a file. Ensure that we don\u0027t miss reporting\nany errors by waiting for writeback to complete in cifs_flush before\nproceeding.\n\nThere\u0027s no reason to do this when the file isn\u0027t open for write\nhowever.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: David Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5f6dbc9e4afe4d1d39e85de3ac2720a2042ad191",
      "tree": "8e97fe18b6d0824981fd377b2ff35042da264bb4",
      "parents": [
        "229aebb873e29726b91e076161649cf45154b0bf"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:06 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 25 00:18:59 2010 +0000"
      },
      "message": "cifs: convert cifsFileInfo-\u003ecount to non-atomic counter\n\nThe count for cifsFileInfo is currently an atomic, but that just adds\ncomplexity for little value. We generally need to hold cifs_file_list_lock\nto traverse the lists anyway so we might as well make this counter\nnon-atomic and simply use the cifs_file_list_lock to protect it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cdff08e76612e53580139653403aedea979aa639",
      "tree": "1ebd74be361b7e34158974242a2303f7833c983d",
      "parents": [
        "3f9bcca7820a6711307b6499952b13cfcfc31dd6"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 21 22:46:14 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 21 22:46:14 2010 +0000"
      },
      "message": "[CIFS] move close processing  from cifs_close to cifsFileInfo_put\n\nNow that it\u0027s feasible for a cifsFileInfo to outlive the filp under\nwhich it was created, move the close processing into cifsFileInfo_put.\n\nThis means that the last user of the filehandle always does the actual\non the wire close call. This also allows us to get rid of the closePend\nflag from cifsFileInfo. If we have an active reference to the file\nthen it\u0027s never going to have a close pending.\n\ncifs_close is converted to simply put the filehandle.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b33879aa834ebe03ced3dca4e3b822bd8894a474",
      "tree": "9475bb683f03180a5fe7909d4182bb5273f5d7a6",
      "parents": [
        "4477288a103631980750c86547d1fd54bfd2ba7d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:04 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:32:05 2010 +0000"
      },
      "message": "cifs: move cifsFileInfo_put to file.c\n\n...and make it non-inlined in preparation for the move of most of\ncifs_close to it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4477288a103631980750c86547d1fd54bfd2ba7d",
      "tree": "e0d56476a740f043f6687e063ff88d2982b4c444",
      "parents": [
        "7a16f1961a5c61d1f60d9e0d3d171cf7793fb5cb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:03 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:32:01 2010 +0000"
      },
      "message": "cifs: convert GlobalSMBSeslock from a rwlock to regular spinlock\n\nConvert this lock to a regular spinlock\n\nA rwlock_t offers little value here. It\u0027s more expensive than a regular\nspinlock unless you have a fairly large section of code that runs under\nthe read lock and can benefit from the concurrency.\n\nAdditionally, we need to ensure that the refcounting for files isn\u0027t\nracy and to do that we need to lock areas that can increment it for\nwrite. That means that the areas that can actually use a read_lock are\nvery few and relatively infrequently used.\n\nWhile we\u0027re at it, change the name to something easier to type, and fix\na bug in find_writable_file. cifsFileInfo_put can sleep and shouldn\u0027t be\ncalled while holding the lock.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "15ecb436c00fcb13b6dc32bdcbb9f75fc9b7613e",
      "tree": "983bd08a195f701b3bffdb495fcf4e6f0e3b42cc",
      "parents": [
        "2e396b83f6087b78dac5a18d6d0cf9f8426a00b3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:02 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:07:31 2010 +0000"
      },
      "message": "cifs: move cifs_new_fileinfo to file.c\n\nIt\u0027s currently in dir.c which makes little sense...\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2e396b83f6087b78dac5a18d6d0cf9f8426a00b3",
      "tree": "890c0af098920fe79e85f475a25fcc2f0d8c00bc",
      "parents": [
        "7da4b49a0ec481239d9cd51f7053aa8e4e191fa7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:01 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:07:20 2010 +0000"
      },
      "message": "cifs: eliminate pfile pointer from cifsFileInfo\n\nAll the remaining users of cifsFileInfo-\u003epfile just use it to get\nat the f_flags/f_mode. Now that we store that separately in the\ncifsFileInfo, there\u0027s no need to consult the pfile at all from\na cifsFileInfo pointer.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7da4b49a0ec481239d9cd51f7053aa8e4e191fa7",
      "tree": "97f451d75ede084bb7f1c8d2bc843680763f2e16",
      "parents": [
        "15886177e412db00aa86155fe72608c4ebf5a08f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:00 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:04:23 2010 +0000"
      },
      "message": "cifs: cifs_write argument change and cleanup\n\nHave cifs_write take a cifsFileInfo pointer instead of a filp. Since\ncifsFileInfo holds references on the dentry, and that holds one to\nthe inode, we can eliminate some unneeded NULL pointer checks.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "15886177e412db00aa86155fe72608c4ebf5a08f",
      "tree": "eb4ac34ee40ae499ae2a68c44f71effe657b4504",
      "parents": [
        "abfe1eedd682ea0f20e7035445982e6d371a2024"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:33:59 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:04:19 2010 +0000"
      },
      "message": "cifs: clean up cifs_reopen_file\n\nAdd a f_flags field that holds the f_flags field from the filp. We\u0027ll\nneed this info in case the filp ever goes away before the cifsFileInfo\ndoes. Have cifs_reopen_file use that value instead of filp-\u003ef_flags\ntoo and have it take a cifsFileInfo arg instead of a filp.\n\nWhile we\u0027re at it, get rid of some bogus cargo-cult NULL pointer\nchecks in that function and reduce the level of indentation.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "abfe1eedd682ea0f20e7035445982e6d371a2024",
      "tree": "70d5fe483cae0f782b8e78ea5c08ef2dbb45c2e7",
      "parents": [
        "f6a53460e2a105904deeada737b3f878d78517b3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:33:58 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:04:16 2010 +0000"
      },
      "message": "cifs: eliminate the inode argument from cifs_new_fileinfo\n\nIt already takes a file pointer. The inode associated with that had damn\nwell better be the same one we\u0027re passing in anyway. Thus, there\u0027s no\nneed for a separate argument here.\n\nAlso, get rid of the bogus check for a null pCifsInode pointer. The\nCIFS_I macro uses container_of(), and that will virtually never return a\nNULL pointer anyway.\n\nFinally, move the setting of the canCache* flags outside of the lock.\nOther places in the code don\u0027t hold that lock when setting it, so I\nassume it\u0027s not really needed here either.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f6a53460e2a105904deeada737b3f878d78517b3",
      "tree": "f51122e6e3e2a5d3a864d17cad708d313b0ef12a",
      "parents": [
        "608712fe8609492a8670638ea86b97fafe49ebba"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:33:57 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 00:34:35 2010 +0000"
      },
      "message": "cifs: eliminate oflags option from cifs_new_fileinfo\n\nEliminate the poor, misunderstood \"oflags\" option from cifs_new_fileinfo.\nThe callers mostly pass in the filp-\u003ef_flags here.\n\nThat\u0027s not correct however since we\u0027re checking that value for\nthe presence of FMODE_READ. Luckily that only affects how the f_list is\nordered. What it really wants here is the file-\u003ef_mode. Just use that\nfield from the filp to determine it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "608712fe8609492a8670638ea86b97fafe49ebba",
      "tree": "b175e2ac5e71ab8d6541a82d496d5dc6cc812acf",
      "parents": [
        "2f4f26fcf393ef4a44abe10e79c1966e64e86055"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:33:56 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 00:34:29 2010 +0000"
      },
      "message": "cifs: fix flags handling in cifs_posix_open\n\nThe way flags are passed and converted for cifs_posix_open is rather\nnon-sensical. Some callers call cifs_posix_convert_flags on the flags\nbefore they pass them to cifs_posix_open, whereas some don\u0027t. Two flag\nconversion steps is just confusing though.\n\nChange the function instead to clearly expect input in f_flags format,\nand fix the callers to pass that in. Then, have cifs_posix_open call\ncifs_convert_posix_flags to do the conversion. Move cifs_posix_open to\nfile.c as well so we can keep cifs_convert_posix_flags as a static\nfunction.\n\nFix it also to not ignore O_CREAT, O_EXCL and O_TRUNC, and instead have\ncifs_reopen_file mask those bits off before calling cifs_posix_open.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2f4f26fcf393ef4a44abe10e79c1966e64e86055",
      "tree": "0a1f2430336cea006a47d4dc835a9e271ce90dc0",
      "parents": [
        "6221ddd0f5e2ddc1d5d928119a2cde033d16f96d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 13 18:50:39 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Oct 15 18:22:21 2010 +0000"
      },
      "message": "cifs: eliminate cifs_posix_open_inode_helper\n\ncifs: eliminate cifs_posix_open_inode_helper\n\nThis function is redundant. The only thing it does is set the canCache\nflags, but those get set in cifs_new_fileinfo anyway.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d7c86ff8cd00abc730fe5d031f43dc9138b6324e",
      "tree": "a1f264ce2f33e3ac77a459291b9a5e45a63e3bff",
      "parents": [
        "a5e18bc36e9e05ce0338d370a2ce4290910e43ea"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 11 15:07:19 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 12 18:08:01 2010 +0000"
      },
      "message": "cifs: don\u0027t use vfsmount to pin superblock for oplock breaks\n\nFilesystems aren\u0027t really supposed to do anything with a vfsmount. It\u0027s\nconsidered a layering violation since vfsmounts are entirely managed at\nthe VFS layer.\n\nCIFS currently keeps an active reference to a vfsmount in order to\nprevent the superblock vanishing before an oplock break has completed.\nWhat we really want to do instead is to keep sb-\u003es_active high until the\noplock break has completed. This patch borrows the scheme that NFS uses\nfor handling sillyrenames.\n\nAn atomic_t is added to the cifs_sb_info. When it transitions from 0 to\n1, an extra reference to the superblock is taken (by bumping the\ns_active value). When it transitions from 1 to 0, that reference is\ndropped and a the superblock teardown may proceed if there are no more\nreferences to it.\n\nAlso, the vfsmount pointer is removed from cifsFileInfo and from\ncifs_new_fileinfo, and some bogus forward declarations are removed from\ncifsfs.h.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a5e18bc36e9e05ce0338d370a2ce4290910e43ea",
      "tree": "9d8b37c1dd20267c372ff8c98850eeb2f204449b",
      "parents": [
        "1c456013e96f10915578dc61095d19b4906f64ac"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 11 15:07:18 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 12 18:06:42 2010 +0000"
      },
      "message": "cifs: keep dentry reference in cifsFileInfo instead of inode reference\n\ncifsFileInfo is a bit problematic. It contains a reference back to the\nstruct file itself. This makes it difficult for a cifsFileInfo to exist\nwithout a corresponding struct file.\n\nIt would be better instead of the cifsFileInfo just held info pertaining\nto the open file on the server instead without any back refrences to the\nstruct file. This would allow it to exist after the filp to which it was\noriginally attached was closed.\n\nMuch of the use of the file pointer in this struct is to get at the\ndentry.  Begin divorcing the cifsFileInfo from the struct file by\nkeeping a reference to the dentry. Since the dentry will have a\nreference to the inode, we can eliminate the \"pInode\" field too and\nconvert the igrab/iput to dget/dput.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    }
  ],
  "next": "6508d904e6fb66ce4c34617f72b38d6714c4b9f6"
}
