)]}'
{
  "log": [
    {
      "commit": "520c85346666d4d9a6fcaaa8450542302dc28b91",
      "tree": "9c9cc9e2493b606104dd8602302ae28258ebeac0",
      "parents": [
        "e8c82c2e23e3527e0c9dc195e432c16784d270fa",
        "4ae8978cf92a96257cd8998a49e781be83571d64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 05 18:32:06 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  inotify: fix type errors in interfaces\n  fix breakage in reiserfs_new_inode()\n  fix the treatment of jfs special inodes\n  vfs: remove duplicate code in get_fs_type()\n  add a vfs_fsync helper\n  sys_execve and sys_uselib do not call into fsnotify\n  zero i_uid/i_gid on inode allocation\n  inode-\u003ei_op is never NULL\n  ntfs: don\u0027t NULL i_op\n  isofs check for NULL -\u003ei_op in root directory is dead code\n  affs: do not zero -\u003ei_op\n  kill suid bit only for regular files\n  vfs: lseek(fd, 0, SEEK_CUR) race condition\n"
    },
    {
      "commit": "acfa4380efe77e290d3a96b11cd4c9f24f4fbb18",
      "tree": "d656232c7ef39c83681c2de4c8e28ba439242f66",
      "parents": [
        "9742df331deb3fce95b321f38d4ea0c4e75edb63"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Dec 04 10:06:33 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jan 05 11:54:28 2009 -0500"
      },
      "message": "inode-\u003ei_op is never NULL\n\nWe used to have rather schizophrenic set of checks for NULL -\u003ei_op even\nthough it had been eliminated years ago.  You\u0027d need to go out of your\nway to set it to NULL explicitly _and_ a bunch of code would die on\nsuch inodes anyway.  After killing two remaining places that still\ndid that bogosity, all that crap can go away.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "54566b2c1594c2326a645a3551f9d989f7ba3c5e",
      "tree": "b373f3283fe5e197d0df29cd6b645c35adf1076c",
      "parents": [
        "e687d691cb3790d25e31c74f5941fd7c565e9df5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Sun Jan 04 12:00:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 04 13:33:20 2009 -0800"
      },
      "message": "fs: symlink write_begin allocation context fix\n\nWith the write_begin/write_end aops, page_symlink was broken because it\ncould no longer pass a GFP_NOFS type mask into the point where the\nallocations happened.  They are done in write_begin, which would always\nassume that the filesystem can be entered from reclaim.  This bug could\ncause filesystem deadlocks.\n\nThe funny thing with having a gfp_t mask there is that it doesn\u0027t really\nallow the caller to arbitrarily tinker with the context in which it can be\ncalled.  It couldn\u0027t ever be GFP_ATOMIC, for example, because it needs to\ntake the page lock.  The only thing any callers care about is __GFP_FS\nanyway, so turn that into a single flag.\n\nAdd a new flag for write_begin, AOP_FLAG_NOFS.  Filesystems can now act on\nthis flag in their write_begin function.  Change __grab_cache_page to\naccept a nofs argument as well, to honour that flag (while we\u0027re there,\nchange the name to grab_cache_page_write_begin which is more instructive\nand does away with random leading underscores).\n\nThis is really a more flexible way to go in the end anyway -- if a\nfilesystem happens to want any extra allocations aside from the pagecache\nones in ints write_begin function, it may now use GFP_KERNEL (rather than\nGFP_NOFS) for common case allocations (eg.  ocfs2_alloc_write_ctxt, for a\nrandom example).\n\n[kosaki.motohiro@jp.fujitsu.com: fix ubifs]\n[kosaki.motohiro@jp.fujitsu.com: fix fuse]\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.28.x]\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Cleaned up the calling convention: just pass in the AOP flags\n  untouched to the grab_cache_page_write_begin() function.  That\n  just simplifies everybody, and may even allow future expansion of the\n  logic.   - Linus ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6badd79bd002788aaec27b50a74ab69ef65ab8ee",
      "tree": "2a47bf53a7fe2316d98cca71f0b7d01d5024a5ea",
      "parents": [
        "b6b3fdead251d432f32f2cfce2a893ab8a658110"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 26 00:57:40 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "kill -\u003edir_notify()\n\nRemove the hopelessly misguided -\u003edir_notify().  The only instance (cifs)\nhas been broken by design from the very beginning; the objects it creates\nare never destroyed, keep references to struct file they can outlive, nothing\nthat could possibly evict them exists on close(2) path *and* no locking\nwhatsoever is done to prevent races with close(), should the previous, er,\ndeficiencies someday be dealt with.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "bf66542bef3771a42ad3b1d5dc503c804bc22b33",
      "tree": "2ff7bd0ac3b28254c45b2e652a538eb9b1efb8bd",
      "parents": [
        "d05a788f2279056a518d412c6391322ef11366e0"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Wed Dec 03 13:49:23 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 16:29:58 2008 -0800"
      },
      "message": "cifs: update for new IP4/6 address printing\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "54a696bd07c14d3b1192d03ce7269bc59b45209a",
      "tree": "2da3a0ce28e08bde17a0fba8bb807480849cf410",
      "parents": [
        "1d248b2593e92db6c51ca07235985a95c625a93f",
        "359d67d6ad054ae11ad459665fdfb883aca87782"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:37:14 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:37:14 2008 -0800"
      },
      "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: (31 commits)\n  [CIFS] Remove redundant test\n  [CIFS] make sure that DFS pathnames are properly formed\n  Remove an already-checked error condition in SendReceiveBlockingLock\n  Streamline SendReceiveBlockingLock: Use \"goto out:\" in an error condition\n  Streamline SendReceiveBlockingLock: Use \"goto out:\" in an error condition\n  [CIFS] Streamline SendReceive[2] by using \"goto out:\" in an error condition\n  Slightly streamline SendReceive[2]\n  Check the return value of cifs_sign_smb[2]\n  [CIFS] Cleanup: Move the check for too large R/W requests\n  [CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary \"else\" branch\n  Simplify allocate_mid() slightly: Remove some unnecessary \"else\" branches\n  [CIFS] In SendReceive, move consistency check out of the mutexed region\n  cifs: store password in tcon\n  cifs: have calc_lanman_hash take more granular args\n  cifs: zero out session password before freeing it\n  cifs: fix wait_for_response to time out sleeping processes correctly\n  [CIFS] Can not mount with prefixpath if root directory of share is inaccessible\n  [CIFS] various minor cleanups pointed out by checkpatch script\n  [CIFS] fix typo\n  [CIFS] remove sparse warning\n  ...\n\nFix trivial conflict in fs/cifs/cifs_fs_sb.h due to comment changes for\nthe CIFS_MOUNT_xyz bit definitions between cifs updates and security\nupdates.\n"
    },
    {
      "commit": "359d67d6ad054ae11ad459665fdfb883aca87782",
      "tree": "c4cb640ec1692b7f89144fd8bed7e0505a8cad43",
      "parents": [
        "c6fbba0546d3ead18d4a623e76e28bcbaa66a325"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Dec 22 21:53:40 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:13 2008 +0000"
      },
      "message": "[CIFS] Remove redundant test\n\nIn fs/cifs/cifssmb.c, pLockData is tested for being NULL at the beginning\nof the function, and not reassigned subsequently.\n\nA simplified version of the semantic patch that makes this change is as\nfollows: (http://www.emn.fr/x-info/coccinelle/)\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c6fbba0546d3ead18d4a623e76e28bcbaa66a325",
      "tree": "fa2789812091b4feb35bcb9bcae0979ef1d588c5",
      "parents": [
        "ac6a3ef405f314c206906463ca9913a826a577ee"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Dec 18 01:41:20 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:13 2008 +0000"
      },
      "message": "[CIFS] make sure that DFS pathnames are properly formed\n\nThe paths in a DFS request are supposed to only have a single preceding\nbackslash, but we are sending them with a double backslash. This is\nexposing a bug in Windows where it also sends a path in the response\nthat has a double backslash.\n\nThe existing code that builds the mount option string however expects a\ndouble backslash prefix in a couple of places when it tries to use the\npath returned by build_path_from_dentry. Fix compose_mount_options to\nexpect properly formed DFS paths (single backslash at front).\n\nAlso clean up error handling in that function. There was a possible\nNULL pointer dereference and situations where a partially built option\nstring would be returned.\n\nTested against Samba 3.0.28-ish server and Samba 3.3 and Win2k8.\n\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": "ac6a3ef405f314c206906463ca9913a826a577ee",
      "tree": "c116ad2faf0fb63f9b0355e17e2bdfdfd832686e",
      "parents": [
        "698e96a826939bb24063f6a61801c174e19c32b1"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Sat Dec 06 16:40:40 2008 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:13 2008 +0000"
      },
      "message": "Remove an already-checked error condition in SendReceiveBlockingLock\n\nRemove an already-checked error condition in SendReceiveBlockingLock\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "698e96a826939bb24063f6a61801c174e19c32b1",
      "tree": "d97d8b19863ad69554c98ac906a58dea01d6361b",
      "parents": [
        "17c8bfed8abbbed82937a751abfc40d2866e3196"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Sat Dec 06 16:39:31 2008 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:13 2008 +0000"
      },
      "message": "Streamline SendReceiveBlockingLock: Use \"goto out:\" in an error condition\n\nStreamline SendReceiveBlockingLock: Use \"goto out:\" in an error condition\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "17c8bfed8abbbed82937a751abfc40d2866e3196",
      "tree": "88f8924eedbd98d5c1ec116fa8862a899ed1b658",
      "parents": [
        "2b2bdfba7a3679f67b7c3aca4a4b08b24bb675a8"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Sat Dec 06 16:38:19 2008 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:12 2008 +0000"
      },
      "message": "Streamline SendReceiveBlockingLock: Use \"goto out:\" in an error condition\n\nStreamline SendReceiveBlockingLock: Use \"goto out:\" in an error condition\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2b2bdfba7a3679f67b7c3aca4a4b08b24bb675a8",
      "tree": "aad732c85a51b26f8a8b54fdeecc5b54025671fa",
      "parents": [
        "8e4f2e8a1e5cfa07c5b2731accee0e6eb4c64575"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Dec 11 17:26:54 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:12 2008 +0000"
      },
      "message": "[CIFS] Streamline SendReceive[2] by using \"goto out:\" in an error condition\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8e4f2e8a1e5cfa07c5b2731accee0e6eb4c64575",
      "tree": "1708d4173cf39a48639aaeb9ef1e6085ca16ba44",
      "parents": [
        "829049cbb1d2ddda2be17ea008b6b3c457808d91"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Sat Dec 06 16:22:15 2008 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:12 2008 +0000"
      },
      "message": "Slightly streamline SendReceive[2]\n\nSlightly streamline SendReceive[2]\n\nRemove an else branch by naming the error condition what it is\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "829049cbb1d2ddda2be17ea008b6b3c457808d91",
      "tree": "df237e75ddea5016ee07b68496a2d85df1301eac",
      "parents": [
        "4c3130efda1ef4f28d5f26819fae2e58c3945f0b"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Sat Dec 06 16:00:53 2008 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:12 2008 +0000"
      },
      "message": "Check the return value of cifs_sign_smb[2]\n\nCheck the return value of cifs_sign_smb[2]\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4c3130efda1ef4f28d5f26819fae2e58c3945f0b",
      "tree": "586562ae7385a1fbe6b64a31f66522515d1c5726",
      "parents": [
        "27a97a613b96688e59dd116cae3f0c94107b434c"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Dec 09 00:28:16 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:12 2008 +0000"
      },
      "message": "[CIFS] Cleanup: Move the check for too large R/W requests\n\nThis avoids an unnecessary else branch\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "27a97a613b96688e59dd116cae3f0c94107b434c",
      "tree": "e2b4a13769731fa57c19d9840b9850d18ed2af66",
      "parents": [
        "8fbbd365cc700e288fb6f9780b092c5afa4946e5"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Mon Dec 08 20:59:39 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:12 2008 +0000"
      },
      "message": "[CIFS] Slightly simplify wait_for_free_request(), remove an unnecessary \"else\" branch\n\nThis is no functional change, because in the \"if\" branch we do an early\n\"return 0;\".\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8fbbd365cc700e288fb6f9780b092c5afa4946e5",
      "tree": "630a08973a37ceb06709064b507535eca2664f3d",
      "parents": [
        "6d9c6d543165d1d492602c1371cb019040093584"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Sat Dec 06 13:12:34 2008 +0100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:12 2008 +0000"
      },
      "message": "Simplify allocate_mid() slightly: Remove some unnecessary \"else\" branches\n\nSimplify allocate_mid() slightly: Remove some unnecessary \"else\" branches\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6d9c6d543165d1d492602c1371cb019040093584",
      "tree": "3d6dd213995db201d84dfa1f1e5410edef9dab13",
      "parents": [
        "00e485b0198ea4f509341373f1d9adb0a5977a2f"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Mon Dec 08 20:50:24 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:11 2008 +0000"
      },
      "message": "[CIFS] In SendReceive, move consistency check out of the mutexed region\n\ninbuf-\u003esmb_buf_length does not change in in wait_for_free_request() or in\nallocate_mid(), so we can check it early.\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "00e485b0198ea4f509341373f1d9adb0a5977a2f",
      "tree": "2f8a50be11f0551fe8ad2af33a00577621398027",
      "parents": [
        "4e53a3fb98d3d5c2941d2e7199dab317a9d4ead3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Dec 05 20:41:21 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:11 2008 +0000"
      },
      "message": "cifs: store password in tcon\n\ncifs: store password in tcon\n\nEach tcon has its own password for share-level security. Store it in\nthe tcon and wipe it clean and free it when freeing the tcon. When\ndoing the tree connect with share-level security, use the tcon password\ninstead of the session password.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4e53a3fb98d3d5c2941d2e7199dab317a9d4ead3",
      "tree": "c3485a826f33e4b6f18b603a475a1bfef7bb7986",
      "parents": [
        "55162dec9371a6f6ac63ff546c182cc6144a649e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Dec 05 20:41:21 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:11 2008 +0000"
      },
      "message": "cifs: have calc_lanman_hash take more granular args\n\ncifs: have calc_lanman_hash take more granular args\n\nWe need to use this routine to encrypt passwords associated with the\ntcon too. Don\u0027t assume that the password will be attached to the\nsmb_session.\n\nAlso, make some of the values in the lower encryption functions\nconst since they aren\u0027t changed.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "55162dec9371a6f6ac63ff546c182cc6144a649e",
      "tree": "b01c6f54067666c6c809bf71990a82b3ddc842f2",
      "parents": [
        "85705524258f93a6086c3247a58f34a661b82b3d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Dec 05 20:41:21 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:11 2008 +0000"
      },
      "message": "cifs: zero out session password before freeing it\n\ncifs: zero out session password before freeing it\n\n...just to be on the safe side.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "85705524258f93a6086c3247a58f34a661b82b3d",
      "tree": "8cd8f39a92f649e5bce8001331e9b5a8a4c9e650",
      "parents": [
        "8be0ed44c2fa4afcf2c6d2fb3102c926e9f989df"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Dec 05 20:41:21 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:11 2008 +0000"
      },
      "message": "cifs: fix wait_for_response to time out sleeping processes correctly\n\ncifs: fix wait_for_response to time out sleeping processes correctly\n\nThe current scheme that CIFS uses to sleep and wait for a response is\nnot quite what we want. After sending a request, wait_for_response puts\nthe task to sleep with wait_event(). One of the conditions for\nwait_event is a timeout (using time_after()).\n\nThe problem with this is that there is no guarantee that the process\nwill ever be woken back up. If the server stops sending data, then\ncifs_demultiplex_thread will leave its response queue sleeping.\n\nI think the only thing that saves us here is the fact that\ncifs_dnotify_thread periodically (every 15s) wakes up sleeping processes\non all response_q\u0027s that have calls in flight.  This makes for\nunnecessary wakeups of some processes. It also means large variability\nin the timeouts since they\u0027re all woken up at once.\n\nInstead of this, put the tasks to sleep with wait_event_timeout. This\nmakes them wake up on their own if they time out. With this change,\ncifs_dnotify_thread should no longer be needed.\n\nI\u0027ve been testing this in conjunction with some other patches that I\u0027m\nworking on. It doesn\u0027t seem to affect performance at all with with heavy\nI/O. Identical iozone -ac runs complete in almost exactly the same time\n(\u003c1% difference in times).\n\nThanks to Wasrshi Nimara for initially pointing this out. Wasrshi, it\nwould be nice to know whether this patch also helps your testcase.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Wasrshi Nimara \u003cwarshinimara@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8be0ed44c2fa4afcf2c6d2fb3102c926e9f989df",
      "tree": "d0d003c8c9f12b865f0bf8f2015134d7b7031ee5",
      "parents": [
        "61e748015866e48aff91284e3d300c6e3035a87a"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 05 19:14:12 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:11 2008 +0000"
      },
      "message": "[CIFS] Can not mount with prefixpath if root directory of share is inaccessible\n\nWindows allows you to deny access to the top of a share, but permit access to\na directory lower in the path.  With the prefixpath feature of cifs\n(ie mounting \\\\server\\share\\directory\\subdirectory\\etc.) this should have\nworked if the user specified a prefixpath which put the root of the mount\nat a directory to which he had access, but we still were doing a lookup\non the root of the share (null path) when we should have been doing it on\nthe prefixpath subdirectory.\n\nThis fixes Samba bug # 5925\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "61e748015866e48aff91284e3d300c6e3035a87a",
      "tree": "f31c94e76a900b9bd7d6f0abf6e1f4c74ac2e51f",
      "parents": [
        "3de2091ac722e7dbc37d87d9112ab19ec6a871de"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Dec 03 00:57:54 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:10 2008 +0000"
      },
      "message": "[CIFS] various minor cleanups pointed out by checkpatch script\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3de2091ac722e7dbc37d87d9112ab19ec6a871de",
      "tree": "219b62fc82e69175858915861702bd33aad1076b",
      "parents": [
        "acc18aa1e643519035abdab5e72dc75e534b5198"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Dec 02 20:52:28 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:10 2008 +0000"
      },
      "message": "[CIFS] fix typo\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "acc18aa1e643519035abdab5e72dc75e534b5198",
      "tree": "e2c6213f8834c90c6f5405b9606844a993b81117",
      "parents": [
        "13a6e42af8d90e2e8eb7fa50adf862a525b70518"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Dec 02 18:53:55 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:10 2008 +0000"
      },
      "message": "[CIFS] remove sparse warning\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "13a6e42af8d90e2e8eb7fa50adf862a525b70518",
      "tree": "5d6021da7bc49b75cca5a0947f89bde7233ebce4",
      "parents": [
        "d5c5605c27c92dac6de1a7a658af5b030847f949"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Dec 02 17:24:33 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:10 2008 +0000"
      },
      "message": "[CIFS] add mount option to send mandatory rather than advisory locks\n\nSome applications/subsystems require mandatory byte range locks\n(as is used for Windows/DOS/OS2 etc). Sending advisory (posix style)\nbyte range lock requests (instead of mandatory byte range locks) can\nlead to problems for these applications (which expect that other\nclients be prevented from writing to portions of the file which\nthey have locked and are updating).  This mount option allows\nmounting cifs with the new mount option \"forcemand\" (or\n\"forcemandatorylock\") in order to have the cifs client use mandatory\nbyte range locks (ie SMB/CIFS/Windows/NTFS style locks) rather than\nposix byte range lock requests, even if the server would support\nposix byte range lock requests.  This has no effect if the server\ndoes not support the CIFS Unix Extensions (since posix style locks\nrequire support for the CIFS Unix Extensions), but for mounts\nto Samba servers this can be helpful for Wine and applications\nthat require mandatory byte range locks.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Alexander Bokovoy \u003cab@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d5c5605c27c92dac6de1a7a658af5b030847f949",
      "tree": "598d35bcf12439562f075ca7c92ba7a69becc790",
      "parents": [
        "bcf4b1063db246a90b9e09e0556f635d632eef36"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 18:42:33 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:10 2008 +0000"
      },
      "message": "cifs: make ipv6_connect take a TCP_Server_Info arg\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bcf4b1063db246a90b9e09e0556f635d632eef36",
      "tree": "b9563525adbdb352593c274bac5b7e3edd3fcf97",
      "parents": [
        "7586b76585d15db767c19255ba0ecfb164df99f7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 18:42:15 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:10 2008 +0000"
      },
      "message": "cifs: make ipv4_connect take a TCP_Server_Info arg\n\nIn order to unify the smb_send routines, we need to reorganize the\nroutines that connect the sockets. Have ipv4_connect take a\nTCP_Server_Info pointer and get the necessary fields from that.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7586b76585d15db767c19255ba0ecfb164df99f7",
      "tree": "59768f00bddf5fc62d26f0ac250d2b043451b1fa",
      "parents": [
        "63c038c29774476c5dae759e348c269342b4dbef"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 18:41:49 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:10 2008 +0000"
      },
      "message": "cifs: don\u0027t declare smb_vol info on the stack\n\nstruct smb_vol is fairly large, it\u0027s probably best to kzalloc it...\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "63c038c29774476c5dae759e348c269342b4dbef",
      "tree": "4b0a8c91403b28b174610b02a8346da39204946c",
      "parents": [
        "8ecaf67a8ea58c8f131ff045475c74e9538d6b7a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 18:41:46 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:10 2008 +0000"
      },
      "message": "cifs: move allocation of new TCP_Server_Info into separate function\n\nClean up cifs_mount a bit by moving the code that creates new TCP\nsessions into a separate function. Have that function search for an\nexisting socket and then create a new one if one isn\u0027t found.\n\nAlso reorganize the initializion of TCP_Server_Info a bit to prepare\nfor cleanup of the socket connection code.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8ecaf67a8ea58c8f131ff045475c74e9538d6b7a",
      "tree": "115e941e0c13e633b7cb5fb9c9307c4e108533ad",
      "parents": [
        "954d7a1cf12158fed23dd8b0f3f563d5a5c97f28"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 15:23:50 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:09 2008 +0000"
      },
      "message": "cifs: account for IPv6 in ses-\u003eserverName and clean up netbios name handling\n\nThe current code for setting the session serverName is IPv4-specific.\nAllow it to be an IPv6 address as well. Use NIP* macros to set the\nformat.\n\nThis also entails increasing the length of the serverName field, so\ndeclare a new macro for RFC1001 name length and use it in the\nappropriate places.\n\nFinally, drop the unicode_server_Name field from TCP_Server_Info since\nit\u0027s not used. We can add it back later if needed, but for now it just\nwastes memory.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "954d7a1cf12158fed23dd8b0f3f563d5a5c97f28",
      "tree": "81152ead9083b2b8dbdcbccd92bb379e148c9e40",
      "parents": [
        "72ca545b2d83ac7de671bf66d2dbc214528b4c0c"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 15:23:50 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:09 2008 +0000"
      },
      "message": "cifs: make dnotify thread experimental code\n\nNow that tasks sleeping in wait_for_response will time out on their own,\nwe\u0027re not reliant on the dnotify thread to do this. Mark it as\nexperimental code for now.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "72ca545b2d83ac7de671bf66d2dbc214528b4c0c",
      "tree": "660fd7308d20a6e3dd30789d0107393cca0c9464",
      "parents": [
        "0468a2cf914e79442b8309ce62e3f861599d8cab"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 07:09:36 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:09 2008 +0000"
      },
      "message": "cifs: convert tcpSem to a mutex\n\nMutexes are preferred for single-holder semaphores...\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0468a2cf914e79442b8309ce62e3f861599d8cab",
      "tree": "93f4055fbbe3a9c740c4c272f684b9c89dd25e11",
      "parents": [
        "80909022ce966191e6140fcc15d8aff57a7df32e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 07:09:35 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:09 2008 +0000"
      },
      "message": "cifs: take module reference when starting cifsd\n\ncifsd can outlive the last cifs mount. We need to hold a module\nreference until it exits to prevent someone from unplugging\nthe module until we\u0027re ready.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "80909022ce966191e6140fcc15d8aff57a7df32e",
      "tree": "04a5a6c7ebde7cad7d0374f53abae6d61d6673dc",
      "parents": [
        "24b9b06ba7ea53aa0c4d0b1c8c1e93aa1bd9fe72"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 07:09:35 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:09 2008 +0000"
      },
      "message": "cifs: display addr and prefixpath options in /proc/mounts\n\nHave cifs_show_options display the addr and prefixpath options in\n/proc/mounts. Reduce struct dereferencing by adding some local\nvariables.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "24b9b06ba7ea53aa0c4d0b1c8c1e93aa1bd9fe72",
      "tree": "0579c98dcbc075c236dc42f24aba1303da8bad85",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Dec 01 07:09:34 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Dec 26 02:29:09 2008 +0000"
      },
      "message": "cifs: remove unused SMB session pointer from struct mid_q_entry\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cbacc2c7f066a1e01b33b0e27ae5efbf534bc2db",
      "tree": "90d1093131d2a3543a8b3b1f3364e7c6f4081a93",
      "parents": [
        "4a6908a3a050aacc9c3a2f36b276b46c0629ad91",
        "74192246910ff4fb95309ba1a683215644beeb62"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 25 11:40:09 2008 +1100"
      },
      "message": "Merge branch \u0027next\u0027 into for-linus\n"
    },
    {
      "commit": "331c31351044888916805c9cb32d8bb9e40c12e9",
      "tree": "41b7d9c95c1e5e1f413c3b026a26979c34d0b3e0",
      "parents": [
        "a52519f2ce180890069fa7b1a92fa51d4448a0ba"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Dec 17 06:31:53 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 17 14:59:55 2008 -0800"
      },
      "message": "cifs: fix buffer overrun in parse_DFS_referrals\n\nWhile testing a kernel with memory poisoning enabled, I saw some warnings\nabout the redzone getting clobbered when chasing DFS referrals. The\nbuffer allocation for the unicode converted version of the searchName is\ntoo small and needs to take null termination into account.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Steve French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ec98ce480ada787f2cfbd696980ff3564415505b",
      "tree": "1a4d644b38f9f1e4b4e086fde0b195df4a92cf84",
      "parents": [
        "3496f92beb9aa99ef21fccc154a36c7698e9c538",
        "feaf3848a813a106f163013af6fcf6c4bfec92d9"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Thu Dec 04 17:16:36 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/nfsd/nfs4recover.c\n\nManually fixed above to use new creds API functions, e.g.\nnfs4_save_creds().\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "aa2ba5f1082dc705745899584aac8416d710c056",
      "tree": "bde0bf4aff036c6bac19a0212194ae1092afb3c9",
      "parents": [
        "68024541e2e5a8f35e281daaa5068a29e2a538a5",
        "f6f7b52e2f6149d2ee365717afff315b05720162"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 02 19:50:27 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tdrivers/net/smc91x.c\n"
    },
    {
      "commit": "a98ee8c1c707fe3210b00ef9f806ba8e2bf35504",
      "tree": "ed8557a1755d4e924643cbaf75bb04511f69b3a6",
      "parents": [
        "ed313489badef16d700f5a3be50e8fd8f8294bc8"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Nov 26 19:32:33 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Nov 26 19:32:33 2008 +0000"
      },
      "message": "[CIFS] fix regression in cifs_write_begin/cifs_write_end\n\nThe conversion to write_begin/write_end interfaces had a bug where we\nwere passing a bad parameter to cifs_readpage_worker. Rather than\npassing the page offset of the start of the write, we needed to pass the\noffset of the beginning of the page. This was reliably showing up as\ndata corruption in the fsx-linux test from LTP.\n\nIt also became evident that this code was occasionally doing unnecessary\nread calls. Optimize those away by using the PG_checked flag to indicate\nthat the unwritten part of the page has been initialized.\n\nCC: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@us.ibm.com\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6ab33d51713d6d60c7677c0d020910a8cb37e513",
      "tree": "546c2ff099b2757e75cf34ddace874f1220f740e",
      "parents": [
        "7be6065b39c3f1cfa796667eac1a2170465acc91",
        "13d428afc007fcfcd6deeb215618f54cf9c0cae6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 16:44:00 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/ixgbe/ixgbe_main.c\n\tinclude/net/mac80211.h\n\tnet/phonet/af_phonet.c\n"
    },
    {
      "commit": "ddb4cbfc53aa0913ee8da059fcbf628d14f40f63",
      "tree": "d77a2d510fa3a3b6556052af024355ed5cfc43d8",
      "parents": [
        "bfb59820ee46616a7bdb4af6b8f7e109646de6ec"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 20 20:00:44 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 20 20:14:13 2008 +0000"
      },
      "message": "[CIFS] Do not attempt to close invalidated file handles\n\nIf a connection with open file handles has gone down\nand come back up and reconnected without reopening\nthe file handle yet, do not attempt to send an SMB close\nrequest for this handle in cifs_close.  We were\nchecking for the connection being invalid in cifs_close\nbut since the connection may have been reconnected\nwe also need to check whether the file handle\nwas marked invalid (otherwise we could close the\nwrong file handle by accident).\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "198d6ba4d7f48c94f990f4604f0b3d73925e0ded",
      "tree": "56bbdf8ba2553c23c8099da9344a8f1d1aba97ab",
      "parents": [
        "9a57f7fabd383920585ed8b74eacd117c6551f2d",
        "7f0f598a0069d1ab072375965a4b69137233169c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 18 23:38:23 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/isdn/i4l/isdn_net.c\n\tfs/cifs/connect.c\n"
    },
    {
      "commit": "bfb59820ee46616a7bdb4af6b8f7e109646de6ec",
      "tree": "e2a62482c9094102aff08f621e000c55c1391858",
      "parents": [
        "4e14e833ac3b97a4aa8803eea49f899adc5bb5f4"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 18 16:33:48 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 18 16:33:48 2008 +0000"
      },
      "message": "[CIFS] fix check for dead tcon in smb_init\n\nThis was recently changed to check for need_reconnect, but should\nactually be a check for a tidStatus of CifsExiting.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f3a5c547012a09f38f7c27b17a8e3150b69cd259",
      "tree": "4d1d47382a4a445fc7ef7431bcf5d06b7cca8539",
      "parents": [
        "e50a906e0200084f04f8f3b7c3a14b0442d1347f",
        "4e14e833ac3b97a4aa8803eea49f899adc5bb5f4"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 18 18:52:37 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Nov 18 18:52:37 2008 +1100"
      },
      "message": "Merge branch \u0027master\u0027 into next\n\nConflicts:\n\tfs/cifs/misc.c\n\nMerge to resolve above, per the patch below.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n\ndiff --cc fs/cifs/misc.c\nindex ec36410,addd1dc..0000000\n--- a/fs/cifs/misc.c\n+++ b/fs/cifs/misc.c\n@@@ -347,13 -338,13 +338,13 @@@ header_assemble(struct smb_hdr *buffer\n  \t\t/*  BB Add support for establishing new tCon and SMB Session  */\n  \t\t/*      with userid/password pairs found on the smb session   */\n  \t\t/*\tfor other target tcp/ip addresses \t\tBB    */\n -\t\t\t\tif (current-\u003efsuid !\u003d treeCon-\u003eses-\u003elinux_uid) {\n +\t\t\t\tif (current_fsuid() !\u003d treeCon-\u003eses-\u003elinux_uid) {\n  \t\t\t\t\tcFYI(1, (\"Multiuser mode and UID \"\n  \t\t\t\t\t\t \"did not match tcon uid\"));\n- \t\t\t\t\tread_lock(\u0026GlobalSMBSeslock);\n- \t\t\t\t\tlist_for_each(temp_item, \u0026GlobalSMBSessionList) {\n- \t\t\t\t\t\tses \u003d list_entry(temp_item, struct cifsSesInfo, cifsSessionList);\n+ \t\t\t\t\tread_lock(\u0026cifs_tcp_ses_lock);\n+ \t\t\t\t\tlist_for_each(temp_item, \u0026treeCon-\u003eses-\u003eserver-\u003esmb_ses_list) {\n+ \t\t\t\t\t\tses \u003d list_entry(temp_item, struct cifsSesInfo, smb_ses_list);\n -\t\t\t\t\t\tif (ses-\u003elinux_uid \u003d\u003d current-\u003efsuid) {\n +\t\t\t\t\t\tif (ses-\u003elinux_uid \u003d\u003d current_fsuid()) {\n  \t\t\t\t\t\t\tif (ses-\u003eserver \u003d\u003d treeCon-\u003eses-\u003eserver) {\n  \t\t\t\t\t\t\t\tcFYI(1, (\"found matching uid substitute right smb_uid\"));\n  \t\t\t\t\t\t\t\tbuffer-\u003eUid \u003d ses-\u003eSuid;\n"
    },
    {
      "commit": "b066a48c9532243894f93a06ca5a0ee2cc21a8dc",
      "tree": "dcb1aeb0e2b6a9af57479287ff4b9c94b070d0d3",
      "parents": [
        "2c55608f28444c3f33b10312881384c470ceed56"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Tue Nov 18 03:49:05 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 18 04:30:07 2008 +0000"
      },
      "message": "prevent cifs_writepages() from skipping unwritten pages\n\nFixes a data corruption under heavy stress in which pages could be left\ndirty after all open instances of a inode have been closed.\n\nIn order to write contiguous pages whenever possible, cifs_writepages()\nasks pagevec_lookup_tag() for more pages than it may write at one time.\nNormally, it then resets index just past the last page written before calling\npagevec_lookup_tag() again.\n\nIf cifs_writepages() can\u0027t write the first page returned, it wasn\u0027t resetting\nindex, and the next call to pagevec_lookup_tag() resulted in skipping all of\nthe pages it previously returned, even though cifs_writepages() did nothing\nwith them.  This can result in data loss when the file descriptor is about\nto be closed.\n\nThis patch ensures that index gets set back to the next returned page so\nthat none get skipped.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCc: Shirish S Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2c55608f28444c3f33b10312881384c470ceed56",
      "tree": "84064756aee9e936cd5f3eb8f63fe83f04d30de2",
      "parents": [
        "ab3f992983062440b4f37c666dac66d987902d91"
      ],
      "author": {
        "name": "Igor Mammedov",
        "email": "niallain@gmail.com",
        "time": "Thu Oct 23 13:58:42 2008 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 18 04:29:06 2008 +0000"
      },
      "message": "Fixed parsing of mount options when doing DFS submount\n\nSince these hit the same routines, and are relatively small, it is easier to review\nthem as one patch.\n\nFixed incorrect handling of the last option in some cases\nFixed prefixpath handling convert path_consumed into host depended string length (in bytes)\nUse non default separator if it is provided in the original mount options\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ab3f992983062440b4f37c666dac66d987902d91",
      "tree": "9333cd574f0a1ead688347b148ae36fdcd384440",
      "parents": [
        "c2b3382cd4d6c6adef1347e81f20e16c93a39feb"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 16:03:00 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 16:03:00 2008 +0000"
      },
      "message": "[CIFS] Fix check for tcon seal setting and fix oops on failed mount from earlier patch\n\nset tcon-\u003eses earlier\n\nIf the inital tree connect fails, we\u0027ll end up calling cifs_put_smb_ses\nwith a NULL pointer. Fix it by setting the tcon-\u003eses earlier.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c2b3382cd4d6c6adef1347e81f20e16c93a39feb",
      "tree": "ac039e2d2cc37f25df3b8346cf5a980ee7988599",
      "parents": [
        "f1987b44f642e96176adc88b7ce23a1d74806f89"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 03:57:13 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 03:57:13 2008 +0000"
      },
      "message": "[CIFS] Fix build break\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f1987b44f642e96176adc88b7ce23a1d74806f89",
      "tree": "fceaebf6b6d7eb1d1150120c44a842cbce8347f6",
      "parents": [
        "d82c2df54e2f7e447476350848d8eccc8d2fe46a"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Nov 15 11:12:47 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 17 03:14:12 2008 +0000"
      },
      "message": "cifs: reinstate sharing of tree connections\n\nUse a similar approach to the SMB session sharing. Add a list of tcons\nattached to each SMB session. Move the refcount to non-atomic. Protect\nall of the above with the cifs_tcp_ses_lock. Add functions to\nproperly find and put references to the tcons.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d82c2df54e2f7e447476350848d8eccc8d2fe46a",
      "tree": "b48fa40fc34a87d9fd83254a8fdfb3e8173a6348",
      "parents": [
        "14fbf50d695207754daeb96270b3027a3821121f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Nov 15 00:07:26 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Nov 15 00:07:26 2008 +0000"
      },
      "message": "[CIFS] minor cleanup to cifs_mount\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "14fbf50d695207754daeb96270b3027a3821121f",
      "tree": "05e80aa7e5e6a6bc07a9354f744ba9c599699569",
      "parents": [
        "e7ddee9037e7dd43de1ad08b51727e552aedd836"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Nov 14 13:53:46 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 14 23:56:55 2008 +0000"
      },
      "message": "cifs: reinstate sharing of SMB sessions sans races\n\nWe do this by abandoning the global list of SMB sessions and instead\nmoving to a per-server list. This entails adding a new list head to the\nTCP_Server_Info struct. The refcounting for the cifsSesInfo is moved to\na non-atomic variable. We have to protect it by a lock anyway, so there\u0027s\nno benefit to making it an atomic. The list and refcount are protected\nby the global cifs_tcp_ses_lock.\n\nThe patch also adds a new routines to find and put SMB sessions and\nthat properly take and put references under the lock.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e7ddee9037e7dd43de1ad08b51727e552aedd836",
      "tree": "1f4fa723aad80809c5980fcb197aba90a84c26ca",
      "parents": [
        "3ec332ef7a38c2327e18d087d4120a8e3bd3dc6e"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Nov 14 13:44:38 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 14 23:42:32 2008 +0000"
      },
      "message": "cifs: disable sharing session and tcon and add new TCP sharing code\n\nThe code that allows these structs to be shared is extremely racy.\nDisable the sharing of SMB and tcon structs for now until we can\ncome up with a way to do this that\u0027s race free.\n\nWe want to continue to share TCP sessions, however since they are\nrequired for multiuser mounts. For that, implement a new (hopefully\nrace-free) scheme. Add a new global list of TCP sessions, and take\ncare to get a reference to it whenever we\u0027re dealing with one.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3ec332ef7a38c2327e18d087d4120a8e3bd3dc6e",
      "tree": "5c1c7aebeee05cbd6cd02d5aebb3b0c2f8e62ddb",
      "parents": [
        "fb396016647ae9de5b3bd8c4ee4f7b9cc7148bd5"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 14 03:35:10 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Nov 14 03:35:10 2008 +0000"
      },
      "message": "[CIFS] clean up server protocol handling\n\nWe\u0027re currently declaring both a sockaddr_in and sockaddr6_in on the\nstack, but we really only need storage for one of them. Declare a\nsockaddr struct and cast it to the proper type. Also, eliminate the\nprotocolType field in the TCP_Server_Info struct. It\u0027s redundant since\nwe have a sa_family field in the sockaddr anyway.\n\nWe may need to revisit this if SCTP is ever implemented, but for now\nthis will simplify the code.\n\nCIFS over IPv6 also has a number of problems currently. This fixes all\nof them that I found. Eventually, it would be nice to move more of the\ncode to be protocol independent, but this is a start.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a001e5b558f25eb1e588522d73ac949b643b7a37",
      "tree": "96370a4535bd0d7b3e9908f04b58a8b3e94ed908",
      "parents": [
        "1109b07b7dcb938de7a0d65efc1b4739dc4e9787"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:47 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:47 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the CIFS filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nCc: linux-cifs-client@lists.samba.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "fb396016647ae9de5b3bd8c4ee4f7b9cc7148bd5",
      "tree": "40ddde820d7c05b09ee130ef18477ecb50d4c61a",
      "parents": [
        "3b7952109361c684caf0c50474da8662ecc81019"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 13 20:04:07 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 13 20:04:07 2008 +0000"
      },
      "message": "[CIFS] remove unused list, add new cifs sock list to prepare for mount/umount fix\n\nAlso adds two lines missing from the previous patch (for the need reconnect flag in the\n/proc/fs/cifs/DebugData handling)\n\nThe new global_cifs_sock_list is added, and initialized in init_cifs but not used yet.\nJeff Layton will be adding code in to use that and to remove the GlobalTcon and GlobalSMBSession\nlists.\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3b7952109361c684caf0c50474da8662ecc81019",
      "tree": "402062ed63236ef245d8d65010d8f06520df8453",
      "parents": [
        "c527c8a7ffa18400c2c1488f7ab5aff5e83f3c8e"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 13 19:45:32 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Nov 13 19:45:32 2008 +0000"
      },
      "message": "[CIFS] Fix cifs reconnection flags\n\nIn preparation for Jeff\u0027s big umount/mount fixes to remove the possibility of\nvarious races in cifs mount and linked list handling of sessions, sockets and\ntree connections, this patch cleans up some repetitive code in cifs_mount,\nand addresses a problem with ses-\u003estatus and tcon-\u003etidStatus in which we\nwere overloading the \"need_reconnect\" state with other status in that\nfield.  So the \"need_reconnect\" flag has been broken out from those\ntwo state fields (need reconnect was not mutually exclusive from some of the\nother possible tid and ses states).  In addition, a few exit cases in\ncifs_mount were cleaned up, and a problem with a tcon flag (for lease support)\nwas not being set consistently for the 2nd mount of the same share\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9eeda9abd1faf489f3df9a1f557975f4c8650363",
      "tree": "3e0a58e25b776cfbee193195460324dccb1886c7",
      "parents": [
        "61c9eaf90081cbe6dc4f389e0056bff76eca19ec",
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath5k/base.c\n\tnet/8021q/vlan_core.c\n"
    },
    {
      "commit": "c527c8a7ffa18400c2c1488f7ab5aff5e83f3c8e",
      "tree": "4f051c90690aa89099d169baa7fdbce2a01cdea1",
      "parents": [
        "a75952b72a0fff3031124003e62118111aed42c1"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 03 20:46:21 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 03 20:46:21 2008 +0000"
      },
      "message": "[CIFS] Can\u0027t rely on iov length and base when kernel_recvmsg returns error\n\nWhen retrying kernel_recvmsg, reset iov_base and iov_len.\n\nNote comment from Sridhar: \"In the normal path, iov.iov_len is clearly set to 4. But i think you are\nrunning into a case where kernel_recvmsg() is called via \u0027goto incomplete_rcv\u0027\nIt happens if the previous call fails with EAGAIN.\nIf you want to call recvmsg() after EAGAIN failure, you need to reset iov.\"\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ae6884a9da56f8921e432e663b4ccb4a1851b2ea",
      "tree": "ec80aca419ad61b7585ef0da64fac4d968ced224",
      "parents": [
        "61de800d33af585cb7e6f27b5cdd51029c6855cb"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Nov 03 14:05:08 2008 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Nov 03 18:31:05 2008 +0000"
      },
      "message": "cifs: fix renaming one hardlink on top of another\n\ncifs: fix renaming one hardlink on top of another\n\nPOSIX says that renaming one hardlink on top of another to the same\ninode is a no-op. We had the logic mostly right, but forgot to clear\nthe return code.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "be859405487324ed548f1ba11dc949b8230ab991",
      "tree": "3893ac2ce3b212b100d9e1e1e3e2fc1fa0c3f47f",
      "parents": [
        "63779436ab4ad0867bcea53bf853b0004d7b895d"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Fri Oct 31 00:56:28 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:56:28 2008 -0700"
      },
      "message": "fs: replace NIPQUAD()\n\nUsing NIPQUAD() with NIPQUAD_FMT, %d.%d.%d.%d or %u.%u.%u.%u\ncan be replaced with %pI4\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61de800d33af585cb7e6f27b5cdd51029c6855cb",
      "tree": "3b16b4cca031c646a30a55218adfed6e0c59332e",
      "parents": [
        "edf1ae403896cb7750800508b14996ba6be39a53"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 30 20:15:22 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 30 20:15:22 2008 +0000"
      },
      "message": "[CIFS] fix error in smb_send2\n\nsmb_send2 exit logic was strange, and with the previous change\ncould cause us to fail large\nsmb writes when all of the smb was not sent as one chunk.\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c",
      "tree": "946d6cef596756a95afe0cea51f5c3c9be4c3353",
      "parents": [
        "4aa996066ffc0dba24036c961ee38dfdfbfc061c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:50:24 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:50:24 2008 -0700"
      },
      "message": "net: replace %#p6 format specifier with %pi6\n\ngcc warns when using the # modifier with the %p format specifier,\nso we can\u0027t use this to omit the colons when needed, introduces\n%pi6 instead.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edf1ae403896cb7750800508b14996ba6be39a53",
      "tree": "ff792ea77e558d473a9f6515397728d31e73fd09",
      "parents": [
        "49fdf6785fd660e18a1eb4588928f47e9fa29a9a"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 29 00:47:57 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 29 00:47:57 2008 +0000"
      },
      "message": "[CIFS] Reduce number of socket retries in large write path\n\nCIFS in some heavy stress conditions cifs could get EAGAIN\nrepeatedly in smb_send2 which led to repeated retries and eventually\nfailure of large writes which could lead to data corruption.\n\nThere are three changes that were suggested by various network\ndevelopers:\n\n1) convert cifs from non-blocking to blocking tcp sendmsg\n(we left in the retry on failure)\n2) change cifs to not set sendbuf and rcvbuf size for the socket\n(let tcp autotune the buffer sizes since that works much better\nin the TCP stack now)\n3) if we have a partial frame sent in smb_send2, mark the tcp\nsession as invalid (close the socket and reconnect) so we do\nnot corrupt the remaining part of the SMB with the beginning\nof the next SMB.\n\nThis does not appear to hurt performance measurably and has\nbeen run in various scenarios, but it definately removes\na corruption that we were seeing in some high stress\ntest cases.\n\nAcked-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b071195deba14b37ce896c26f20349b46e5f9fd2",
      "tree": "5f32ddc71be0a282765349301ea9173b413cdc39",
      "parents": [
        "689afa7da106032a3e859ae35494f80dd6eac640"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:05:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 16:05:40 2008 -0700"
      },
      "message": "net: replace all current users of NIP6_SEQFMT with %#p6\n\nThe define in kernel.h can be done away with at a later time.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db563fc2e80534f98c7f9121a6f7dfe41f177a79",
      "tree": "c97acbb983530b070e28c70825e0eedbbdb97ab2",
      "parents": [
        "eb81071584bed0b04adcaf57e525638d0f92e1e1",
        "b1c8d2b421376bc941823ee93e36cb491609b02c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:43:36 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 23 10:43:36 2008 -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: handle the TCP_Server_Info-\u003etsk field more carefully\n  cifs: fix unlinking of rename target when server doesn\u0027t support open file renames\n  [CIFS] improve setlease handling\n  [CIFS] fix saving of resume key before CIFSFindNext\n  cifs: make cifs_rename handle -EACCES errors\n  [CIFS] fix build error\n  [CIFS] undo changes in cifs_rename_pending_delete if it errors out\n  cifs: track DeletePending flag in cifsInodeInfo\n  cifs: don\u0027t use CREATE_DELETE_ON_CLOSE in cifs_rename_pending_delete\n  [CIFS] eliminate usage of kthread_stop for cifsd\n  [CIFS] Add nodfs mount option\n"
    },
    {
      "commit": "f696a3659fc4b3a3bf4bc83d9dbec5e5a2ffd929",
      "tree": "738adf557608f26e881a710839de12b7527549b6",
      "parents": [
        "5cec56deb6d41b5b570306b17cd0b1590ebd0897"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "miklos@szeredi.hu",
        "time": "Thu Jul 31 13:41:58 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:25 2008 -0400"
      },
      "message": "[PATCH] move executable checking into -\u003epermission()\n\nFor execute permission on a regular files we need to check if file has\nany execute bits at all, regardless of capabilites.\n\nThis check is normally performed by generic_permission() but was also\nadded to the case when the filesystem defines its own -\u003epermission()\nmethod.  In the latter case the filesystem should be responsible for\nperforming this check.\n\nMove the check from inode_permission() inside filesystems which are\nnot calling generic_permission().\n\nCreate a helper function execute_ok() that returns true if the inode\nis a directory or if any execute bits are present in i_mode.\n\nAlso fix up the following code:\n\n - coda control file is never executable\n - sysctl files are never executable\n - hfs_permission seems broken on MAY_EXEC, remove\n - hfsplus_permission is eqivalent to generic_permission(), remove\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\n"
    },
    {
      "commit": "3222a3e55f4025acb2a5a4379cf2f2b7df1f1243",
      "tree": "d12740cd5dc00ae17f7beb63584dd00d7c1fb4cb",
      "parents": [
        "4e9ed2f85af7adfa7c3f0efa839a53186254fdcb"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Sep 03 21:53:01 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Oct 23 05:13:21 2008 -0400"
      },
      "message": "[PATCH] fix -\u003ellseek for more directories\n\nWith this patch all directory fops instances that have a readdir\nthat doesn\u0027t take the BKL are switched to generic_file_llseek.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\n"
    },
    {
      "commit": "b1c8d2b421376bc941823ee93e36cb491609b02c",
      "tree": "40908334b5a289ef7e6337d14d29104cc2bd79e2",
      "parents": [
        "8d281efb67463fe8aac8f6e10b31492fc218bf2b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 22 13:57:07 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 23 05:06:20 2008 +0000"
      },
      "message": "cifs: handle the TCP_Server_Info-\u003etsk field more carefully\n\ncifs: handle the TCP_Server_Info-\u003etsk field more carefully\n\nWe currently handle the TCP_Server_Info-\u003etsk field without any locking,\nbut with some half-measures to try and prevent races. These aren\u0027t\nreally sufficient though. When taking down cifsd, use xchg() to swap\nthe contents of the tsk field with NULL so we don\u0027t end up trying\nto send it more than one signal. Also, don\u0027t allow cifsd to exit until\nthe signal is received if we expect one.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8d281efb67463fe8aac8f6e10b31492fc218bf2b",
      "tree": "72b5642a48725656f2d1edac506ab5d2152de648",
      "parents": [
        "84210e9120a8c01a14379ba1f9a9b0f963641d94"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Oct 22 13:57:01 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 23 04:50:17 2008 +0000"
      },
      "message": "cifs: fix unlinking of rename target when server doesn\u0027t support open file renames\n\ncifs: fix unlinking of rename target when server doesn\u0027t support open file renames\n\nThe patch to make cifs_rename undoable broke renaming one file on top of\nanother when the server doesn\u0027t support busy file renames. Remove the\ncode that uses busy file renames to unlink the target file, and just\nhave it call cifs_unlink. If the rename of the source file fails, then\nthe unlink won\u0027t be undoable, but hopefully that\u0027s rare enough that it\nwon\u0027t be a problem.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "84210e9120a8c01a14379ba1f9a9b0f963641d94",
      "tree": "ed20b210bb554f283d8458ee6d146a5c4439e37f",
      "parents": [
        "a364bc0b37f14ffd66c1f982af42990a9d77fa43"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 23 04:42:37 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 23 04:42:37 2008 +0000"
      },
      "message": "[CIFS] improve setlease handling\n\nfcntl(F_SETLEASE) currently is not exported by cifs (nor by local file\nsystems) so cifs grants leases based on how other local processes have\nopened the file not by whether the file is cacheable (oplocked).  This\nadds the check to make sure that the file is cacheable on the client\nbefore checking whether we can grant the lease locally\n(generic_setlease).  It also adds a mount option for cifs (locallease)\nif the user wants to override this and try to grant leases even\nif the server did not grant oplock.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a364bc0b37f14ffd66c1f982af42990a9d77fa43",
      "tree": "1e1e039a630b49942ec0e997b084ae8fc2a60fa1",
      "parents": [
        "14121bdccc17b8c0e4368a9c0e4f82c3dd47f240"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 21 14:42:13 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 21 14:42:13 2008 +0000"
      },
      "message": "[CIFS] fix saving of resume key before CIFSFindNext\n\nWe recently fixed the cifs readdir code so that it saves the resume key\nbefore calling CIFSFindNext. Unfortunately, this assumes that we have\njust done a CIFSFindFirst (or FindNext) and have resume info to save.\nThis isn\u0027t necessarily the case. Fix the code to save resume info if we\nhad to reinitiate the search, and after a FindNext.\n\nThis fixes connectathon basic test6 against NetApp filers.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "14121bdccc17b8c0e4368a9c0e4f82c3dd47f240",
      "tree": "78489a5a1bd99c542bd5f187c999e6be53691198",
      "parents": [
        "413460980ea7796582bce672be85879be0865ada"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 20 14:45:22 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 20 18:44:13 2008 +0000"
      },
      "message": "cifs: make cifs_rename handle -EACCES errors\n\ncifs: make cifs_rename handle -EACCES errors\n\nSome servers seem to return -EACCES when attempting to rename one\nopen file on top of another. Refactor the cifs_rename logic to\nattempt to rename the target file out of the way in this situation.\n\nThis also fixes the \"unlink_target\" logic to be undoable if the\nsubsequent rename fails.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "413460980ea7796582bce672be85879be0865ada",
      "tree": "5b71f8c043c06fcf87504ff8434b9aaa824a8c1a",
      "parents": [
        "3270958b717a13d0228803254609c19184854b9b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 20 18:24:42 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 20 18:24:42 2008 +0000"
      },
      "message": "[CIFS] fix build error\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bb26b963d8343bb1bde842fba0b6e00cad841f31",
      "tree": "4881245703394d5c8e603769c2204ce2ac01ab77",
      "parents": [
        "5a85a7dda15f88b7f9c96c67fe826b5d0486d601"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Oct 18 20:28:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:52:42 2008 -0700"
      },
      "message": "fs/Kconfig: move CIFS out\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f98a2fee8acdb4ac84545df98cccecfd130f8db",
      "tree": "035a2937f4c3e2f7b4269412041c073ac646937c",
      "parents": [
        "b2e185384f534781fd22f5ce170b2ad26f97df70"
      ],
      "author": {
        "name": "Rik van Riel",
        "email": "riel@redhat.com",
        "time": "Sat Oct 18 20:26:32 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 08:50:25 2008 -0700"
      },
      "message": "vmscan: split LRU lists into anon \u0026 file sets\n\nSplit the LRU lists in two, one set for pages that are backed by real file\nsystems (\"file\") and one for pages that are backed by memory and swap\n(\"anon\").  The latter includes tmpfs.\n\nThe advantage of doing this is that the VM will not have to scan over lots\nof anonymous pages (which we generally do not want to swap out), just to\nfind the page cache pages that it should evict.\n\nThis patch has the infrastructure and a basic policy to balance how much\nwe scan the anon lists and how much we scan the file lists.  The big\npolicy changes are in separate patches.\n\n[lee.schermerhorn@hp.com: collect lru meminfo statistics from correct offset]\n[kosaki.motohiro@jp.fujitsu.com: prevent incorrect oom under split_lru]\n[kosaki.motohiro@jp.fujitsu.com: fix pagevec_move_tail() doesn\u0027t treat unevictable page]\n[hugh@veritas.com: memcg swapbacked pages active]\n[hugh@veritas.com: splitlru: BDI_CAP_SWAP_BACKED]\n[akpm@linux-foundation.org: fix /proc/vmstat units]\n[nishimura@mxp.nes.nec.co.jp: memcg: fix handling of shmem migration]\n[kosaki.motohiro@jp.fujitsu.com: adjust Quicklists field of /proc/meminfo]\n[kosaki.motohiro@jp.fujitsu.com: fix style issue of get_scan_ratio()]\nSigned-off-by: Rik van Riel \u003criel@redhat.com\u003e\nSigned-off-by: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Daisuke Nishimura \u003cnishimura@mxp.nes.nec.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3270958b717a13d0228803254609c19184854b9b",
      "tree": "50d1affc68add3e89798f647bb6abc7532f62e51",
      "parents": [
        "9a8165fce724d1aba21e2c713ac6ba11dbfecafa"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 20 00:44:19 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 20 00:44:19 2008 +0000"
      },
      "message": "[CIFS] undo changes in cifs_rename_pending_delete if it errors out\n\nThe cifs_rename_pending_delete process involves multiple steps. If it\nfails and we\u0027re going to return error, we don\u0027t want to leave things in\na half-finished state. Add code to the function to undo changes if\na call fails.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9a8165fce724d1aba21e2c713ac6ba11dbfecafa",
      "tree": "b3c359a5d0428f3fccf6da73a59210f6514f4c7c",
      "parents": [
        "dd1db2dedc4f6ad736fbba5aa6ecfe6e7c8ee0f4"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 17 21:03:20 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 20 00:33:52 2008 +0000"
      },
      "message": "cifs: track DeletePending flag in cifsInodeInfo\n\ncifs: track DeletePending flag in cifsInodeInfo\n\nThe QPathInfo call returns a flag that indicates whether DELETE_ON_CLOSE\nis set. Track it in the cifsInodeInfo.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "dd1db2dedc4f6ad736fbba5aa6ecfe6e7c8ee0f4",
      "tree": "5585ad01c207b5cf0e45857255bceb4e1efee3ce",
      "parents": [
        "469ee614aaa367d9cde01cbdd2027212f56c6cc6"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 16 19:27:12 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Oct 17 14:47:13 2008 +0000"
      },
      "message": "cifs: don\u0027t use CREATE_DELETE_ON_CLOSE in cifs_rename_pending_delete\n\ncifs: don\u0027t use CREATE_DELETE_ON_CLOSE in cifs_rename_pending_delete\n\nCREATE_DELETE_ON_CLOSE apparently has different semantics than when you\nset the DELETE_ON_CLOSE bit after opening the file. Setting it in the\nopen says \"delete this file as soon as this filehandle is closed\". That\u0027s\nnot what we want for cifs_rename_pending_delete.\n\nDon\u0027t set this bit in the CreateFlags. Experimentation shows that\nsetting this flag in the SET_FILE_INFO call has no effect.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "469ee614aaa367d9cde01cbdd2027212f56c6cc6",
      "tree": "b3adf11b97e14ece7c10c81ea9f156f16491ca87",
      "parents": [
        "2c1b861539c15491593625920058e06452cd3747"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Oct 16 18:46:39 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 16 18:46:39 2008 +0000"
      },
      "message": "[CIFS] eliminate usage of kthread_stop for cifsd\n\nWhen cifs_demultiplex_thread was converted to a kthread based kernel\nthread, great pains were taken to make it so that kthread_stop would be\nused to bring it down. This just added unnecessary complexity since we\nneeded to use a signal anyway to break out of kernel_recvmsg.\n\nAlso, cifs_demultiplex_thread does a bit of cleanup as it\u0027s exiting, and\nwe need to be certain that this gets done. It\u0027s possible for a kthread\nto exit before its main function is ever run if kthread_stop is called\nsoon after its creation. While I\u0027m not sure that this is a real problem\nwith cifsd now, it could be at some point in the future if cifs_mount is\never changed to bring down the thread quickly.\n\nThe upshot here is that using kthread_stop to bring down the thread just\nadds extra complexity with no real benefit. This patch changes the code\nto use the original method to bring down the thread, but still leaves it\nso that the thread is actually started with kthread_run.\n\nThis seems to fix the deadlock caused by the reproducer in this bug\nreport:\n\nhttps://bugzilla.samba.org/show_bug.cgi?id\u003d5720\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2c1b861539c15491593625920058e06452cd3747",
      "tree": "0ba78f807ff7d3eba8174462f6bde28f8e0dc987",
      "parents": [
        "7591103c08abade60aeddb432ed0686ddd0de1c6"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 16 18:35:21 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Oct 16 18:35:21 2008 +0000"
      },
      "message": "[CIFS] Add nodfs mount option\nOlder samba server (eg. 3.0.24 from Debian etch) don\u0027t work correctly,\nif DFS paths are used. Such server claim that they support DFS, but fail\nto process some requests with DFS paths. Starting with Linux 2.6.26,\nthe cifs clients starts sending DFS paths in such situations, rendering\nit unuseable with older samba servers.\n\nThe nodfs mount options forces a share to be used with non DFS paths,\neven if the server claims, that it supports it.\n\nSigned-off-by: Martin Koegler \u003cmkoegler@auto.tuwien.ac.at\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: Igor Mammedov \u003cniallain@gmail.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "14835a3325c1f84c3ae6eaf81102a3917e84809e",
      "tree": "1ea764174a676ef68af15fb6fed4b71874eea845",
      "parents": [
        "fd048088306656824958e7783ffcee27e241b361"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sun Oct 12 13:34:11 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Oct 12 13:34:11 2008 +0000"
      },
      "message": "[CIFS] cifs: remove pointless lock and unlock of GlobalMid_Lock in header_assemble\n\nWe lock GlobalMid_Lock in header_assemble and then immediately unlock it\nagain without doing anything. Not sure what this was intended to do, but\nremove it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b77d753c413e02559669df66e543869dad40c847",
      "tree": "95946079a0b58c06a6e98b22b06f86a89fe68749",
      "parents": [
        "0752f1522a9120f731232919f7ad904e9e22b8ce"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 08 19:13:46 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 08 19:13:46 2008 +0000"
      },
      "message": "[CIFS] Check that last search entry resume key is valid\n\nJeff\u0027s recent patch to add a last_entry field in the search structure\nto better construct resume keys did not validate that the server\nsent us a plausible pointer to the last entry.  This adds that.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0752f1522a9120f731232919f7ad904e9e22b8ce",
      "tree": "3abf826e49b8e550863254f135ec573d7fd1107c",
      "parents": [
        "6050247d8089037d6d8ea0f3c62fe4a931c1ab14"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 07 20:03:33 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 07 20:03:33 2008 +0000"
      },
      "message": "[CIFS] make sure we have the right resume info before calling CIFSFindNext\n\nWhen we do a seekdir() or equivalent, we usually end up doing a\nFindFirst call and then call FindNext until we get to the offset that we\nwant. The problem is that when we call FindNext, the code usually\ndoesn\u0027t have the proper info (mostly, the filename of the entry from the\nlast search) to resume the search.\n\nAdd a \"last_entry\" field to the cifs_search_info that points to the last\nentry in the search. We calculate this pointer by using the\nLastNameOffset field from the search parms that are returned. We then\nuse that info to do a cifs_save_resume_key before we call CIFSFindNext.\n\nThis patch allows CIFS to reliably pass the \"telldir\" connectathon test.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6050247d8089037d6d8ea0f3c62fe4a931c1ab14",
      "tree": "0be9729efe33be16bb12ccb289ec5992c450fcd9",
      "parents": [
        "6b37faa175311128dc920aaa57a5f7fab85537d7"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 07 18:42:52 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 07 18:42:52 2008 +0000"
      },
      "message": "[CIFS]  clean up error handling in cifs_unlink\n\nCurrently, if a standard delete fails and we end up getting -EACCES\nwe try to clear ATTR_READONLY and try the delete again. If that\nthen fails with -ETXTBSY then we try a rename_pending_delete. We\naren\u0027t handling other errors appropriately though.\n\nAnother client could have deleted the file in the meantime and\nwe get back -ENOENT, for instance. In that case we wouldn\u0027t do a\nd_drop. Instead of retrying in a separate call, simply goto the\noriginal call and use the error handling from that.\n\nAlso, we weren\u0027t properly undoing any attribute changes that\nwere done before returning an error back to the caller.\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6b37faa175311128dc920aaa57a5f7fab85537d7",
      "tree": "b01a801464cfbb0749efa712bea857fe4a11b915",
      "parents": [
        "dfd15c46a6c2cafb006183c0c14f07e59eee4ac0"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 06 21:54:41 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 06 21:54:41 2008 +0000"
      },
      "message": "[CIFS] fix some settings of cifsAttrs after calling SetFileInfo and SetPathInfo\n\nWe only need to set them when we call SetFileInfo or SetPathInfo\ndirectly, and as soon as possible after then. We had one place setting\nit where it didn\u0027t need to be, and another place where it was missing.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "dfd15c46a6c2cafb006183c0c14f07e59eee4ac0",
      "tree": "bfd9c0f4be99841c2638bfe6985676bb789b0610",
      "parents": [
        "d9414774dc0c7b395036deeca000af42e2d13612"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 24 11:32:59 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 24 20:59:37 2008 +0000"
      },
      "message": "cifs: explicitly revoke SPNEGO key after session setup\n\ncifs: explicitly revoke SPNEGO key after session setup\n\nThe SPNEGO blob returned by an upcall can only be used once. Explicitly\nrevoke it to make sure that we never pick it up again after session\nsetup exits.\n\nThis doesn\u0027t seem to be that big an issue on more recent kernels, but\nolder kernels seem to link keys into the session keyring by default.\nThat said, explicitly revoking the key seems like a reasonable thing\nto do here.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d9414774dc0c7b395036deeca000af42e2d13612",
      "tree": "4ddd38ff111978b597a802c111944ee2f9059449",
      "parents": [
        "d388908ec40ada0001dfe05134de31d0cc62907c"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Sep 24 11:32:59 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 24 19:32:56 2008 +0000"
      },
      "message": "cifs: Convert cifs to new aops.\n\ncifs: Convert cifs to new aops.\n\nThis patch is based on the one originally posted by Nick Piggin. His\npatch was very close, but had a couple of small bugs. Nick\u0027s original\ncomments follow:\n\nThis is another relatively naive conversion. Always do the read upfront\nwhen the page is not uptodate (unless we\u0027re in the writethrough path).\n\nFix an uninitialized data exposure where SetPageUptodate was called\nbefore the page was uptodate.\n\nSetPageUptodate and switch to writeback mode in the case that the full\npage was dirtied.\n\nAcked-by: Shaggy \u003cshaggy@austin.ibm.com\u003e\nAcked-by: Badari Pulavarty \u003cpbadari@us.ibm.com\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d388908ec40ada0001dfe05134de31d0cc62907c",
      "tree": "4c4d6c8bf2185bfa4677bd64ee463a3d70a851e9",
      "parents": [
        "391e575556109744ae0aa198c1e245588a3ea76a"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 24 19:22:52 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 24 19:22:52 2008 +0000"
      },
      "message": "[CIFS] update DOS attributes in cifsInode if we successfully changed them\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "391e575556109744ae0aa198c1e245588a3ea76a",
      "tree": "90980d20d071415ba7f601acd3139ae7121123bf",
      "parents": [
        "7ce86d5a93ffe2542e6558a97ab055377df8cde3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 24 11:32:59 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 24 19:07:36 2008 +0000"
      },
      "message": "cifs: remove NULL termination from rename target in CIFSSMBRenameOpenFIle\n\ncifs: remove NULL termination from rename target in CIFSSMBRenameOpenFIle\n\nThe rename destination isn\u0027t supposed to be null terminated. Also,\nchange the name string arg to be const.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7ce86d5a93ffe2542e6558a97ab055377df8cde3",
      "tree": "14b2e450aef89019dbbdcedaaed2383977aeb9c6",
      "parents": [
        "74553b1b6a8556e08757b4bce537fd8332b93898"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 24 11:32:59 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 24 18:59:20 2008 +0000"
      },
      "message": "cifs: work around samba returning -ENOENT on SetFileDisposition call\n\ncifs: work around samba returning -ENOENT on SetFileDisposition call\n\nSamba seems to return STATUS_OBJECT_NAME_NOT_FOUND when we try to set\nthe delete on close bit after doing a rename by filehandle. This looks\nlike a samba bug to me, but a lot of servers will do this. For now,\npretend an -ENOENT return is a success.\n\nSamba does however seem to respect the CREATE_DELETE_ON_CLOSE bit\nwhen opening files that already exist. Windows will ignore it, but\nso adding it to the open flags should be harmless.\n\nWe\u0027re also currently ignoring the return code on the rename by\nfilehandle, so no need to set rc based on it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "74553b1b6a8556e08757b4bce537fd8332b93898",
      "tree": "84513606c9902e7969886f2389d4fb7da2272a8a",
      "parents": [
        "9d81523480c8c5b07a4899a084b3f4264a575184"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 24 14:55:51 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 24 18:55:11 2008 +0000"
      },
      "message": "cifs: fix inverted NULL check after kmalloc\n\ncifs: fix inverted NULL check after kmalloc\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9d81523480c8c5b07a4899a084b3f4264a575184",
      "tree": "a404c0a8c6f88dfef828f0b3be9177097860bde5",
      "parents": [
        "ee2fd967fb23c5eecabc8a660ec66fcd79acbd47"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 23 18:46:07 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 23 18:46:07 2008 +0000"
      },
      "message": "[CIFS] clean up upcall handling for dns_resolver keys\n\nWe\u0027re given the datalen in the downcall, so there\u0027s no need to do any\ncalls to strlen(). Just keep track of the datalen in the key. Finally,\nadd a sanity check of the data in the downcall to make sure that it\nlooks like a real IP address.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ee2fd967fb23c5eecabc8a660ec66fcd79acbd47",
      "tree": "8a1922499e0775d4849d6ed8d4e3027800d7242d",
      "parents": [
        "6d22f09896c0d62c003ffa25fff25323e3ed608b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 23 18:23:33 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 23 18:23:33 2008 +0000"
      },
      "message": "[CIFS]  fix busy-file renames and refactor cifs_rename logic\n\nBreak out the code that does the actual renaming into a separate\nfunction and have cifs_rename call that. That function will attempt a\npath based rename first and then do a filehandle based one if it looks\nlike the source is busy.\n\nThe existing logic tried a path based rename first, but if we needed to\nremove the destination then it only attempted a filehandle based rename\nafterward. Not all servers support renaming by filehandle, so we need to\nalways attempt path rename first and fall back to filehandle rename if\nit doesn\u0027t work.\n\nThis also fixes renames of open files on windows servers (at least when\nthe source and destination directories are the same).\n\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6d22f09896c0d62c003ffa25fff25323e3ed608b",
      "tree": "ae324f22f3e2f4a4b5e5b7bf5f4f6d84e4f95ee0",
      "parents": [
        "7c9c3760b3a5ae87ee4d661703b6d5de3999fe46"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Sep 23 11:48:35 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 23 17:39:28 2008 +0000"
      },
      "message": "cifs: add function to set file disposition\n\ncifs: add function to set file disposition\n\nThe proper way to set the delete on close bit on an already existing\nfile is to use SET_FILE_INFO with an infolevel of\nSMB_FILE_DISPOSITION_INFO. Add a function to do that and have the\nsilly-rename code use it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7c9c3760b3a5ae87ee4d661703b6d5de3999fe46",
      "tree": "4ab67092bb83fafbc15ec800664aac666f565ffa",
      "parents": [
        "a12a1ac7a474b3680b9cce9f64a4f78123aecf37"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 23 17:23:09 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 23 17:23:09 2008 +0000"
      },
      "message": "[CIFS] add constants for string lengths of keynames in SPNEGO upcall string\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a12a1ac7a474b3680b9cce9f64a4f78123aecf37",
      "tree": "ea56c96d7c0b0a81a8629779359ec06eaf922c3d",
      "parents": [
        "2846d3864738dd6e290755d0692cf377e09ba79f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Tue Sep 23 11:48:35 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 23 17:11:03 2008 +0000"
      },
      "message": "cifs: move rename and delete-on-close logic into helper function\n\ncifs: move rename and delete-on-close logic into helper function\n\nWhen a file is still open on the server, we attempt to set the\nDELETE_ON_CLOSE bit and rename it to a new filename. When the\nlast opener closes the file, the server should delete it.\n\nThis patch moves this mechanism into a helper function and has\nthe two places in cifs_unlink that do this procedure call it. It\nalso fixes the open flags to be correct.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    }
  ],
  "next": "2846d3864738dd6e290755d0692cf377e09ba79f"
}
