)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "6508d904e6fb66ce4c34617f72b38d6714c4b9f6",
      "tree": "a5d24f696c9a9045c3880671eeb5fbc6ca9f61ab",
      "parents": [
        "13cfb7334eb6fd0fc06da5589aea1e947791f1d6"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 29 19:51:11 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 06 16:12:59 2010 +0000"
      },
      "message": "cifs: have find_readable/writable_file filter by fsuid\n\nWhen we implement multiuser mounts, we\u0027ll need to filter filehandles\nby fsuid. Add a flag for multiuser mounts and code to filter by\nfsuid when it\u0027s set.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "13cfb7334eb6fd0fc06da5589aea1e947791f1d6",
      "tree": "56d884f6a5dbcf8b259247fdad55c9158bd4d865",
      "parents": [
        "7ffec372458d163492e56e663a1b3a2d7be0a0a2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 29 19:51:11 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 06 16:12:49 2010 +0000"
      },
      "message": "cifs: have cifsFileInfo hold a reference to a tlink rather than tcon pointer\n\ncifsFileInfo needs a pointer to a tcon, but it doesn\u0027t currently hold a\nreference to it. Change it to keep a pointer to a tcon_link instead and\nhold a reference to it.\n\nThat will keep the tcon from being freed until the file is closed.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7ffec372458d163492e56e663a1b3a2d7be0a0a2",
      "tree": "e404e3d1000ff41e9b27d0ecb4d6a47187e110d7",
      "parents": [
        "f3983c2133e9bea9c8b4f690737d15e3e9b02491"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 29 19:51:11 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 06 16:12:44 2010 +0000"
      },
      "message": "cifs: add refcounted and timestamped container for holding tcons\n\nEventually, we\u0027ll need to track the use of tcons on a per-sb basis, so that\nwe know when it\u0027s ok to tear them down. Begin this conversion by adding a\nnew \"tcon_link\" struct and accessors that get it. For now, the core data\nstructures are untouched -- cifs_sb still just points to a single tcon and\nthe pointers are just cast to deal with the accessor functions. A later\npatch will flesh this out.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f3983c2133e9bea9c8b4f690737d15e3e9b02491",
      "tree": "89cc00b209368a41e5554ac1be103ef6e79d8fe1",
      "parents": [
        "f7a40689fd1e963cb1006349e050c07584895db5"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 22 16:17:40 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:33 2010 +0000"
      },
      "message": "cifs: fix handling of signing with writepages (try #6)\n\nGet a reference to the file early so we can eventually base the decision\nabout signing on the correct tcon. If that doesn\u0027t work for some reason,\nthen fall back to generic_writepages. That\u0027s just as likely to fail, but\nit simplifies the error handling.\n\nIn truth, I\u0027m not sure how that could occur anyway, so maybe a NULL\nopen_file here ought to be a BUG()?\n\nAfter that, we drop the reference to the open_file and then we re-get\none prior to each WriteAndX call. This helps ensure that the filehandle\nisn\u0027t held open any longer than necessary and that open files are\nreclaimed prior to each write call.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f7a40689fd1e963cb1006349e050c07584895db5",
      "tree": "32c0275bde5c7c2a9cb36c672648bb19e392171f",
      "parents": [
        "0d424ad0a4b8c08e45928bccfa5b4b240097b01b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 20 16:01:36 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:33 2010 +0000"
      },
      "message": "cifs: have cifs_new_fileinfo take a tcon arg\n\nTo minimize calls to cifs_sb_tcon and to allow for a clear error path if\na tcon can\u0027t be acquired.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a6e8a8455c94565c53e1a1756d2ab9d9e3a902b8",
      "tree": "544628293da6aa14a136c915d887d0abdc689a03",
      "parents": [
        "ba00ba64cf0895e4c2ac507e56306363dc125a90"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 20 16:01:33 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:32 2010 +0000"
      },
      "message": "cifs: add function to get a tcon from cifs_sb\n\nWhen we convert cifs to do multiple sessions per mount, we\u0027ll need more\nthan one tcon per superblock. At that point \"cifs_sb-\u003etcon\" will make\nno sense. Add a new accessor function that gets a tcon given a cifs_sb.\nFor now, it just returns cifs_sb-\u003etcon. Later it\u0027ll do more.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ba00ba64cf0895e4c2ac507e56306363dc125a90",
      "tree": "8edcd34f27aa623535fc5d640aa75c6dbb0d7a65",
      "parents": [
        "d3bf5221d3274b5015ad18a55060b074cca8d2f0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 20 16:01:31 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:32 2010 +0000"
      },
      "message": "cifs: make various routines use the cifsFileInfo-\u003etcon pointer\n\n...where it\u0027s available and appropriate.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "aa91c7e4ab9b0842b7d7a7cbf8cca18b20df89b5",
      "tree": "94827b3006d85b8accf179ea3da30e1569983e68",
      "parents": [
        "a347ecb209b58a1b37f20d8299ab552f7d3ee8c3"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Fri Sep 17 18:56:39 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:28 2010 +0000"
      },
      "message": "cifs: fix broken oplock handling\n\ncifs_new_fileinfo() does not use the \u0027oplock\u0027 value from the callers. Instead,\nit sets it to REQ_OPLOCK which seems wrong. We should be using the oplock value\nobtained from the Server to set the inode\u0027s clientCanCacheAll or\nclientCanCacheRead flags. Fix this by passing oplock from the callers to\ncifs_new_fileinfo().\n\nThis change dates back to commit a6ce4932 (2.6.30-rc3). So, all the affected\nversions will need this fix. Please Cc stable once reviewed and accepted.\n\nCc: Stable \u003cstable@kernel.org\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a347ecb209b58a1b37f20d8299ab552f7d3ee8c3",
      "tree": "67742ff720e87b28c0621f5b200b8c1d06d930f9",
      "parents": [
        "899611ee7d373e5eeda08e9a8632684e1ebbbf00"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Fri Sep 17 19:43:10 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:28 2010 +0000"
      },
      "message": "cifs: use type __u32 instead of int for the oplock parameter\n\n... and avoid implicit casting from a signed type. Also, pass oplock by value\ninstead by reference as we don\u0027t intend to change the value in\ncifs_open_inode_helper().\n\nThanks to Jeff Layton for spotting this.\n\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "232341ba7fa15115d40f6aa0f8dd14e96e3ad375",
      "tree": "1e9c2232b754d99616e5f7770d4c637438411455",
      "parents": [
        "5d9ac7fd32f600f9451ea58abdb07f7ed42e921d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Aug 05 13:58:38 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 16 20:34:48 2010 +0000"
      },
      "message": "cifs: consolidate error handling in several functions\n\ncifs has a lot of complicated functions that have to clean up things on\nerror, but some of them don\u0027t have all of the cleanup code\nwell-consolidated. Clean up and consolidate error handling in several\nfunctions.\n\nThis is in preparation of later patches that will need to put references\nto the tcon link container.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3b7433b8a8a83c87972065b1852b7dcae691e464",
      "tree": "93fa2c003f8baef5ab0733b53bac77961ed5240c",
      "parents": [
        "4a386c3e177ca2fbc70c9283d0b46537844763a0",
        "6ee0578b4daaea01c96b172c6aacca43fd9807a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 12:42:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 12:42:58 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (55 commits)\n  workqueue: mark init_workqueues() as early_initcall()\n  workqueue: explain for_each_*cwq_cpu() iterators\n  fscache: fix build on !CONFIG_SYSCTL\n  slow-work: kill it\n  gfs2: use workqueue instead of slow-work\n  drm: use workqueue instead of slow-work\n  cifs: use workqueue instead of slow-work\n  fscache: drop references to slow-work\n  fscache: convert operation to use workqueue instead of slow-work\n  fscache: convert object to use workqueue instead of slow-work\n  workqueue: fix how cpu number is stored in work-\u003edata\n  workqueue: fix mayday_mask handling on UP\n  workqueue: fix build problem on !CONFIG_SMP\n  workqueue: fix locking in retry path of maybe_create_worker()\n  async: use workqueue for worker pool\n  workqueue: remove WQ_SINGLE_CPU and use WQ_UNBOUND instead\n  workqueue: implement unbound workqueue\n  workqueue: prepare for WQ_UNBOUND implementation\n  libata: take advantage of cmwq and remove concurrency limitations\n  workqueue: fix worker management invocation without pending works\n  ...\n\nFixed up conflicts in fs/cifs/* as per Tejun. Other trivial conflicts in\ninclude/linux/workqueue.h, kernel/trace/Kconfig and kernel/workqueue.c\n"
    },
    {
      "commit": "56698236e1294848c63d4768673865ae5a9c69e0",
      "tree": "ce6d43104a236595763759fe68c26ca3089abdd1",
      "parents": [
        "9dc06558c223bbc08290917ac44c25963bc09e43"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:13:25 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:37 2010 +0000"
      },
      "message": "cifs: read pages from FS-Cache\n\nRead pages from a FS-Cache data storage object into a CIFS inode.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9dc06558c223bbc08290917ac44c25963bc09e43",
      "tree": "7ffd7618faaa251c286637815db5f91d2d410467",
      "parents": [
        "85f2d6b44d7e83bdeab87df910127c6f296866cf"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:13:11 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:37 2010 +0000"
      },
      "message": "cifs: store pages into local cache\n\nStore pages from an CIFS inode into the data storage object associated with\nthat inode.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "85f2d6b44d7e83bdeab87df910127c6f296866cf",
      "tree": "238389c1726e212a80336551809b44b0bbedec38",
      "parents": [
        "9451a9a52f91a4c171cfaca2f6d7a2ce91867b8d"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:13:00 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:36 2010 +0000"
      },
      "message": "cifs: FS-Cache page management\n\nTakes care of invalidation and release of FS-Cache marked pages and also\ninvalidation of the FsCache page flag when the inode is removed.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9451a9a52f91a4c171cfaca2f6d7a2ce91867b8d",
      "tree": "e447d252996e554a053890a75b55456b9926d602",
      "parents": [
        "d03382ce9a89dbe27cba25130f0b90c0d631d5c5"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon Jul 05 18:12:45 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:36 2010 +0000"
      },
      "message": "cifs: define inode-level cache object and register them\n\nDefine inode-level data storage objects (managed by cifsInodeInfo structs).\nEach inode-level object is created in a super-block level object and is itself\na data storage object in to which pages from the inode are stored.\n\nThe inode object is keyed by UniqueId. The coherency data being used is\nLastWriteTime, LastChangeTime and end of file reported by the server.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c21dfb699f35b6b5508fb808bb0ca211a865f2c9",
      "tree": "4c4a96fd88014631c37c282cc2b460906ceaca28",
      "parents": [
        "3feb41cff8264e32a4d23ed829c3ed5369035f51"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jul 12 13:50:14 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:33 2010 +0000"
      },
      "message": "fs/cifs: Remove unnecessary casts of private_data\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9b646972467fb5fdc677f9e4251875db20bdbb64",
      "tree": "01d54cf7e0ee110bd8287c3360de0c3997e859ae",
      "parents": [
        "d098adfb7d281258173a43151483e52e21761021"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 20 22:09:02 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 22 22:59:15 2010 +0200"
      },
      "message": "cifs: use workqueue instead of slow-work\n\nWorkqueue can now handle high concurrency.  Use system_nrt_wq\ninstead of slow-work.\n\n* Updated is_valid_oplock_break() to not call cifs_oplock_break_put()\n  as advised by Steve French.  It might cause deadlock.  Instead,\n  reference is increased after queueing succeeded and\n  cifs_oplock_break() briefly grabs GlobalSMBSeslock before putting\n  the cfile to make sure it doesn\u0027t put before the matching get is\n  finished.\n\n* Anton Blanchard reported that cifs conversion was using now gone\n  system_single_wq.  Use system_nrt_wq which provides non-reentrance\n  guarantee which is enough and much better.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Steve French \u003csfrench@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\n"
    },
    {
      "commit": "47c78b7f40a9931a264e3c9bddccacdf8dfb9a30",
      "tree": "2b4cc492dee33f47836b252a4a1819006e5d0644",
      "parents": [
        "d9d5d8df953a98621be5b8889e05043d6e32052e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:17 2010 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:17 2010 -0400"
      },
      "message": "cifs: don\u0027t call cifs_new_fileinfo unless cifs_open succeeds\n\nIt\u0027s currently possible for cifs_open to fail after it has already\ncalled cifs_new_fileinfo. In that situation, the new fileinfo will be\nleaked as the caller doesn\u0027t call fput. That in turn leads to a busy\ninodes after umount problem since the fileinfo holds an extra inode\nreference now. Shuffle cifs_open around a bit so that it only calls\ncifs_new_fileinfo if it\u0027s going to succeed.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\n"
    },
    {
      "commit": "d9d5d8df953a98621be5b8889e05043d6e32052e",
      "tree": "bf96dc3b99f057a43965fcc3be05fd17d8a24b7d",
      "parents": [
        "db460242bf75624344efd670ec0f620f476529a3"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Wed Jun 16 13:40:17 2010 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:17 2010 -0400"
      },
      "message": "cifs: don\u0027t ignore cifs_posix_open_inode_helper return value\n\n...and ensure that we propagate the error back to avoid any surprises.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-and-Tested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\n"
    },
    {
      "commit": "db460242bf75624344efd670ec0f620f476529a3",
      "tree": "8f9f92918605b05ecd6f9f673620312eaf60173e",
      "parents": [
        "6ca9f3bae8b1854794dfa63cdd3b88b7dfe24c13"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:17 2010 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:17 2010 -0400"
      },
      "message": "cifs: clean up arguments to cifs_open_inode_helper\n\n...which takes a ton of unneeded arguments and does a lot more pointer\ndereferencing than is really needed.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\n"
    },
    {
      "commit": "6ca9f3bae8b1854794dfa63cdd3b88b7dfe24c13",
      "tree": "b2f880172b2e23ca4f57bef5e2141c062351d6ec",
      "parents": [
        "2422f676fb78942d054f7e7a2c3ceaeb7945d814"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:16 2010 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:16 2010 -0400"
      },
      "message": "cifs: pass instantiated filp back after open call\n\nThe current scheme of sticking open files on a list and assuming that\ncifs_open will scoop them off of it is broken and leads to \"Busy\ninodes after umount...\" errors at unmount time.\n\nThe problem is that there is no guarantee that cifs_open will always\nbe called after a -\u003elookup or -\u003ecreate operation. If there are\npermissions or other problems, then it\u0027s quite likely that it *won\u0027t*\nbe called.\n\nFix this by fully instantiating the filp whenever the file is created\nand pass that filp back to the VFS. If there is a problem, the VFS\ncan clean up the references.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\n"
    },
    {
      "commit": "2422f676fb78942d054f7e7a2c3ceaeb7945d814",
      "tree": "cacba53545327624023baf450868749ccec5a65b",
      "parents": [
        "0933a95dfdb1ae5c93e1ede5899f35acc2bb244d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:16 2010 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:16 2010 -0400"
      },
      "message": "cifs: move cifs_new_fileinfo call out of cifs_posix_open\n\nHaving cifs_posix_open call cifs_new_fileinfo is problematic and\ninconsistent with how \"regular\" opens work. It\u0027s also buggy as\ncifs_reopen_file calls this function on a reconnect, which creates a new\nstruct cifsFileInfo that just gets leaked.\n\nPush it out into the callers. This also allows us to get rid of the\n\"mnt\" arg to cifs_posix_open.\n\nFinally, in the event that a cifsFileInfo isn\u0027t or can\u0027t be created, we\nalways want to close the filehandle out on the server as the client\nwon\u0027t have a record of the filehandle and can\u0027t actually use it. Make\nsure that CIFSSMBClose is called in those cases.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\n"
    },
    {
      "commit": "06b43672a9e665cab18dc7b77d56d36884b90d45",
      "tree": "79cc0493370222c074709a0c742ee4209a63e582",
      "parents": [
        "67a3e12b05e055c0415c556a315a3d3eb637e29e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Jun 01 10:54:45 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Jun 01 17:15:52 2010 +0000"
      },
      "message": "cifs: fix page refcount leak\n\nCommit 315e995c63a15cb4d4efdbfd70fe2db191917f7a is causing OOM kills\nwhen stress-testing a CIFS filesystem. The VFS readpages operation takes\na page reference. The older code just handed this reference off to the\npage cache, but the new code takes an extra one. The simplest fix is to\nput the new reference after add_to_page_cache_lru.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7ea8085910ef3dd4f3cad6845aaa2b580d39b115",
      "tree": "d9c1edb5906f943f7d70bfb4b65106e29772d379",
      "parents": [
        "cc967be54710d97c05229b2e5ba2d00df84ddd64"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed May 26 17:53:25 2010 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu May 27 22:05:02 2010 -0400"
      },
      "message": "drop unused dentry argument to -\u003efsync\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "51c8176472de1551a301b676e36a61884e0e8494",
      "tree": "51feb2221f6447e8e20377587c7a018ee6eba3e8",
      "parents": [
        "bdfae149c5b7430b9a26371f14b2d385fd3a4389"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon May 10 15:15:24 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 10 13:52:00 2010 +0000"
      },
      "message": "cifs: remove unused parameter from cifs_posix_open_inode_helper()\n\n..a left over from the commit 3321b791b2e8897323f8c044a0c77ff25781381c.\n\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d54ff73259a852d4b3886dc586587fdef5e9c8de",
      "tree": "417ed0f9b87e4187641b053892eeb8f32ec32746",
      "parents": [
        "9bf67e516f16d31f86aa6f063576a959bbf19990"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 27 04:38:15 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 27 04:38:15 2010 +0000"
      },
      "message": "[CIFS] Fix lease break for writes\n\nOn lease break we were breaking to readonly leases always\neven if write requested.  Also removed experimental\nifdef around setlease code\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fa588e0c57048b3d4bfcd772d80dc0615f83fd35",
      "tree": "a357298481dc4a8ab7f00998b065b9fee7e36d20",
      "parents": [
        "2c964d1f7c87eb71f7902111cd7c8fbba225e4b6"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 22 19:21:55 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 22 19:21:55 2010 +0000"
      },
      "message": "[CIFS] Allow null nd (as nfs server uses) on create\n\nWhile creating a file on a server which supports unix extensions\nsuch as Samba, if a file is being created which does not supply\nnameidata (i.e. nd is null), cifs client can oops when calling\ncifs_posix_open.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2c964d1f7c87eb71f7902111cd7c8fbba225e4b6",
      "tree": "926ea339b7731049c363411bfc87094566488f43",
      "parents": [
        "f19159dc5ab9ec28c3b8230689101335d98e2d68"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Wed Apr 21 19:44:24 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 21 19:44:24 2010 +0000"
      },
      "message": "[CIFS] Fix losing locks during fork()\n\nWhen process does fork() private_data of files with lock list stays the same\nfor file descriptors of the parent and of the child. While finishing the child closes\nfiles and deletes locks from the list even if unlocking fails. When the child process\nfinishes the parent doesn\u0027t have lock in lock list and can\u0027t unlock previously before\nfork() locked region after the child process finished.\n\nThis patch provides behaviour to save locks in lock list if unlocking fails.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f19159dc5ab9ec28c3b8230689101335d98e2d68",
      "tree": "dbfe881035d52e3fb578e253a9d27d56cbb09c2f",
      "parents": [
        "b6b38f704a8193daba520493ebdaf7e819962fc8"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 21 04:12:10 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 21 04:12:10 2010 +0000"
      },
      "message": "[CIFS] Cleanup various minor breakage in previous cFYI cleanup\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b6b38f704a8193daba520493ebdaf7e819962fc8",
      "tree": "c38f4557b51b33573e36817888afa2accf3da9ca",
      "parents": [
        "315e995c63a15cb4d4efdbfd70fe2db191917f7a"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Apr 21 03:50:45 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 21 03:50:45 2010 +0000"
      },
      "message": "[CIFS] Neaten cERROR and cFYI macros, reduce text space\n\nNeaten cERROR and cFYI macros, reduce text space\n~2.5K\n\nConvert \u0027__FILE__ \": \" fmt\u0027 to \u0027\"%s: \" fmt\u0027, __FILE__\u0027 to save text space\nSurround macros with do {} while\nAdd parentheses to macros\nMake statement expression macro from macro with assign\nRemove now unnecessary parentheses from cFYI and cERROR uses\n\ndefconfig with CIFS support old\n$ size fs/cifs/built-in.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 156012\t   1760\t    148\t 157920\t  268e0\tfs/cifs/built-in.o\n\ndefconfig with CIFS support old\n$ size fs/cifs/built-in.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 153508\t   1760\t    148\t 155416\t  25f18\tfs/cifs/built-in.o\n\nallyesconfig old:\n$ size fs/cifs/built-in.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 309138\t   3864\t  74824\t 387826\t  5eaf2\tfs/cifs/built-in.o\n\nallyesconfig new\n$ size fs/cifs/built-in.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 305655\t   3864\t  74824\t 384343\t  5dd57\tfs/cifs/built-in.o\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "315e995c63a15cb4d4efdbfd70fe2db191917f7a",
      "tree": "f04c83f9bfe315cee9d8993d4244fd7ef7aab796",
      "parents": [
        "05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggen@suse.de",
        "time": "Wed Apr 21 03:18:28 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 21 03:18:28 2010 +0000"
      },
      "message": "[CIFS] use add_to_page_cache_lru\n\nadd_to_page_cache_lru is exported, so it should be used. Benefits over\nusing a private pagevec: neater code, 128 bytes fewer stack used, percpu\nlru ordering is preserved, and finally don\u0027t need to flush pagevec\nbefore returning so batching may be shared with other LRU insertions.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@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": "9ddd3a31aedcdb55d5509b595c04b187041c8adb",
      "tree": "210582aade8b4342b2abfbc3682dd2014456d23b",
      "parents": [
        "d620a7cf05d4f12f5bbb1060d766e8139ab31458",
        "f05337c6ac48d19d354e0640a8eb8fc884f82bcc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 11:58:14 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 08 11:58:14 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  not overwriting file_lock structure after GET_LK\n  cifs: Fix a kernel BUG with remote OS/2 server (try #3)\n  [CIFS] initialize nbytes at the beginning of CIFSSMBWrite()\n  [CIFS] Add mmap for direct, nobrl cifs mount types\n"
    },
    {
      "commit": "f05337c6ac48d19d354e0640a8eb8fc884f82bcc",
      "tree": "7be4407febc50dba022112281f1f6d04eb2a5a22",
      "parents": [
        "6513a81e9325d712f1bfb9a1d7b750134e49ff18"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Apr 05 09:59:14 2010 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 06 17:24:26 2010 +0000"
      },
      "message": "not overwriting file_lock structure after GET_LK\n\nIf we have preventing lock, cifs should overwrite file_lock structure\nwith info about preventing lock. If we haven\u0027t preventing lock, cifs\nshould leave it unchanged except for the lock type (change it to F_UNLCK).\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "ff215713eb33c56301cf6bfec0143ddc7f22c138",
      "tree": "6b155e7d1b36b79d72f2cc67225744953e122117",
      "parents": [
        "abab095d1fd25986b910d3c46289d8fa3582cdc5"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 09 20:30:42 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 09 20:30:42 2010 +0000"
      },
      "message": "[CIFS] checkpatch cleanup\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "abab095d1fd25986b910d3c46289d8fa3582cdc5",
      "tree": "2b70291e5159f9a8332cbeb17b21999962eadad0",
      "parents": [
        "c8634fd3115497ac311f57be9c12f993437745cf"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Feb 12 07:44:18 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Mar 09 20:22:53 2010 +0000"
      },
      "message": "cifs: add cifs_revalidate_file\n\n...to allow updating inode attributes on an existing inode by\nfilehandle. Change mmap and llseek codepaths to use that\ninstead of cifs_revalidate_dentry since they have a filehandle\nreadily available.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "df2cf170c823ba779ca339e3ede347c87f4dc6a9",
      "tree": "9ea1ababe413a518afb3de89dadeba73db082850",
      "parents": [
        "64ba9926759792cf7b95f823402e2781edd1b5d4"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Feb 12 07:44:16 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Mar 06 04:37:05 2010 +0000"
      },
      "message": "cifs: overhaul cifs_revalidate and rename to cifs_revalidate_dentry\n\ncifs_revalidate is renamed to cifs_revalidate_dentry as a later patch\nwill add a by-filehandle variant.\n\nAdd a new \"invalid_mapping\" flag to the cifsInodeInfo that indicates\nthat the pagecache is considered invalid. Add a new routine to check\ninode attributes whenever they\u0027re updated and set that flag if the inode\nhas changed on the server.\n\ncifs_revalidate_dentry is then changed to just update the attrcache if\nneeded and then to zap the pagecache if it\u0027s not valid.\n\nThere are some other behavior changes in here as well. Open files are\nnow allowed to have their caches invalidated. I see no reason why we\u0027d\nwant to keep stale data around just because a file is open. Also,\ncifs_revalidate_cache uses the server_eof for revalidating the file\nsize since that should more closely match the size of the file on the\nserver.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8737c9305bd5602b11f7eb4655d5695d4a42a0c6",
      "tree": "54038cac1135b039a292151ebe9b156f80904843",
      "parents": [
        "d208bbdda991b8808d9c033ce4d31cb1bd87dcfc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 24 06:47:55 2009 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Mar 03 13:00:21 2010 -0500"
      },
      "message": "Switch may_open() and break_lease() to passing O_...\n\n... instead of mixing FMODE_ and O_\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b2f3d1f769be5779b479c37800229d9a4809fc3",
      "tree": "046ef6736ec6c25ab1c68741ba715d13645af336",
      "parents": [
        "59bc055211b8d266ab6089158058bf8268e02006"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 27 11:05:28 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "vfs: Implement proper O_SYNC semantics\n\nWhile Linux provided an O_SYNC flag basically since day 1, it took until\nLinux 2.4.0-test12pre2 to actually get it implemented for filesystems,\nsince that day we had generic_osync_around with only minor changes and the\ngreat \"For now, when the user asks for O_SYNC, we\u0027ll actually give\nO_DSYNC\" comment.  This patch intends to actually give us real O_SYNC\nsemantics in addition to the O_DSYNC semantics.  After Jan\u0027s O_SYNC\npatches which are required before this patch it\u0027s actually surprisingly\nsimple, we just need to figure out when to set the datasync flag to\nvfs_fsync_range and when not.\n\nThis patch renames the existing O_SYNC flag to O_DSYNC while keeping it\u0027s\nnumerical value to keep binary compatibility, and adds a new real O_SYNC\nflag.  To guarantee backwards compatiblity it is defined as expanding to\nboth the O_DSYNC and the new additional binary flag (__O_SYNC) to make\nsure we are backwards-compatible when compiled against the new headers.\n\nThis also means that all places that don\u0027t care about the differences can\njust check O_DSYNC and get the right behaviour for O_SYNC, too - only\nplaces that actuall care need to check __O_SYNC in addition.  Drivers and\nnetwork filesystems have been updated in a fail safe way to always do the\nfull sync magic if O_DSYNC is set.  The few places setting O_SYNC for\nlower layers are kept that way for now to stay failsafe.\n\nWe enforce that O_DSYNC is set when __O_SYNC is set early in the open path\nto make sure we always get these sane options.\n\nNote that parisc really screwed up their headers as they already define a\nO_DSYNC that has always been a no-op.  We try to repair it by using it for\nthe new O_DSYNC and redefinining O_SYNC to send both the traditional\nO_SYNC numerical value _and_ the O_DSYNC one.\n\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "3321b791b2e8897323f8c044a0c77ff25781381c",
      "tree": "cf349723b7b4f48151d10eeaeff322c05fd9de3b",
      "parents": [
        "15dd478107fb110689ef09d276d84051b31b7e5c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Sep 25 09:53:37 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Sep 25 17:59:31 2009 +0000"
      },
      "message": "cifs: fix locking and list handling code in cifs_open and its helper\n\nThe patch to remove cifs_init_private introduced a locking imbalance. It\ndidn\u0027t remove the leftover list addition code and the unlocking in that\nfunction. cifs_new_fileinfo does the list addition now, so there should\nbe no need to do it outside of that function.\n\npCifsInode will never be NULL, so we don\u0027t need to check for that. This\npatch also gets rid of the ugly locking and unlocking across function\ncalls.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Steve French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "086f68bd97126618ecb2dcff5f766f3a21722df7",
      "tree": "25f5785dc4ce4ffdc8c852b6c04e52324dd334b0",
      "parents": [
        "3bc303c254335dbd7c7012cc1760b12f1d5514d3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 21 14:08:18 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Sep 24 19:35:18 2009 +0000"
      },
      "message": "cifs: eliminate cifs_init_private\n\n...it does the same thing as cifs_fill_fileinfo, but doesn\u0027t handle the\nflist ordering correctly. Also rename cifs_fill_fileinfo to a more\ndescriptive name and have it take an open flags arg instead of just a\nwrite_only flag. That makes the logic in the callers a little simpler.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3bc303c254335dbd7c7012cc1760b12f1d5514d3",
      "tree": "7da17fbfd697216d9ed0ccd64ea9c03aaf3d52c1",
      "parents": [
        "48541bd3dd4739b4d574b44ea47660c88d833677"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 21 06:47:50 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Sep 24 18:33:18 2009 +0000"
      },
      "message": "cifs: convert oplock breaks to use slow_work facility (try #4)\n\nThis is the fourth respin of the patch to convert oplock breaks to\nuse the slow_work facility.\n\nA customer of ours was testing a backport of one of the earlier\npatchsets, and hit a \"Busy inodes after umount...\" problem. An oplock\nbreak job had raced with a umount, and the superblock got torn down and\nits memory reused. When the oplock break job tried to dereference the\ninode-\u003ei_sb, the kernel oopsed.\n\nThis patchset has the oplock break job hold an inode and vfsmount\nreference until the oplock break completes.  With this, there should be\nno need to take a tcon reference (the vfsmount implicitly holds one\nalready).\n\nCurrently, when an oplock break comes in there\u0027s a chance that the\noplock break job won\u0027t occur if the allocation of the oplock_q_entry\nfails. There are also some rather nasty races in the allocation and\nhandling these structs.\n\nRather than allocating oplock queue entries when an oplock break comes\nin, add a few extra fields to the cifsFileInfo struct. Get rid of the\ndedicated cifs_oplock_thread as well and queue the oplock break job to\nthe slow_work thread pool.\n\nThis approach also has the advantage that the oplock break jobs can\npotentially run in parallel rather than be serialized like they are\ntoday.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "48541bd3dd4739b4d574b44ea47660c88d833677",
      "tree": "5ee6d16b924b8c171e66088c5bb3b1d1720cd29f",
      "parents": [
        "058daf4f6795fd23fcca41fe53151cdcbbd263ec"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Sep 12 11:54:29 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 15 19:45:25 2009 +0000"
      },
      "message": "cifs: have cifsFileInfo hold an extra inode reference\n\nIt\u0027s possible that this struct will outlive the filp to which it is\nattached. If it does and it needs to do some work on the inode, then\nit\u0027ll need a reference.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "590a3fe0e18473a55b0ff48548ba87a2010d7730",
      "tree": "0e5fdfa70ee40a10a5b0df3b85cef3baa0d1b2c6",
      "parents": [
        "20d1752f3d6bd32beb90949559e0d14a0b234445"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Sep 12 11:54:28 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 15 19:45:03 2009 +0000"
      },
      "message": "cifs: fix oplock request handling in posix codepath\n\ncifs_posix_open takes a \"poplock\" argument that\u0027s intended to be used in\nthe actual posix open call to set the \"Flags\" field. It ignores this\nvalue however and declares an \"oplock\" parameter on the stack that it\npasses uninitialized to the CIFSPOSIXOpen function. Not only does this\nmean that the oplock request flags are bogus, but the result that\u0027s\nexpected to be in that variable is unchanged.\n\nFix this, and also clean up the type of the oplock parameter used. Since\nit\u0027s expected to be __u32, we should use that everywhere and not\nimplicitly cast it from a signed type.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6ab409b53dcaf28f83d518a6702f904b7cee3f41",
      "tree": "050bfb690ac9df049343034681478a5bb174a823",
      "parents": [
        "1b49c5566136455764a8d17ead25784f534c202d"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Mon Aug 31 11:07:12 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 01 22:35:01 2009 +0000"
      },
      "message": "cifs: Replace wrtPending with a real reference count\n\nCurrently, cifs_close() tries to wait until all I/O is complete and then\nfrees the file private data.  If I/O does not completely in a reasonable\namount of time it frees the structure anyway, leaving a potential use-\nafter-free situation.\n\nThis patch changes the wrtPending counter to a complete reference count and\nlets the last user free the structure.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "01ea95e3b6b16573a491ef98ad63f7a1bdcb504f",
      "tree": "a060a54d4a3fc1b08534569e2afb8d7c8d5fff37",
      "parents": [
        "c4c1bff64dfff4e6dd0936a0340f56b9284512c8"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jul 09 20:02:49 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jul 09 21:15:02 2009 +0000"
      },
      "message": "cifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo\n\ncifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo\n\n...in preparation of adding a SET_FILE_INFO variant.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f0a71eb820596bd8f6abf64beb4cb181edaa2341",
      "tree": "f46ee612397a696ff1f601f9c5960a0eb5ed0c26",
      "parents": [
        "4075ea8c54a7506844a69f674990241e7766357b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Jun 27 07:04:55 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Jun 27 23:46:43 2009 +0000"
      },
      "message": "cifs: fix fh_mutex locking in cifs_reopen_file\n\nFixes a regression caused by commit a6ce4932fbdbcd8f8e8c6df76812014351c32892\n\nWhen this lock was converted to a mutex, the locks were turned into\nunlocks and vice-versa.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0f3bc09ee1b7fcadd5bfdc5ed2e1643f658fe23d",
      "tree": "fdbbdeeefcc1b480990cb6a687387c1e232a39e0",
      "parents": [
        "f46c7234e472ceee39afea4fb5a4365843e1850a"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Thu Jun 25 18:12:34 2009 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jun 25 19:12:57 2009 +0000"
      },
      "message": "cifs: Fix incorrect return code being printed in cFYI messages\n\nFreeXid() along with freeing Xid does add a cifsFYI debug message that\nprints rc (return code) as well. In some code paths where we set/return\nerror code after calling FreeXid(), incorrect error code is being\nprinted when cifsFYI is enabled.\n\nThis could be misleading in few cases. For eg.\nIn cifs_open() if cifs_fill_filedata() returns a valid pointer to\ncifsFileInfo, FreeXid() prints rc\u003d-13 whereas 0 is actually being\nreturned. Fix this by setting rc before calling FreeXid().\n\nBasically convert\n\nFreeXid(xid);\t\t\trc \u003d -ERR;\nreturn -ERR;\t\t\u003d\u003e\tFreeXid(xid);\n\t\t\t\treturn rc;\n\n[Note that Christoph would like to replace the GetXid/FreeXid\ncalls, which are primarily used for debugging.  This seems\nlike a good longer term goal, but although there is an\nalternative tracing facility, there are no examples yet\navailable that I know of that we can use (yet) to\nconvert this cifs function entry/exit logging, and for\ncreating an identifier that we can use to correlate\nall dmesg log entries for a particular vfs operation\n(ie identify all log entries for a particular vfs\nrequest to cifs: e.g. a particular close or read or write\nor byte range lock call ... and just using the thread id\nis harder).  Eventually when a replacement\nfor this is available (e.g. when NFS switches over and various\nsamples to look at in other file systems) we can remove the\nGetXid/FreeXid macro but in the meantime multiple people\nuse this run time configurable logging all the time\nfor debugging, and Suresh\u0027s patch fixes a problem\nwhich made it harder to notice some low\nmemory problems in the log so it is worthwhile\nto fix this problem until a better logging\napproach is able to be used]\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    }
  ],
  "next": "07119a4df8c8c77d888f2f46964ea9512ea84ff8"
}
