)]}'
{
  "log": [
    {
      "commit": "1a67aafb5f72a436ca044293309fa7e6351d6a35",
      "tree": "d9e58600148de9d41b478cf815773b746647d15b",
      "parents": [
        "4acdaf27ebe2034c342f3be57ef49aed1ad885ef"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:52:52 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:54 2012 -0500"
      },
      "message": "switch -\u003emknod() to umode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4acdaf27ebe2034c342f3be57ef49aed1ad885ef",
      "tree": "d89a876ee19cd88609a587f8aa6c464a52ee6d98",
      "parents": [
        "18bb1db3e7607e4a997d50991a6f9fa5b0f8722c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jul 26 01:42:34 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jan 03 22:54:53 2012 -0500"
      },
      "message": "switch -\u003ecreate() to umode_t\n\nvfs_create() ignores everything outside of 16bit subset of its\nmode argument; switching it to umode_t is obviously equivalent\nand it\u0027s the only caller of the method\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ad4778fb40994dd7c779069dad6ff704d75b81e6",
      "tree": "10fa342478770437160177d81bed2a797f2be18e",
      "parents": [
        "7748dd6eab8e13f974d4664395e76afffacda04b"
      ],
      "author": {
        "name": "Gerlando Falauto",
        "email": "gerlando.falauto@keymile.com",
        "time": "Tue Oct 18 10:58:50 2011 +0200"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Tue Oct 18 10:49:38 2011 -0500"
      },
      "message": "CIFS: fix automount for DFS shares\n\nAutomounting directories are now invalidated by .d_revalidate()\nso to be d_instantiate()d again with the right DCACHE_NEED_AUTOMOUNT\nflag\n\nReviewed-by: Jeff Layton \u003cjlayton@samba.org\u003e\nSigned-off-by: Gerlando Falauto \u003cgerlando.falauto@keymile.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "3d3ea8e64efbeb3e4289675dbbfab82333395642",
      "tree": "3f7c52039dceefeae2abf010a1a3ec8abef0c459",
      "parents": [
        "8bc4392a1e50f346e97f8777aaefd9cfc3d45c9f"
      ],
      "author": {
        "name": "Shirish Pargaonkar",
        "email": "shirishpargaonkar@gmail.com",
        "time": "Mon Sep 26 09:56:44 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Wed Oct 12 23:42:17 2011 -0500"
      },
      "message": "cifs: Add mount options for backup intent (try #6)\n\nAdd mount options backupuid and backugid.\n\nIt allows an authenticated user to access files with the intent to back them\nup including their ACLs, who may not have access permission but has\n\"Backup files and directories user right\" on them (by virtue of being part\nof the built-in group Backup Operators.\n\nWhen mount options backupuid is specified, cifs client restricts the\nuse of backup intents to the user whose effective user id is specified\nalong with the mount option.\n\nWhen mount options backupgid is specified, cifs client restricts the\nuse of backup intents to the users whose effective user id belongs to the\ngroup id specified along with the mount option.\n\nIf an authenticated user is not part of the built-in group Backup Operators\nat the server, access to such files is denied, even if allowed by the client.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishpargaonkar@gmail.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "e75047344ea415760b2508a6fa29c0288c7b6b68",
      "tree": "14abdd67059e4d6a33ce149a4474dbaafc75b9b7",
      "parents": [
        "ba749e6d5227de22e442c6088cc7dc1f0c5c68bf"
      ],
      "author": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Wed Oct 12 17:47:03 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "smfrench@gmail.com",
        "time": "Wed Oct 12 23:42:05 2011 -0500"
      },
      "message": "add new module parameter \u0027enable_oplocks\u0027\n\nThus spake Jeff Layton:\n\n\"Making that a module parm would allow you to set that parameter at boot\ntime without needing to add special startup scripts. IMO, all of the\nprocfile \"switches\" under /proc/fs/cifs should be module parms\ninstead.\"\n\nThis patch doesn\u0027t alter the default behavior (Oplocks are enabled by\ndefault).\n\nTo disable oplocks when loading the module, use\n\n   modprobe cifs enable_oplocks\u003d0\n\n(any of \u00270\u0027 or \u0027n\u0027 or \u0027N\u0027 conventions can be used).\n\nTo disable oplocks at runtime using the new interface, use\n\n   echo 0 \u003e /sys/module/cifs/parameters/enable_oplocks\n\nThe older /proc/fs/cifs/OplockEnabled interface will be deprecated\nafter two releases. A subsequent patch will add an warning message\nabout this deprecation.\n\nChanges since v2:\n   - make enable_oplocks a \u0027bool\u0027\n\nChanges since v1:\n   - eliminate the use of extra variable by renaming the old one to\n     enable_oplocks and make it an \u0027int\u0027 type.\n\nReported-by: Alexander Swen \u003calex@swen.nu\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csmfrench@gmail.com\u003e\n"
    },
    {
      "commit": "fa71f447065f676157ba6a2c121ba419818fc559",
      "tree": "ede7c3786c1f2f5fbdd9c546b20af5e4b4a42b5d",
      "parents": [
        "b5ddbf465f3675b19c8f5528b4064cbf278a5c6f"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Aug 08 11:50:24 2011 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Aug 16 13:07:24 2011 +0000"
      },
      "message": "cifs: demote cERROR in build_path_from_dentry to cFYI\n\nRunning the cthon tests on a recent kernel caused this message to pop\noccasionally:\n\n    CIFS VFS: did not end path lookup where expected namelen is 0\n\nSome added debugging showed that namelen and dfsplen were both 0 when\nthis occurred. That means that the read_seqretry returned true.\n\nAssuming that the comment inside the if statement is true, this should\nbe harmless and just means that we raced with a rename. If that is the\ncase, then there\u0027s no need for alarm and we can demote this to cFYI.\n\nWhile we\u0027re at it, print the dfsplen too so that we can see what\nhappened here if the message pops during debugging.\n\nCc: stable@kernel.org\nCc: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "1d87c28e680ce4ecb8c260d8ce070b8339d52abb",
      "tree": "84d145886c982d1193418bb9e43de774beb21d3b",
      "parents": [
        "aebdd82e18c38258fe84ea080a43c098e826ef63",
        "14cae3243b555afda69a57778069ddca65532c06"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:11:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 11:11:28 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:\n  cifs: Cleanup: check return codes of crypto api calls\n  CIFS: Fix oops while mounting with prefixpath\n  [CIFS] Redundant null check after dereference\n  cifs: use cifs_dirent in cifs_save_resume_key\n  cifs: use cifs_dirent to replace cifs_get_name_from_search_buf\n  cifs: introduce cifs_dirent\n  cifs: cleanup cifs_filldir\n"
    },
    {
      "commit": "f5bc1e755d23d022bf948904386337fc3e5e29a8",
      "tree": "8c65823f6076c2bf25e11f5756abe704deca7708",
      "parents": [
        "e010a5ef95b8b6a12b74b548578f7dcf93564347"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jul 25 17:59:10 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jul 25 22:06:40 2011 +0000"
      },
      "message": "CIFS: Fix oops while mounting with prefixpath\n\ncommit fec11dd9a0109fe52fd631e5c510778d6cbff6cc caused\na regression when we have already mounted //server/share/a\nand want to mount //server/share/a/b.\n\nThe problem is that lookup_one_len calls __lookup_hash\nwith nd pointer as NULL. Then __lookup_hash calls\ndo_revalidate in the case when dentry exists and we end\nup with NULL pointer deference in cifs_d_revalidate:\n\nif (nd-\u003eflags \u0026 LOOKUP_RCU)\n\treturn -ECHILD;\n\nFix this by checking nd for NULL.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "e010a5ef95b8b6a12b74b548578f7dcf93564347",
      "tree": "845def645b231e6d57d0f4df6126401f6f13574b",
      "parents": [
        "eaf35b1ea8c12edc5ba8299a8ecfe1efab85101b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jul 25 22:04:32 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jul 25 22:04:32 2011 +0000"
      },
      "message": "[CIFS] Redundant null check after dereference\n\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3ca30d40a91fb9b9871e61d5dea2c1a895906a15",
      "tree": "2d0af7b870f0c56a4b81938a65276565e8b0ac2b",
      "parents": [
        "340a0a01b9675a16201cc4fc4a210eb5b3bc11ce"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastryyy@gmail.com",
        "time": "Mon Jul 25 17:59:10 2011 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Jul 25 14:23:21 2011 -0400"
      },
      "message": "CIFS: Fix oops while mounting with prefixpath\n\ncommit fec11dd9a0109fe52fd631e5c510778d6cbff6cc caused\na regression when we have already mounted //server/share/a\nand want to mount //server/share/a/b.\n\nThe problem is that lookup_one_len calls __lookup_hash\nwith nd pointer as NULL. Then __lookup_hash calls\ndo_revalidate in the case when dentry exists and we end\nup with NULL pointer deference in cifs_d_revalidate:\n\nif (nd-\u003eflags \u0026 LOOKUP_RCU)\n\treturn -ECHILD;\n\nFix this by checking nd for NULL.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastryyy@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4352780386139ff33d2203868b392e6535deff61",
      "tree": "5bfc19790fa4c70b9153753d68e3dc11e49f7483",
      "parents": [
        "a127e0af59ab610e8b37ac2dfa4cdb2ec8c8f604"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 25 21:45:21 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:44:00 2011 -0400"
      },
      "message": "cifs_lookup(): LOOKUP_OPEN is set only on the last component\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "407938e79edcadba1b5a17cf928584d8a191a8d7",
      "tree": "2d8abfe7d1fb12e6c28370ab44c77516d7b2f3a1",
      "parents": [
        "dd7dd556e45133ef13f2c4bddc0e0b1ac23bc0e4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 25 21:37:18 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:56 2011 -0400"
      },
      "message": "LOOKUP_CREATE and LOOKUP_RENAME_TARGET can be set only on the last step\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dd7dd556e45133ef13f2c4bddc0e0b1ac23bc0e4",
      "tree": "4884b6af570a2a0cb01d11f39a38a3a9c73e49ba",
      "parents": [
        "bf6c7f6c7bd0ea779757d35b5fdc9f9157f056b3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 25 21:17:17 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jul 20 01:43:56 2011 -0400"
      },
      "message": "no need to check for LOOKUP_OPEN in -\u003ecreate() instances\n\n... it will be set in nd-\u003eflag for all cases with non-NULL nd\n(i.e. when called from do_last()).\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dc137bf553dbb6855bd7efc34fedcd03102455f7",
      "tree": "ab1fefc7da26bb86655a28651c4eafb56d741ea1",
      "parents": [
        "3110df800c4de2724624d46e6bed27efc5e9a707"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 16 23:37:20 2011 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jul 16 23:37:20 2011 -0400"
      },
      "message": "cifs: build_path_from_dentry() race fix\n\ndeal with d_move() races properly; rename_lock read-retry loop,\nrcu_read_lock() held while walking to root, d_lock held over\nsubtraction from namelen and copying the component to stabilize\n-\u003ed_name.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "96daf2b09178d8ebde2b0d56b027de917c17dfdf",
      "tree": "74802fa44e87925e49067d5106eb762cc27b9b97",
      "parents": [
        "07cc6cf9ef84bcf6a60ee513332bcb0ad5d628d8"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 27 04:34:02 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 27 04:34:02 2011 +0000"
      },
      "message": "[CIFS] Rename three structures to avoid camel case\n\nsecMode to sec_mode\nand\ncifsTconInfo to cifs_tcon\nand\ncifsSesInfo to cifs_ses\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f87d39d951329cd8f462bf9007d334122c0599d0",
      "tree": "ba4c4d9dee6958c7d8ee87070a58d80389be2d2f",
      "parents": [
        "641a58d66d086327042e9d73c6606fd02c8f067c"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 27 03:50:55 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 27 03:50:55 2011 +0000"
      },
      "message": "[CIFS] Migrate from prefixpath logic\n\nNow we point superblock to a server share root and set a root dentry\nappropriately. This let us share superblock between mounts like\n//server/sharename/foo/bar and //server/sharename/foo further.\n\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fa2989f4473413a86890066aa3a5676a53b541e4",
      "tree": "a033c59307ba77ae0819e818aec7d68178d11d4d",
      "parents": [
        "c28c89fc43e3f81436efc4748837534d4d46f90c"
      ],
      "author": {
        "name": "Pavel Shilovsky",
        "email": "piastry@etersoft.ru",
        "time": "Thu May 26 10:01:59 2011 +0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 26 18:07:02 2011 +0000"
      },
      "message": "CIFS: Use pid saved from cifsFileInfo in writepages and set_file_size\n\nWe need it to make them work with mandatory locking style because\nwe can fail in a situation like when kernel need to flush dirty pages\nand there is a lock held by a process who opened file.\n\nSigned-off-by: Pavel Shilovsky \u003cpiastry@etersoft.ru\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "01c64feac45cea1317263eabc4f7ee1b240f297f",
      "tree": "b1df5409132ef04e380104a6617d2781f8e196f0",
      "parents": [
        "36d43a43761b004ad1879ac21471d8fc5f3157ec"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 14 18:45:47 2011 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jan 15 20:07:35 2011 -0500"
      },
      "message": "CIFS: Use d_automount() rather than abusing follow_link()\n\nMake CIFS use the new d_automount() dentry operation rather than abusing\nfollow_link() on directories.\n\n[NOTE: THIS IS UNTESTED!]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Steve French \u003csfrench@samba.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1c929cfe6d8f2087a337a868fbf6c38d56bb4889",
      "tree": "7af4da88d893a45bff4fa3df9163a150a8a837b7",
      "parents": [
        "8b244ff2fa58f81f84aa03c82c2c23307a778ce7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Dec 18 11:43:51 2010 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 12 20:02:46 2011 -0500"
      },
      "message": "switch cifs\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "d44a9fe2c8af3fee8edb203e9b11e507851c50fa",
      "tree": "3deff359e1d04811af9c0b232107180d6bd490cd",
      "parents": [
        "ca40b714b8f9f20118b7071cb7cf49954166dbdf"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Jan 07 11:30:29 2011 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jan 09 23:39:24 2011 +0000"
      },
      "message": "cifs: switch cifs_open and cifs_create to use CIFSSMBUnixSetFileInfo\n\nWe call CIFSSMBUnixSetPathInfo in these functions, but we have a\nfilehandle since an open was just done. Switch these functions to\nuse CIFSSMBUnixSetFileInfo instead.\n\nIn practice, these codepaths are only used if posix opens are broken.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "197a1eeb7f89c1d2ba93713398e9655899aa973e",
      "tree": "cfc6452bd9d69b6ecd6bf5669d6103d4720765d4",
      "parents": [
        "acc6f11272ce4f77c40b1a6292eb198fd6aaf8c3"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jan 09 23:26:56 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jan 09 23:26:56 2011 +0000"
      },
      "message": "[CIFS] Fix minor merge conflict in fs/cifs/dir.c\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "acc6f11272ce4f77c40b1a6292eb198fd6aaf8c3",
      "tree": "2da3a61b6726707a89f1cf93446aabd2fb00e1f0",
      "parents": [
        "7e12eddb73d4f288b0339ee13832a34d6bc4fd90",
        "0c21e3aaf6ae85bee804a325aa29c325209180fd"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jan 09 23:18:16 2011 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jan 09 23:18:16 2011 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of /pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\tfs/cifs/dir.c\n"
    },
    {
      "commit": "34286d6662308d82aed891852d04c7c3a2649b16",
      "tree": "c4b7311404d302e7cb94df7a4690298e1059910a",
      "parents": [
        "44a7d7a878c9cbb74f236ea755b25b6b2e26a9a9"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:57 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:29 2011 +1100"
      },
      "message": "fs: rcu-walk aware d_revalidate method\n\nRequire filesystems be aware of .d_revalidate being called in rcu-walk\nmode (nd-\u003eflags \u0026 LOOKUP_RCU). For now do a simple push down, returning\n-ECHILD from all implementations.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "fb045adb99d9b7c562dc7fef834857f78249daa1",
      "tree": "1fd6a4024fffeec568abe100d730589bfdb81c38",
      "parents": [
        "5f57cbcc02cf18f6b22ef4066bb10afeb8f930ff"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:55 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:28 2011 +1100"
      },
      "message": "fs: dcache reduce branches in lookup path\n\nReduce some branches and memory accesses in dcache lookup by adding dentry\nflags to indicate common d_ops are set, rather than having to check them.\nThis saves a pointer memory access (dentry-\u003ed_op) in common path lookup\nsituations, and saves another pointer load and branch in cases where we\nhave d_op but not the particular operation.\n\nPatched with:\n\ngit grep -E \u0027[.\u003e]([[:space:]])*d_op([[:space:]])*\u003d\u0027 | xargs sed -e \u0027s/\\([^\\t ]*\\)-\u003ed_op \u003d \\(.*\\);/d_set_d_op(\\1, \\2);/\u0027 -e \u0027s/\\([^\\t ]*\\)\\.d_op \u003d \\(.*\\);/d_set_d_op(\\\u0026\\1, \\2);/\u0027 -i\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "b1e6a015a580ad145689ad1d6b4aa0e03e6c868b",
      "tree": "57a10ef164e4d2f798d9b832dbeaf973aca2ab83",
      "parents": [
        "621e155a3591962420eacdd39f6f0aa29ceb221e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:28 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:20 2011 +1100"
      },
      "message": "fs: change d_hash for rcu-walk\n\nChange d_hash so it may be called from lock-free RCU lookups. See similar\npatch for d_compare for details.\n\nFor in-tree filesystems, this is just a mechanical change.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "621e155a3591962420eacdd39f6f0aa29ceb221e",
      "tree": "387a9fb396f1bf24514b712c294182e36ba51076",
      "parents": [
        "fb2d5b86aff355a27ebfc132d3c99f4a940cc3fe"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:27 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:19 2011 +1100"
      },
      "message": "fs: change d_compare for rcu-walk\n\nChange d_compare so it may be called from lock-free RCU lookups. This\ndoes put significant restrictions on what may be done from the callback,\nhowever there don\u0027t seem to have been any problems with in-tree fses.\nIf some strange use case pops up that _really_ cannot cope with the\nrcu-walk rules, we can just add new rcu-unaware callbacks, which would\ncause name lookup to drop out of rcu-walk mode.\n\nFor in-tree filesystems, this is just a mechanical change.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "79eb4dde742fe2e9c9e301432b894a7410261ce7",
      "tree": "89150e92450fd10f7bd55348459d9f36be544ec0",
      "parents": [
        "fe15ce446beb3a33583af81ffe6c9d01a75314ed"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:49:24 2011 +1100"
      },
      "committer": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Fri Jan 07 17:50:18 2011 +1100"
      },
      "message": "cifs: dont overwrite dentry name in d_revalidate\n\nUse vfat\u0027s method for dealing with negative dentries to preserve case,\nrather than overwrite dentry name in d_revalidate, which is a bit ugly\nand also gets in the way of doing lock-free path walking.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\n"
    },
    {
      "commit": "262f86adcc0665872812a7458a5d03e19e0efe33",
      "tree": "3e54502cfec37e9d86f9e92b40d9bc6d25669b16",
      "parents": [
        "3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Thu Nov 11 18:42:16 2010 +1100"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 06 19:07:52 2011 +0000"
      },
      "message": "cifs: don\u0027t overwrite dentry name in d_revalidate\n\nInstead, use fatfs\u0027s method for dealing with negative dentries to\npreserve case, rather than overwrite dentry name in d_revalidate, which\nis a bit ugly and also gets in the way of doing lock-free path walking.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "15ecb436c00fcb13b6dc32bdcbb9f75fc9b7613e",
      "tree": "983bd08a195f701b3bffdb495fcf4e6f0e3b42cc",
      "parents": [
        "2e396b83f6087b78dac5a18d6d0cf9f8426a00b3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:02 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:07:31 2010 +0000"
      },
      "message": "cifs: move cifs_new_fileinfo to file.c\n\nIt\u0027s currently in dir.c which makes little sense...\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "2e396b83f6087b78dac5a18d6d0cf9f8426a00b3",
      "tree": "890c0af098920fe79e85f475a25fcc2f0d8c00bc",
      "parents": [
        "7da4b49a0ec481239d9cd51f7053aa8e4e191fa7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:34:01 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:07:20 2010 +0000"
      },
      "message": "cifs: eliminate pfile pointer from cifsFileInfo\n\nAll the remaining users of cifsFileInfo-\u003epfile just use it to get\nat the f_flags/f_mode. Now that we store that separately in the\ncifsFileInfo, there\u0027s no need to consult the pfile at all from\na cifsFileInfo pointer.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "15886177e412db00aa86155fe72608c4ebf5a08f",
      "tree": "eb4ac34ee40ae499ae2a68c44f71effe657b4504",
      "parents": [
        "abfe1eedd682ea0f20e7035445982e6d371a2024"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:33:59 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:04:19 2010 +0000"
      },
      "message": "cifs: clean up cifs_reopen_file\n\nAdd a f_flags field that holds the f_flags field from the filp. We\u0027ll\nneed this info in case the filp ever goes away before the cifsFileInfo\ndoes. Have cifs_reopen_file use that value instead of filp-\u003ef_flags\ntoo and have it take a cifsFileInfo arg instead of a filp.\n\nWhile we\u0027re at it, get rid of some bogus cargo-cult NULL pointer\nchecks in that function and reduce the level of indentation.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "abfe1eedd682ea0f20e7035445982e6d371a2024",
      "tree": "70d5fe483cae0f782b8e78ea5c08ef2dbb45c2e7",
      "parents": [
        "f6a53460e2a105904deeada737b3f878d78517b3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:33:58 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 01:04:16 2010 +0000"
      },
      "message": "cifs: eliminate the inode argument from cifs_new_fileinfo\n\nIt already takes a file pointer. The inode associated with that had damn\nwell better be the same one we\u0027re passing in anyway. Thus, there\u0027s no\nneed for a separate argument here.\n\nAlso, get rid of the bogus check for a null pCifsInode pointer. The\nCIFS_I macro uses container_of(), and that will virtually never return a\nNULL pointer anyway.\n\nFinally, move the setting of the canCache* flags outside of the lock.\nOther places in the code don\u0027t hold that lock when setting it, so I\nassume it\u0027s not really needed here either.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f6a53460e2a105904deeada737b3f878d78517b3",
      "tree": "f51122e6e3e2a5d3a864d17cad708d313b0ef12a",
      "parents": [
        "608712fe8609492a8670638ea86b97fafe49ebba"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:33:57 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 00:34:35 2010 +0000"
      },
      "message": "cifs: eliminate oflags option from cifs_new_fileinfo\n\nEliminate the poor, misunderstood \"oflags\" option from cifs_new_fileinfo.\nThe callers mostly pass in the filp-\u003ef_flags here.\n\nThat\u0027s not correct however since we\u0027re checking that value for\nthe presence of FMODE_READ. Luckily that only affects how the f_list is\nordered. What it really wants here is the file-\u003ef_mode. Just use that\nfield from the filp to determine it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "608712fe8609492a8670638ea86b97fafe49ebba",
      "tree": "b175e2ac5e71ab8d6541a82d496d5dc6cc812acf",
      "parents": [
        "2f4f26fcf393ef4a44abe10e79c1966e64e86055"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Oct 15 15:33:56 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Oct 18 00:34:29 2010 +0000"
      },
      "message": "cifs: fix flags handling in cifs_posix_open\n\nThe way flags are passed and converted for cifs_posix_open is rather\nnon-sensical. Some callers call cifs_posix_convert_flags on the flags\nbefore they pass them to cifs_posix_open, whereas some don\u0027t. Two flag\nconversion steps is just confusing though.\n\nChange the function instead to clearly expect input in f_flags format,\nand fix the callers to pass that in. Then, have cifs_posix_open call\ncifs_convert_posix_flags to do the conversion. Move cifs_posix_open to\nfile.c as well so we can keep cifs_convert_posix_flags as a static\nfunction.\n\nFix it also to not ignore O_CREAT, O_EXCL and O_TRUNC, and instead have\ncifs_reopen_file mask those bits off before calling cifs_posix_open.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "d7c86ff8cd00abc730fe5d031f43dc9138b6324e",
      "tree": "a1f264ce2f33e3ac77a459291b9a5e45a63e3bff",
      "parents": [
        "a5e18bc36e9e05ce0338d370a2ce4290910e43ea"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 11 15:07:19 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 12 18:08:01 2010 +0000"
      },
      "message": "cifs: don\u0027t use vfsmount to pin superblock for oplock breaks\n\nFilesystems aren\u0027t really supposed to do anything with a vfsmount. It\u0027s\nconsidered a layering violation since vfsmounts are entirely managed at\nthe VFS layer.\n\nCIFS currently keeps an active reference to a vfsmount in order to\nprevent the superblock vanishing before an oplock break has completed.\nWhat we really want to do instead is to keep sb-\u003es_active high until the\noplock break has completed. This patch borrows the scheme that NFS uses\nfor handling sillyrenames.\n\nAn atomic_t is added to the cifs_sb_info. When it transitions from 0 to\n1, an extra reference to the superblock is taken (by bumping the\ns_active value). When it transitions from 1 to 0, that reference is\ndropped and a the superblock teardown may proceed if there are no more\nreferences to it.\n\nAlso, the vfsmount pointer is removed from cifsFileInfo and from\ncifs_new_fileinfo, and some bogus forward declarations are removed from\ncifsfs.h.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a5e18bc36e9e05ce0338d370a2ce4290910e43ea",
      "tree": "9d8b37c1dd20267c372ff8c98850eeb2f204449b",
      "parents": [
        "1c456013e96f10915578dc61095d19b4906f64ac"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Oct 11 15:07:18 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 12 18:06:42 2010 +0000"
      },
      "message": "cifs: keep dentry reference in cifsFileInfo instead of inode reference\n\ncifsFileInfo is a bit problematic. It contains a reference back to the\nstruct file itself. This makes it difficult for a cifsFileInfo to exist\nwithout a corresponding struct file.\n\nIt would be better instead of the cifsFileInfo just held info pertaining\nto the open file on the server instead without any back refrences to the\nstruct file. This would allow it to exist after the filp to which it was\noriginally attached was closed.\n\nMuch of the use of the file pointer in this struct is to get at the\ndentry.  Begin divorcing the cifsFileInfo from the struct file by\nkeeping a reference to the dentry. Since the dentry will have a\nreference to the inode, we can eliminate the \"pInode\" field too and\nconvert the igrab/iput to dget/dput.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nAcked-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6508d904e6fb66ce4c34617f72b38d6714c4b9f6",
      "tree": "a5d24f696c9a9045c3880671eeb5fbc6ca9f61ab",
      "parents": [
        "13cfb7334eb6fd0fc06da5589aea1e947791f1d6"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 29 19:51:11 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 06 16:12:59 2010 +0000"
      },
      "message": "cifs: have find_readable/writable_file filter by fsuid\n\nWhen we implement multiuser mounts, we\u0027ll need to filter filehandles\nby fsuid. Add a flag for multiuser mounts and code to filter by\nfsuid when it\u0027s set.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "13cfb7334eb6fd0fc06da5589aea1e947791f1d6",
      "tree": "56d884f6a5dbcf8b259247fdad55c9158bd4d865",
      "parents": [
        "7ffec372458d163492e56e663a1b3a2d7be0a0a2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 29 19:51:11 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 06 16:12:49 2010 +0000"
      },
      "message": "cifs: have cifsFileInfo hold a reference to a tlink rather than tcon pointer\n\ncifsFileInfo needs a pointer to a tcon, but it doesn\u0027t currently hold a\nreference to it. Change it to keep a pointer to a tcon_link instead and\nhold a reference to it.\n\nThat will keep the tcon from being freed until the file is closed.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7ffec372458d163492e56e663a1b3a2d7be0a0a2",
      "tree": "e404e3d1000ff41e9b27d0ecb4d6a47187e110d7",
      "parents": [
        "f3983c2133e9bea9c8b4f690737d15e3e9b02491"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Sep 29 19:51:11 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Oct 06 16:12:44 2010 +0000"
      },
      "message": "cifs: add refcounted and timestamped container for holding tcons\n\nEventually, we\u0027ll need to track the use of tcons on a per-sb basis, so that\nwe know when it\u0027s ok to tear them down. Begin this conversion by adding a\nnew \"tcon_link\" struct and accessors that get it. For now, the core data\nstructures are untouched -- cifs_sb still just points to a single tcon and\nthe pointers are just cast to deal with the accessor functions. A later\npatch will flesh this out.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f7a40689fd1e963cb1006349e050c07584895db5",
      "tree": "32c0275bde5c7c2a9cb36c672648bb19e392171f",
      "parents": [
        "0d424ad0a4b8c08e45928bccfa5b4b240097b01b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 20 16:01:36 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:33 2010 +0000"
      },
      "message": "cifs: have cifs_new_fileinfo take a tcon arg\n\nTo minimize calls to cifs_sb_tcon and to allow for a clear error path if\na tcon can\u0027t be acquired.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0d424ad0a4b8c08e45928bccfa5b4b240097b01b",
      "tree": "40f383b138d2e8121cda4b28f1f7c4b9642fe5ec",
      "parents": [
        "f6acb9d0596889a774e142ed76cb05b90d9763d2"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 20 16:01:35 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:33 2010 +0000"
      },
      "message": "cifs: add cifs_sb_master_tcon and convert some callers to use it\n\nAt mount time, we\u0027ll always need to create a tcon that will serve as a\ntemplate for others that are associated with the mount. This tcon is\nknown as the \"master\" tcon.\n\nIn some cases, we\u0027ll need to use that tcon regardless of who\u0027s accessing\nthe mount. Add an accessor function for the master tcon and go ahead and\nswitch the appropriate places to use it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a6e8a8455c94565c53e1a1756d2ab9d9e3a902b8",
      "tree": "544628293da6aa14a136c915d887d0abdc689a03",
      "parents": [
        "ba00ba64cf0895e4c2ac507e56306363dc125a90"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 20 16:01:33 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:32 2010 +0000"
      },
      "message": "cifs: add function to get a tcon from cifs_sb\n\nWhen we convert cifs to do multiple sessions per mount, we\u0027ll need more\nthan one tcon per superblock. At that point \"cifs_sb-\u003etcon\" will make\nno sense. Add a new accessor function that gets a tcon given a cifs_sb.\nFor now, it just returns cifs_sb-\u003etcon. Later it\u0027ll do more.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5fe97cfddc426f3145e8673b68faab7e54462173",
      "tree": "8ef6646ef8237c2757ecb8333a09899c946e4b86",
      "parents": [
        "736a33205969c16f81d747db14ff4c0f133609a6"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 20 16:01:30 2010 -0700"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:31 2010 +0000"
      },
      "message": "cifs: add tcon field to cifsFileInfo struct\n\nEventually, we\u0027ll have more than one tcon per superblock. At that point,\nwe\u0027ll need to know which one is associated with a particular fid. For\nnow, this is just set from the cifs_sb-\u003etcon pointer, but eventually\nthe caller of cifs_new_fileinfo will pass a tcon pointer in.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "aa91c7e4ab9b0842b7d7a7cbf8cca18b20df89b5",
      "tree": "94827b3006d85b8accf179ea3da30e1569983e68",
      "parents": [
        "a347ecb209b58a1b37f20d8299ab552f7d3ee8c3"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Fri Sep 17 18:56:39 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Sep 29 19:04:28 2010 +0000"
      },
      "message": "cifs: fix broken oplock handling\n\ncifs_new_fileinfo() does not use the \u0027oplock\u0027 value from the callers. Instead,\nit sets it to REQ_OPLOCK which seems wrong. We should be using the oplock value\nobtained from the Server to set the inode\u0027s clientCanCacheAll or\nclientCanCacheRead flags. Fix this by passing oplock from the callers to\ncifs_new_fileinfo().\n\nThis change dates back to commit a6ce4932 (2.6.30-rc3). So, all the affected\nversions will need this fix. Please Cc stable once reviewed and accepted.\n\nCc: Stable \u003cstable@kernel.org\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "232341ba7fa15115d40f6aa0f8dd14e96e3ad375",
      "tree": "1e9c2232b754d99616e5f7770d4c637438411455",
      "parents": [
        "5d9ac7fd32f600f9451ea58abdb07f7ed42e921d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Aug 05 13:58:38 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 16 20:34:48 2010 +0000"
      },
      "message": "cifs: consolidate error handling in several functions\n\ncifs has a lot of complicated functions that have to clean up things on\nerror, but some of them don\u0027t have all of the cleanup code\nwell-consolidated. Clean up and consolidate error handling in several\nfunctions.\n\nThis is in preparation of later patches that will need to put references\nto the tcon link container.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5d9ac7fd32f600f9451ea58abdb07f7ed42e921d",
      "tree": "bfc83c4bb3fcb50b32216056f10b80dc437e6446",
      "parents": [
        "da5cabf80e2433131bf0ed8993abc0f7ea618c73"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Aug 05 13:58:22 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 16 17:00:44 2010 +0000"
      },
      "message": "cifs: clean up error handling in cifs_mknod\n\nGet rid of some nesting and add a label we can goto on error.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3b7433b8a8a83c87972065b1852b7dcae691e464",
      "tree": "93fa2c003f8baef5ab0733b53bac77961ed5240c",
      "parents": [
        "4a386c3e177ca2fbc70c9283d0b46537844763a0",
        "6ee0578b4daaea01c96b172c6aacca43fd9807a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 12:42:58 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Aug 07 12:42:58 2010 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (55 commits)\n  workqueue: mark init_workqueues() as early_initcall()\n  workqueue: explain for_each_*cwq_cpu() iterators\n  fscache: fix build on !CONFIG_SYSCTL\n  slow-work: kill it\n  gfs2: use workqueue instead of slow-work\n  drm: use workqueue instead of slow-work\n  cifs: use workqueue instead of slow-work\n  fscache: drop references to slow-work\n  fscache: convert operation to use workqueue instead of slow-work\n  fscache: convert object to use workqueue instead of slow-work\n  workqueue: fix how cpu number is stored in work-\u003edata\n  workqueue: fix mayday_mask handling on UP\n  workqueue: fix build problem on !CONFIG_SMP\n  workqueue: fix locking in retry path of maybe_create_worker()\n  async: use workqueue for worker pool\n  workqueue: remove WQ_SINGLE_CPU and use WQ_UNBOUND instead\n  workqueue: implement unbound workqueue\n  workqueue: prepare for WQ_UNBOUND implementation\n  libata: take advantage of cmwq and remove concurrency limitations\n  workqueue: fix worker management invocation without pending works\n  ...\n\nFixed up conflicts in fs/cifs/* as per Tejun. Other trivial conflicts in\ninclude/linux/workqueue.h, kernel/trace/Kconfig and kernel/workqueue.c\n"
    },
    {
      "commit": "e4317ceca2bdf4bf91112a21e60f73b4c5a1a5da",
      "tree": "490fbc5ee5ef426652cdb4002652fdb610ab42cd",
      "parents": [
        "abd2e44dca2c5d65e047224c6ba4b4c8059f97f8"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue Jul 06 18:00:10 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Aug 02 12:40:32 2010 +0000"
      },
      "message": "cifs: remove an potentially confusing, obsolete comment\n\nThe recent commit 6ca9f3bae8b1854794dfa63cdd3b88b7dfe24c13 modified the code so\nthat filp is full instantiated whenever the file is created and passed back.\nThe below comment is no longer true, remove it.\n\nCc: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "9b646972467fb5fdc677f9e4251875db20bdbb64",
      "tree": "01d54cf7e0ee110bd8287c3360de0c3997e859ae",
      "parents": [
        "d098adfb7d281258173a43151483e52e21761021"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Jul 20 22:09:02 2010 +0200"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Jul 22 22:59:15 2010 +0200"
      },
      "message": "cifs: use workqueue instead of slow-work\n\nWorkqueue can now handle high concurrency.  Use system_nrt_wq\ninstead of slow-work.\n\n* Updated is_valid_oplock_break() to not call cifs_oplock_break_put()\n  as advised by Steve French.  It might cause deadlock.  Instead,\n  reference is increased after queueing succeeded and\n  cifs_oplock_break() briefly grabs GlobalSMBSeslock before putting\n  the cfile to make sure it doesn\u0027t put before the matching get is\n  finished.\n\n* Anton Blanchard reported that cifs conversion was using now gone\n  system_single_wq.  Use system_nrt_wq which provides non-reentrance\n  guarantee which is enough and much better.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Steve French \u003csfrench@samba.org\u003e\nCc: Anton Blanchard \u003canton@samba.org\u003e\n"
    },
    {
      "commit": "6ca9f3bae8b1854794dfa63cdd3b88b7dfe24c13",
      "tree": "b2f880172b2e23ca4f57bef5e2141c062351d6ec",
      "parents": [
        "2422f676fb78942d054f7e7a2c3ceaeb7945d814"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:16 2010 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:16 2010 -0400"
      },
      "message": "cifs: pass instantiated filp back after open call\n\nThe current scheme of sticking open files on a list and assuming that\ncifs_open will scoop them off of it is broken and leads to \"Busy\ninodes after umount...\" errors at unmount time.\n\nThe problem is that there is no guarantee that cifs_open will always\nbe called after a -\u003elookup or -\u003ecreate operation. If there are\npermissions or other problems, then it\u0027s quite likely that it *won\u0027t*\nbe called.\n\nFix this by fully instantiating the filp whenever the file is created\nand pass that filp back to the VFS. If there is a problem, the VFS\ncan clean up the references.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\n"
    },
    {
      "commit": "2422f676fb78942d054f7e7a2c3ceaeb7945d814",
      "tree": "cacba53545327624023baf450868749ccec5a65b",
      "parents": [
        "0933a95dfdb1ae5c93e1ede5899f35acc2bb244d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:16 2010 -0400"
      },
      "committer": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Jun 16 13:40:16 2010 -0400"
      },
      "message": "cifs: move cifs_new_fileinfo call out of cifs_posix_open\n\nHaving cifs_posix_open call cifs_new_fileinfo is problematic and\ninconsistent with how \"regular\" opens work. It\u0027s also buggy as\ncifs_reopen_file calls this function on a reconnect, which creates a new\nstruct cifsFileInfo that just gets leaked.\n\nPush it out into the callers. This also allows us to get rid of the\n\"mnt\" arg to cifs_posix_open.\n\nFinally, in the event that a cifsFileInfo isn\u0027t or can\u0027t be created, we\nalways want to close the filehandle out on the server as the client\nwon\u0027t have a record of the filehandle and can\u0027t actually use it. Make\nsure that CIFSSMBClose is called in those cases.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-and-Tested-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\n"
    },
    {
      "commit": "4065c802da7484fa36f8cdf10f18d087233ecb88",
      "tree": "a81d1dae07945ce0e6afb22e87c65fe9a0d44be1",
      "parents": [
        "84f30c66c3689745abbd3b9ce39816caeb9bec3b"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon May 17 07:18:58 2010 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 17 20:59:21 2010 +0000"
      },
      "message": "cifs: fix noserverino handling when unix extensions are enabled\n\nThe uniqueid field sent by the server when unix extensions are enabled\nis currently used sometimes when it shouldn\u0027t be. The readdir codepath\nis correct, but most others are not. Fix it.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fdb3603800e7a65bc3cafdfd5a1797d08f09e582",
      "tree": "86224ad3eaddc15da3306eea8887c15b2341ae3d",
      "parents": [
        "fae683f764f91f31ab45512e70cc8cc81d4d157b"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Tue May 11 09:46:46 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue May 11 15:42:21 2010 +0000"
      },
      "message": "cifs: propagate cifs_new_fileinfo() error back to the caller\n\n..otherwise memory allocation errors go undetected.\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fae683f764f91f31ab45512e70cc8cc81d4d157b",
      "tree": "bde4506a973f82996f807716b2adb9ec0d9c968a",
      "parents": [
        "51c8176472de1551a301b676e36a61884e0e8494"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Mon May 10 20:00:05 2010 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon May 10 17:59:51 2010 +0000"
      },
      "message": "cifs: add comments explaining cifs_new_fileinfo behavior\n\nThe comments make it clear the otherwise subtle behavior of cifs_new_fileinfo().\n\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\n--\n fs/cifs/dir.c |   18 ++++++++++++++++--\n 1 files changed, 16 insertions(+), 2 deletions(-)\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "fa588e0c57048b3d4bfcd772d80dc0615f83fd35",
      "tree": "a357298481dc4a8ab7f00998b065b9fee7e36d20",
      "parents": [
        "2c964d1f7c87eb71f7902111cd7c8fbba225e4b6"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 22 19:21:55 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 22 19:21:55 2010 +0000"
      },
      "message": "[CIFS] Allow null nd (as nfs server uses) on create\n\nWhile creating a file on a server which supports unix extensions\nsuch as Samba, if a file is being created which does not supply\nnameidata (i.e. nd is null), cifs client can oops when calling\ncifs_posix_open.\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b6b38f704a8193daba520493ebdaf7e819962fc8",
      "tree": "c38f4557b51b33573e36817888afa2accf3da9ca",
      "parents": [
        "315e995c63a15cb4d4efdbfd70fe2db191917f7a"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Apr 21 03:50:45 2010 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 21 03:50:45 2010 +0000"
      },
      "message": "[CIFS] Neaten cERROR and cFYI macros, reduce text space\n\nNeaten cERROR and cFYI macros, reduce text space\n~2.5K\n\nConvert \u0027__FILE__ \": \" fmt\u0027 to \u0027\"%s: \" fmt\u0027, __FILE__\u0027 to save text space\nSurround macros with do {} while\nAdd parentheses to macros\nMake statement expression macro from macro with assign\nRemove now unnecessary parentheses from cFYI and cERROR uses\n\ndefconfig with CIFS support old\n$ size fs/cifs/built-in.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 156012\t   1760\t    148\t 157920\t  268e0\tfs/cifs/built-in.o\n\ndefconfig with CIFS support old\n$ size fs/cifs/built-in.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 153508\t   1760\t    148\t 155416\t  25f18\tfs/cifs/built-in.o\n\nallyesconfig old:\n$ size fs/cifs/built-in.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 309138\t   3864\t  74824\t 387826\t  5eaf2\tfs/cifs/built-in.o\n\nallyesconfig new\n$ size fs/cifs/built-in.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n 305655\t   3864\t  74824\t 384343\t  5dd57\tfs/cifs/built-in.o\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "df2cf170c823ba779ca339e3ede347c87f4dc6a9",
      "tree": "9ea1ababe413a518afb3de89dadeba73db082850",
      "parents": [
        "64ba9926759792cf7b95f823402e2781edd1b5d4"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri Feb 12 07:44:16 2010 -0500"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Mar 06 04:37:05 2010 +0000"
      },
      "message": "cifs: overhaul cifs_revalidate and rename to cifs_revalidate_dentry\n\ncifs_revalidate is renamed to cifs_revalidate_dentry as a later patch\nwill add a by-filehandle variant.\n\nAdd a new \"invalid_mapping\" flag to the cifsInodeInfo that indicates\nthat the pagecache is considered invalid. Add a new routine to check\ninode attributes whenever they\u0027re updated and set that flag if the inode\nhas changed on the server.\n\ncifs_revalidate_dentry is then changed to just update the attrcache if\nneeded and then to zap the pagecache if it\u0027s not valid.\n\nThere are some other behavior changes in here as well. Open files are\nnow allowed to have their caches invalidated. I see no reason why we\u0027d\nwant to keep stale data around just because a file is open. Also,\ncifs_revalidate_cache uses the server_eof for revalidating the file\nsize since that should more closely match the size of the file on the\nserver.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6b2f3d1f769be5779b479c37800229d9a4809fc3",
      "tree": "046ef6736ec6c25ab1c68741ba715d13645af336",
      "parents": [
        "59bc055211b8d266ab6089158058bf8268e02006"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Tue Oct 27 11:05:28 2009 +0100"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Dec 10 15:02:50 2009 +0100"
      },
      "message": "vfs: Implement proper O_SYNC semantics\n\nWhile Linux provided an O_SYNC flag basically since day 1, it took until\nLinux 2.4.0-test12pre2 to actually get it implemented for filesystems,\nsince that day we had generic_osync_around with only minor changes and the\ngreat \"For now, when the user asks for O_SYNC, we\u0027ll actually give\nO_DSYNC\" comment.  This patch intends to actually give us real O_SYNC\nsemantics in addition to the O_DSYNC semantics.  After Jan\u0027s O_SYNC\npatches which are required before this patch it\u0027s actually surprisingly\nsimple, we just need to figure out when to set the datasync flag to\nvfs_fsync_range and when not.\n\nThis patch renames the existing O_SYNC flag to O_DSYNC while keeping it\u0027s\nnumerical value to keep binary compatibility, and adds a new real O_SYNC\nflag.  To guarantee backwards compatiblity it is defined as expanding to\nboth the O_DSYNC and the new additional binary flag (__O_SYNC) to make\nsure we are backwards-compatible when compiled against the new headers.\n\nThis also means that all places that don\u0027t care about the differences can\njust check O_DSYNC and get the right behaviour for O_SYNC, too - only\nplaces that actuall care need to check __O_SYNC in addition.  Drivers and\nnetwork filesystems have been updated in a fail safe way to always do the\nfull sync magic if O_DSYNC is set.  The few places setting O_SYNC for\nlower layers are kept that way for now to stay failsafe.\n\nWe enforce that O_DSYNC is set when __O_SYNC is set early in the open path\nto make sure we always get these sane options.\n\nNote that parisc really screwed up their headers as they already define a\nO_DSYNC that has always been a no-op.  We try to repair it by using it for\nthe new O_DSYNC and redefinining O_SYNC to send both the traditional\nO_SYNC numerical value _and_ the O_DSYNC one.\n\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nAcked-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\n"
    },
    {
      "commit": "2f81e752da4781fc276689fc14391346d0dbbe78",
      "tree": "02c40374f22919e49b87242b44556362053e85b2",
      "parents": [
        "cea62343956c24452700c06cf028b72414c58a74"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Nov 25 00:11:31 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Nov 25 00:11:31 2009 +0000"
      },
      "message": "[CIFS] Fix sparse warning\n\nAlso update CHANGES file\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cea62343956c24452700c06cf028b72414c58a74",
      "tree": "961d032aa0d020eaecf04c8be149d96efc17003f",
      "parents": [
        "8e6c0332d5032aef2d3bc8f41771f999112c8c66"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 24 22:49:37 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 24 22:52:13 2009 +0000"
      },
      "message": "[CIFS] Duplicate data on appending to some Samba servers\n\nSMB writes are sent with a starting offset and length. When the server\nsupports the newer SMB trans2 posix open (rather than using the SMB\nNTCreateX) a file can be opened with SMB_O_APPEND flag, and for that\ncase Samba server assumes that the offset sent in SMBWriteX is unneeded\nsince the write should go to the end of the file - which can cause\nproblems if the write was cached (since the beginning part of a\npage could be written twice by the client mm).  Jeff suggested that\nmasking the flag on posix open on the client is easiest for the time\nbeing. Note that recent Samba server also had an unrelated problem with\nSMB NTCreateX and append (see samba bugzilla bug number 6898) which\nshould not affect current Linux clients (unless cifs Unix Extensions\nare disabled).\n\nThe cifs client did not send the O_APPEND flag on posix open\nbefore 2.6.29 so the fix is unneeded on early kernels.\n\nIn the future, for the non-cached case (O_DIRECT, and forcedirectio mounts)\nit would be possible and useful to send O_APPEND on posix open (for Windows\ncase: FILE_APPEND_DATA but not FILE_WRITE_DATA on SMB NTCreateX) but for\ncached writes although the vfs sets the offset to end of file it\nmay fragment a write across pages - so we can\u0027t send O_APPEND on\nopen (could result in sending part of a page twice).\n\nCC: Stable \u003cstable@kernel.org\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@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": "8e6c0332d5032aef2d3bc8f41771f999112c8c66",
      "tree": "2b6282cd749f7a80f1ca34995f0e984a639cc144",
      "parents": [
        "ac50e950784cae1c26ad9e09ebd8f8c706131eb3"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 24 22:17:59 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Nov 24 22:17:59 2009 +0000"
      },
      "message": "[CIFS] fix oops in cifs_lookup during net boot\n\nFixes bugzilla.kernel.org bug number 14641\n\nLookup called during network boot (network root filesystem\nfor diskless workstation) has case where nd is null in\nlookup.  This patch fixes that in cifs_lookup.\n\n(Shirish noted that 2.6.30 and 2.6.31 stable need the same check)\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by:  Vladimir Stavrinov \u003cvs@inist.ru\u003e\nCC: Stable \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "086f68bd97126618ecb2dcff5f766f3a21722df7",
      "tree": "25f5785dc4ce4ffdc8c852b6c04e52324dd334b0",
      "parents": [
        "3bc303c254335dbd7c7012cc1760b12f1d5514d3"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 21 14:08:18 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Sep 24 19:35:18 2009 +0000"
      },
      "message": "cifs: eliminate cifs_init_private\n\n...it does the same thing as cifs_fill_fileinfo, but doesn\u0027t handle the\nflist ordering correctly. Also rename cifs_fill_fileinfo to a more\ndescriptive name and have it take an open flags arg instead of just a\nwrite_only flag. That makes the logic in the callers a little simpler.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "3bc303c254335dbd7c7012cc1760b12f1d5514d3",
      "tree": "7da17fbfd697216d9ed0ccd64ea9c03aaf3d52c1",
      "parents": [
        "48541bd3dd4739b4d574b44ea47660c88d833677"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Mon Sep 21 06:47:50 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Sep 24 18:33:18 2009 +0000"
      },
      "message": "cifs: convert oplock breaks to use slow_work facility (try #4)\n\nThis is the fourth respin of the patch to convert oplock breaks to\nuse the slow_work facility.\n\nA customer of ours was testing a backport of one of the earlier\npatchsets, and hit a \"Busy inodes after umount...\" problem. An oplock\nbreak job had raced with a umount, and the superblock got torn down and\nits memory reused. When the oplock break job tried to dereference the\ninode-\u003ei_sb, the kernel oopsed.\n\nThis patchset has the oplock break job hold an inode and vfsmount\nreference until the oplock break completes.  With this, there should be\nno need to take a tcon reference (the vfsmount implicitly holds one\nalready).\n\nCurrently, when an oplock break comes in there\u0027s a chance that the\noplock break job won\u0027t occur if the allocation of the oplock_q_entry\nfails. There are also some rather nasty races in the allocation and\nhandling these structs.\n\nRather than allocating oplock queue entries when an oplock break comes\nin, add a few extra fields to the cifsFileInfo struct. Get rid of the\ndedicated cifs_oplock_thread as well and queue the oplock break job to\nthe slow_work thread pool.\n\nThis approach also has the advantage that the oplock break jobs can\npotentially run in parallel rather than be serialized like they are\ntoday.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "48541bd3dd4739b4d574b44ea47660c88d833677",
      "tree": "5ee6d16b924b8c171e66088c5bb3b1d1720cd29f",
      "parents": [
        "058daf4f6795fd23fcca41fe53151cdcbbd263ec"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Sep 12 11:54:29 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 15 19:45:25 2009 +0000"
      },
      "message": "cifs: have cifsFileInfo hold an extra inode reference\n\nIt\u0027s possible that this struct will outlive the filp to which it is\nattached. If it does and it needs to do some work on the inode, then\nit\u0027ll need a reference.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "590a3fe0e18473a55b0ff48548ba87a2010d7730",
      "tree": "0e5fdfa70ee40a10a5b0df3b85cef3baa0d1b2c6",
      "parents": [
        "20d1752f3d6bd32beb90949559e0d14a0b234445"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Sep 12 11:54:28 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 15 19:45:03 2009 +0000"
      },
      "message": "cifs: fix oplock request handling in posix codepath\n\ncifs_posix_open takes a \"poplock\" argument that\u0027s intended to be used in\nthe actual posix open call to set the \"Flags\" field. It ignores this\nvalue however and declares an \"oplock\" parameter on the stack that it\npasses uninitialized to the CIFSPOSIXOpen function. Not only does this\nmean that the oplock request flags are bogus, but the result that\u0027s\nexpected to be in that variable is unchanged.\n\nFix this, and also clean up the type of the oplock parameter used. Since\nit\u0027s expected to be __u32, we should use that everywhere and not\nimplicitly cast it from a signed type.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "6ab409b53dcaf28f83d518a6702f904b7cee3f41",
      "tree": "050bfb690ac9df049343034681478a5bb174a823",
      "parents": [
        "1b49c5566136455764a8d17ead25784f534c202d"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Mon Aug 31 11:07:12 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Sep 01 22:35:01 2009 +0000"
      },
      "message": "cifs: Replace wrtPending with a real reference count\n\nCurrently, cifs_close() tries to wait until all I/O is complete and then\nfrees the file private data.  If I/O does not completely in a reasonable\namount of time it frees the structure anyway, leaving a potential use-\nafter-free situation.\n\nThis patch changes the wrtPending counter to a complete reference count and\nlets the last user free the structure.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nReviewed-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "01ea95e3b6b16573a491ef98ad63f7a1bdcb504f",
      "tree": "a060a54d4a3fc1b08534569e2afb8d7c8d5fff37",
      "parents": [
        "c4c1bff64dfff4e6dd0936a0340f56b9284512c8"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jul 09 20:02:49 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jul 09 21:15:02 2009 +0000"
      },
      "message": "cifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo\n\ncifs: rename CIFSSMBUnixSetInfo to CIFSSMBUnixSetPathInfo\n\n...in preparation of adding a SET_FILE_INFO variant.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "5ddf1e0ff00fd808c048d0b920784828276cc516",
      "tree": "3510f7e7274700478444ad277f7025519417c7ea",
      "parents": [
        "cc0bad7552308e8905d6ea56e6b7811fa67e716d"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sun Jul 05 11:01:02 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jul 08 21:55:45 2009 +0000"
      },
      "message": "cifs: fix regression with O_EXCL creates and optimize away lookup\n\ncifs: fix regression with O_EXCL creates and optimize away lookup\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Shirish Pargaonkar \u003cshirishp@gmail.com\u003e\nCC: Stable Kernel \u003cstable@kernel.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "cc0bad7552308e8905d6ea56e6b7811fa67e716d",
      "tree": "c02a91f13a502f444330b91b36ab12f55f352268",
      "parents": [
        "d960eea974f5e500c0dcb95a934239cc1f481cfd"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu Jun 25 00:56:52 2009 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Jul 01 21:26:42 2009 +0000"
      },
      "message": "cifs: add new cifs_iget function and convert unix codepath to use it\n\ncifs: add new cifs_iget function and convert unix codepath to use it\n\nIn order to unify some codepaths, introduce a common cifs_fattr struct\nfor storing inode attributes. The different codepaths (unix, legacy,\nnormal, etc...) can fill out this struct with inode info. It can then be\npassed as an arg to a common set of routines to get and update inodes.\n\nAdd a new cifs_iget function that uses iget5_locked to identify inodes.\nThis will compare inodes based on the uniqueid value in a cifs_fattr\nstruct.\n\nRather than filling out an already-created inode, have\ncifs_get_inode_info_unix instead fill out cifs_fattr and hand that off\nto cifs_iget. cifs_iget can then properly look for hardlinked inodes.\n\nOn the readdir side, add a new cifs_readdir_lookup function that spawns\npopulated dentries. Redefine FILE_UNIX_INFO so that it\u0027s basically a\nFILE_UNIX_BASIC_INFO that has a few fields wrapped around it. This\nallows us to more easily use the same function for filling out the fattr\nas the non-readdir codepath.\n\nWith this, we should then have proper hardlink detection and can\neventually get rid of some nasty CIFS-specific hacks for handing them.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "0f3bc09ee1b7fcadd5bfdc5ed2e1643f658fe23d",
      "tree": "fdbbdeeefcc1b480990cb6a687387c1e232a39e0",
      "parents": [
        "f46c7234e472ceee39afea4fb5a4365843e1850a"
      ],
      "author": {
        "name": "Suresh Jayaraman",
        "email": "sjayaraman@suse.de",
        "time": "Thu Jun 25 18:12:34 2009 +0530"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jun 25 19:12:57 2009 +0000"
      },
      "message": "cifs: Fix incorrect return code being printed in cFYI messages\n\nFreeXid() along with freeing Xid does add a cifsFYI debug message that\nprints rc (return code) as well. In some code paths where we set/return\nerror code after calling FreeXid(), incorrect error code is being\nprinted when cifsFYI is enabled.\n\nThis could be misleading in few cases. For eg.\nIn cifs_open() if cifs_fill_filedata() returns a valid pointer to\ncifsFileInfo, FreeXid() prints rc\u003d-13 whereas 0 is actually being\nreturned. Fix this by setting rc before calling FreeXid().\n\nBasically convert\n\nFreeXid(xid);\t\t\trc \u003d -ERR;\nreturn -ERR;\t\t\u003d\u003e\tFreeXid(xid);\n\t\t\t\treturn rc;\n\n[Note that Christoph would like to replace the GetXid/FreeXid\ncalls, which are primarily used for debugging.  This seems\nlike a good longer term goal, but although there is an\nalternative tracing facility, there are no examples yet\navailable that I know of that we can use (yet) to\nconvert this cifs function entry/exit logging, and for\ncreating an identifier that we can use to correlate\nall dmesg log entries for a particular vfs operation\n(ie identify all log entries for a particular vfs\nrequest to cifs: e.g. a particular close or read or write\nor byte range lock call ... and just using the thread id\nis harder).  Eventually when a replacement\nfor this is available (e.g. when NFS switches over and various\nsamples to look at in other file systems) we can remove the\nGetXid/FreeXid macro but in the meantime multiple people\nuse this run time configurable logging all the time\nfor debugging, and Suresh\u0027s patch fixes a problem\nwhich made it harder to notice some low\nmemory problems in the log so it is worthwhile\nto fix this problem until a better logging\napproach is able to be used]\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Suresh Jayaraman \u003csjayaraman@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8db14ca12569fe885694bd3d5ff84c2d973d3cb0",
      "tree": "c1648afbd9c6e93b6b48f230c5c7dbb3d0184a2b",
      "parents": [
        "a15ae93ff7c710191362978453f306943808298d"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat May 23 18:57:25 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat May 23 18:57:25 2009 +0000"
      },
      "message": "[CIFS] Avoid open on possible directories since Samba now rejects them\n\nSmall change (mostly formatting) to limit lookup based open calls to\nfile create only.\n\nAfter discussion yesteday on samba-technical about the posix lookup\nregression,  and looking at a problem with cifs posix open to one\nparticular Samba version, Jeff and JRA realized that Samba server\u0027s\nbehavior changed in this area (posix open behavior on files vs.\ndirectories).   To make this behavior consistent, JRA just made a\nfix to Samba server to alter how it handles open of directories (now\nreturning the equivalent of EISDIR instead of success). Since we don\u0027t\nknow at lookup time whether the inode is a directory or file (and\nthus whether posix open will succeed with most current Samba server),\nthis change avoids the posix open code on lookup open (just issues\nposix open on creates).    This gets the semantic benefits we want\n(atomicity, posix byte range locks, improved write semantics on newly\ncreated files) and file create still is fast, and we avoid the problem\nthat Jeff noticed yesterday with \"openat\" (and some open directory\ncalls) of non-cached directories to one version of Samba server, and\nwill work with future Samba versions (which include the fix jra just\npushed into Samba server).  I confirmed this approach with jra\nyesterday and with Shirish today.\n\nPosix open is only called (at lookup time) for file create now.\nFor opens (rather than creates), because we do not know if it\nis a file or directory yet, and current Samba no longer allows\nus to do posix open on dirs, we could end up wasting an open call\non what turns out to be a dir. For file opens, we wait to call posix\nopen till cifs_open.  It could be added here (lookup) in the future\nbut the performance tradeoff of the extra network request when EISDIR\nor EACCES is returned would have to be weighed against the 50%\nreduction in network traffic in the other paths.\n\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nCC: Jeremy Allison \u003cjra@samba.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "703a3b8e5c01cf6fb33c6d8dc99905f889a4e992",
      "tree": "56b6f7bd0379efc28fd488b15fe121a03d092f3d",
      "parents": [
        "5805977e63a36ad56594a623f3bd2bebcb7db233"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 21 22:21:53 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 21 22:38:08 2009 +0000"
      },
      "message": "[CIFS] fix posix open regression\n\nPosix open code was not properly adding the file to the\nlist of open files.  Fix  allocating cifsFileInfo\nmore than once, and adding twice to flist and tlist.\nAlso fix mode setting to be done in one place in these\npaths.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\nReviewed-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nTested-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nTested-by: Luca Tettamanti \u003ckronos.it@gmail.com\u003e\n"
    },
    {
      "commit": "90e4ee5d311d4e0729daa676b1d7f754265b5874",
      "tree": "d1731b21e054dab9edde4f6132e8999d9f269063",
      "parents": [
        "ac68392460ffefed13020967bae04edc4d3add06"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 08 03:04:30 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 08 03:04:30 2009 +0000"
      },
      "message": "[CIFS] Fix double list addition in cifs posix open code\n\nRemove adding open file entry twice to lists in the file\nDo not fill file info twice in case of posix opens and creates\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "88dd47fff4891545bfcfdf39146dde8380771766",
      "tree": "0a2b71229c1c4d94ae82a303294afcca5847891f",
      "parents": [
        "bc8cd4390c9129fbd286b10fa99972dfb68cd069"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 15 03:09:39 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:50 2009 +0000"
      },
      "message": "[CIFS] Fix build break caused by change to new current_umask helper function\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "bc8cd4390c9129fbd286b10fa99972dfb68cd069",
      "tree": "1092fce44f8b785eb7be1b59d9c6215aa56d44c1",
      "parents": [
        "a6ce4932fbdbcd8f8e8c6df76812014351c32892"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Apr 12 18:18:40 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:49 2009 +0000"
      },
      "message": "[CIFS] Fix sparse warnings\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nCC: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "a6ce4932fbdbcd8f8e8c6df76812014351c32892",
      "tree": "4ffe9ea3379cb3227924491c93960108cf762b96",
      "parents": [
        "d9fb5c091b419e0495c50c1cce9e4cf9f7105072"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Apr 09 01:14:32 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:49 2009 +0000"
      },
      "message": "[CIFS] Add support for posix open during lookup\n\nThis patch by utilizing lookup intents, and thus removing a network\nroundtrip in the open path, improves performance dramatically on\nopen (30% or more) to Samba and other servers which support the\ncifs posix extensions\n\nSigned-off-by: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "85a6dac54a7e28112488b02523202985edc7e639",
      "tree": "141a35196516dc428fe2891b7c7da02d0133ecad",
      "parents": [
        "74496d365ad171d11f21da4a8be71c945f6ec825"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Apr 01 05:22:00 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Apr 17 01:26:48 2009 +0000"
      },
      "message": "[CIFS] Endian convert UniqueId when reporting inode numbers from server files\n\nJeff made a good point that we should endian convert the UniqueId when we use\nit to set i_ino Even though this value is opaque to the client, when comparing\nthe inode numbers of the same server file from two different clients (one\nbig endian, one little endian) or when we compare a big endian client\u0027s view\nof i_ino with what the server thinks - we should get the same value\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48",
      "tree": "ab952affafe18e604f6aaf6b13315b9435588e60",
      "parents": [
        "f1191b50ec11c8e2ca766d6d99eb5bb9d2c084a3"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Mar 29 19:08:22 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Mar 31 23:00:26 2009 -0400"
      },
      "message": "New helper - current_umask()\n\ncurrent-\u003efs-\u003eumask is what most of fs_struct users are doing.\nPut that into a helper function.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3ae5080f4c2e293229508dabe7c8a90af4e4c460",
      "tree": "9cb11f26905a82b7fac9d3b8f9d61d58bc5c94b0",
      "parents": [
        "2c9e15a011c55ff96b2b8d2b126d1b9a96abba20",
        "aabb8fdb41128705fd1627f56fdd571e45fdbcdb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 27 16:23:12 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (37 commits)\n  fs: avoid I_NEW inodes\n  Merge code for single and multiple-instance mounts\n  Remove get_init_pts_sb()\n  Move common mknod_ptmx() calls into caller\n  Parse mount options just once and copy them to super block\n  Unroll essentials of do_remount_sb() into devpts\n  vfs: simple_set_mnt() should return void\n  fs: move bdev code out of buffer.c\n  constify dentry_operations: rest\n  constify dentry_operations: configfs\n  constify dentry_operations: sysfs\n  constify dentry_operations: JFS\n  constify dentry_operations: OCFS2\n  constify dentry_operations: GFS2\n  constify dentry_operations: FAT\n  constify dentry_operations: FUSE\n  constify dentry_operations: procfs\n  constify dentry_operations: ecryptfs\n  constify dentry_operations: CIFS\n  constify dentry_operations: AFS\n  ...\n"
    },
    {
      "commit": "4fd03e84d8f4e6304cef19698a24dee84039ef01",
      "tree": "c3174fbf23832afb5cf110c3362e30e6b6eedc0a",
      "parents": [
        "79be57cc7fd25563c73ab26b0c28ff6ad0d618fc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 20 05:57:07 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Mar 27 14:44:01 2009 -0400"
      },
      "message": "constify dentry_operations: CIFS\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7fc8f4e95bf9564045985bb206af8e28a5e4e28f",
      "tree": "e2a7229e18132fe86c66bb3e06436e537dd28535",
      "parents": [
        "be652445fdccb8e5d4391928c3b45324ea37f9e1"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Feb 23 20:43:11 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Mar 12 01:36:20 2009 +0000"
      },
      "message": "[CIFS] reopen file via newer posix open protocol operation if available\n\nIf the network connection crashes, and we have to reopen files, preferentially\nuse the newer cifs posix open protocol operation if the server supports it.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c3b2a0c640bff7df85d79fb4f89674949a267ec2",
      "tree": "ed36e11454123d276929b1c470a27409ccf957bb",
      "parents": [
        "69765529d701c838df19ea1f5ad2f33a528261ae"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Feb 20 04:32:45 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Feb 21 03:37:09 2009 +0000"
      },
      "message": "[CIFS] improve posix semantics of file create\n\nSamba server added support for a new posix open/create/mkdir operation\na year or so ago, and we added support to cifs for mkdir to use it,\nbut had not added the corresponding code to file create.\n\nThe following patch helps improve the performance of the cifs create\npath (to Samba and servers which support the cifs posix protocol\nextensions).  Using Connectathon basic test1, with 2000 files, the\nperformance improved about 15%, and also helped reduce network traffic\n(17% fewer SMBs sent over the wire) due to saving a network round trip\nfor the SetPathInfo on every file create.\n\nIt should also help the semantics (and probably the performance) of\nwrite (e.g. when posix byte range locks are on the file) on file\nhandles opened with posix create, and adds support for a few flags\nwhich would have to be ignored otherwise.\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "f818dd55c4a8b3519e203900bde0bb780d36e799",
      "tree": "0c4a6845f534377478cd6046b4ebb0275eda0f5f",
      "parents": [
        "42c245447c8c3f998dfe880aba18b6e5129d2976"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Mon Jan 19 02:38:35 2009 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Jan 29 03:32:13 2009 +0000"
      },
      "message": "[CIFS] some cleanup to dir.c prior to addition of posix_open\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\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": "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": "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": "95089910933e10768cfef1ab0bab0c55b962aacb",
      "tree": "c80dd73d46196aff3e6c12a12bfb6b6f20aac08c",
      "parents": [
        "2dd2dfa060650118661422d4e666ac804c388751"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Wed Aug 06 04:39:02 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 06 04:39:02 2008 +0000"
      },
      "message": "[CIFS] cifs_mkdir and cifs_create should respect the setgid bit on parent dir\n\nIf a server supports unix extensions but does not support POSIX create\nroutines, then the client will create a new inode with a standard SMB\nmkdir or create/open call and then will set the mode. When it does this,\nit does not take the setgid bit on the parent directory into account.\n\nThis patch has CIFS flip on the setgid bit when the parent directory has\nit. If the share is mounted with \"setuids\" then also change the group\nowner to the gid of the parent.\n\nThis patch should apply cleanly on top of the setattr cleanup patches\nthat I sent a few weeks ago.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4e1e7fb9e879d48011a887715d7966484d9644ea",
      "tree": "fd00305c34e71a6454144c8c65390245c698fdbc",
      "parents": [
        "9e96af8525264973d8d1f800b0ddce0289fc0bdd"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Sat Aug 02 07:26:12 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Wed Aug 06 04:17:20 2008 +0000"
      },
      "message": "bundle up Unix SET_PATH_INFO args into a struct and change name\n\nWe\u0027d like to be able to use the unix SET_PATH_INFO_BASIC args to set\nfile times as well, but that makes the argument list rather long. Bundle\nup the args for unix SET_PATH_INFO call into a struct. For now, we don\u0027t\nactually use the times fields anywhere. That will be done in a follow-on\npatch.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "b0fd30d3e7e768aad5e398caaea6ae5a5c814eab",
      "tree": "2841fce1397664445adad84225486d40f8c8ba97",
      "parents": [
        "4468eb3fd102cad559e51594a01cbc65b994d264"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Thu May 22 09:33:34 2008 -0400"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri May 23 18:17:16 2008 +0000"
      },
      "message": "when creating new inodes, use file_mode/dir_mode exclusively on mount without unix extensions\n\nWhen CIFS creates a new inode on a mount without unix extensions, it\ntemporarily assigns the mode that was passed to it in the create/mkdir\ncall. Eventually, when the inode is revalidated, it changes to have the\nfile_mode or dir_mode for the mount. This is confusing to users who\nexpect that the mode shouldn\u0027t change this way. It\u0027s also problematic\nsince only the mode is treated this way, not the uid or gid. Suppose you\nhave a CIFS mount that\u0027s mounted with:\n\nuid\u003d0,gid\u003d0,file_mode\u003d0666,dir_mode\u003d0777\n\n...if an unprivileged user comes along and does this on the mount:\n\nmkdir -m 0700 foo\ntouch foo/bar\n\n...there is a period of time where the touch will fail, since the dir\nwill initially be owned by root and have mode 0700. If the user waits\nlong enough, then \"foo\" will be revalidated and will get the correct\ndir_mode permissions.\n\nThis patch changes cifs_mkdir and cifs_create to not overwrite the\nmode found by the initial cifs_get_inode_info call after the inode is\ncreated on the server. Legacy behavior can be reenabled with the\nnew \"dynperm\" mount option.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "c32916374b2b4f4d2b7ccdb357fe7989f3b407a6",
      "tree": "2bc4793f8ce958dcc113dfb370d1727d45cfdb6d",
      "parents": [
        "646dd539878a194bc14b104621c0b2b33587e40f"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 15 05:41:54 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 15 05:41:54 2008 +0000"
      },
      "message": "[CIFS] suppress duplicate warning\n\nfs/cifs/dir.c: In function \u0027cifs_ci_compare\u0027:\nfs/cifs/dir.c:582: warning: passing argument 1 of \u0027memcpy\u0027 discards\nqualifiers from pointer target type\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "646dd539878a194bc14b104621c0b2b33587e40f",
      "tree": "ba3e9a8a9565e66ea53905b209438fae6d413853",
      "parents": [
        "35fc37d5175091c36d034a28c057da0f9594ee7e"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 15 01:50:56 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu May 15 01:50:56 2008 +0000"
      },
      "message": "[CIFS] Fix paths when share is in DFS to include proper prefix\n\nSome versions of Samba (3.2-pre e.g.) are stricter about checking to make sure that\npaths in DFS name spaces are sent in the form \\\\server\\share\\dir\\subdir ...\ninstead of \\dir\\subdir\n\nAcked-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "67750fb9e07940c078d1edb16fd736ccc92a4a4e",
      "tree": "e0f2f224e6b06f02fc7961f7e0e64263a826e8fa",
      "parents": [
        "02eadeffda169a45946c79270ec19f45eeafb8e7"
      ],
      "author": {
        "name": "Jeff Layton",
        "email": "jlayton@redhat.com",
        "time": "Fri May 09 22:28:02 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun May 11 17:45:43 2008 +0000"
      },
      "message": "[CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir\n\nWhen creating a directory on a CIFS share without POSIX extensions,\nand the given mode has no write bits set, set the ATTR_READONLY bit.\n\nWhen creating a file, set ATTR_READONLY if the create mode has no write\nbits set and we\u0027re not using unix extensions.\n\nThere are some comments about this being problematic due to the VFS\nsplitting creates into 2 parts. I\u0027m not sure what that\u0027s actually\ntalking about, but I\u0027m assuming that it has something to do with how\nmknod is implemented. In the simple case where we have no unix\nextensions and we\u0027re just creating a regular file, there\u0027s no reason\nwe can\u0027t set ATTR_READONLY.\n\nSigned-off-by: Jeff Layton \u003cjlayton@redhat.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "4b18f2a9c3964f7612b7403dddc1d1ba5443ae24",
      "tree": "6deaca1844706e70e235be6fe502269e4f15355f",
      "parents": [
        "e9f20d6f03e8df393b001dab6dc5226c2a5daf57"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 29 00:06:05 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Apr 29 00:06:05 2008 +0000"
      },
      "message": "[CIFS] convert usage of implicit booleans to bool\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "8b1327f6ed957030a64ccdb17131955bfea2d3fe",
      "tree": "075ff00b4c333ef333aff5927eac45bde16d8d53",
      "parents": [
        "ebe8912be214662c8289977fb416c1f015df4a0b"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Mar 14 22:37:16 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Mar 14 22:37:16 2008 +0000"
      },
      "message": "[CIFS] file create with acl support enabled is slow\n\nShirish Pargaonkar noted:\nWith cifsacl mount option, when a file is created on the Windows server,\nexclusive oplock is broken right away because the get cifs acl code\nagain opens the file to obtain security descriptor.\nThe client does not have the newly created file handle or inode in any\nof its lists yet so it does not respond to oplock break and server waits for\nits duration and then responds to the second open. This slows down file\ncreation signficantly.  The fix is to pass the file descriptor to the get\ncifsacl code wherever available so that get cifs acl code does not send\nsecond open (NT Create ANDX) and oplock is not broken.\n\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ad7a2926b9e53cfb3020d15bdfacacc54e2b63da",
      "tree": "f4cf20d2bc3a13841ed81a8de25bd870a3b622e6",
      "parents": [
        "f315ccb3e679f271583f2a4f463ad9b65665b751"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Feb 07 23:25:02 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Thu Feb 07 23:25:02 2008 +0000"
      },
      "message": "[CIFS] reduce checkpatch warnings\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "ed2b91701d97047fa9970645e43d5e551e261adb",
      "tree": "968ebd96c6cefbb56f5dad7e3b5b8ebd38ee5c2b",
      "parents": [
        "e6ab15827eec0bc4444421f7ccf0223de321c708"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jan 20 00:30:29 2008 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sun Jan 20 00:30:29 2008 +0000"
      },
      "message": "[CIFS] Do not log path names in lookup errors\n\nAndi Kleen noticed that we were logging access denied errors (which is\nnoisy in the dmesg log, and not needed to be logged) and that we were\nlogging path names on that an other errors (e.g. EIO) which we should\nnot be doing.\n\nCC: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "44093ca2fef3c52dc7d186116862d74f9a676e0f",
      "tree": "18e03ae747d936b9d9de34abfea38aecb020956c",
      "parents": [
        "c94897790e7c67dcfe3a0b6f035996398c268313"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 23 21:22:55 2007 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Tue Oct 23 21:22:55 2007 +0000"
      },
      "message": "[CIFS] acl support part 6\n\nCC: Shirish Pargaonkar \u003cshirishp@us.ibm.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "92ad9b93cd268371d1fc0edbd09383cc1c59be34",
      "tree": "d9e34ab52bd2a6c17c6b93f827814b1fba14e52d",
      "parents": [
        "7f8ed420f80c91176dfd27c8089f22cab5c9ba78"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Sep 29 05:21:58 2007 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Sat Sep 29 05:21:58 2007 +0000"
      },
      "message": "[CIFS] named pipe support (part 2)\n\nAlso fixes typo which could cause build break\n\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    },
    {
      "commit": "7f8ed420f80c91176dfd27c8089f22cab5c9ba78",
      "tree": "bd3cea6554c3e59230c83fa7e9912740e178b00c",
      "parents": [
        "407f61a2b482ab9a6d03549ab9513e4a823ae4a2"
      ],
      "author": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Sep 28 22:28:55 2007 +0000"
      },
      "committer": {
        "name": "Steve French",
        "email": "sfrench@us.ibm.com",
        "time": "Fri Sep 28 22:28:55 2007 +0000"
      },
      "message": "[CIFS] CIFS support for named pipes (part 1)\n\nThis allows cifs to mount to ipc shares (IPC$)\nwhich will allow user space applications to\nlayer over authenticated cifs connections\n(useful for Wine and others that would want\nto put DCE/RPC over CIFS or run CIFS named\npipes)\n\nAcked-by: Rob Shearman \u003crob@codeweavers.com\u003e\nSigned-off-by: Steve French \u003csfrench@us.ibm.com\u003e\n"
    }
  ],
  "next": "77159b4df894f9e5e31f709fb0e5e52f6c1b1048"
}
