<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/cifs/readdir.c, branch linux-3.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-08-25T21:44:28Z</updated>
<entry>
<title>CIFS: Fix wrong restart readdir for SMB1</title>
<updated>2014-08-25T21:44:28Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2014-08-26T15:04:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f736906a7669a77cf8cabdcbcf1dc8cb694e12ef'/>
<id>urn:sha1:f736906a7669a77cf8cabdcbcf1dc8cb694e12ef</id>
<content type='text'>
The existing code calls server-&gt;ops-&gt;close() that is not
right. This causes XFS test generic/310 to fail. Fix this
by using server-&gt;ops-&gt;closedir() function.

Cc: &lt;stable@vger.kernel.org&gt; # v3.7+
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Pavel Shilovsky &lt;pshilovsky@samba.org&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>CIFS: Fix SMB2 readdir error handling</title>
<updated>2014-08-17T10:08:39Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2014-08-18T16:49:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52755808d4525f4d5b86d112d36ffc7a46f3fb48'/>
<id>urn:sha1:52755808d4525f4d5b86d112d36ffc7a46f3fb48</id>
<content type='text'>
SMB2 servers indicates the end of a directory search with
STATUS_NO_MORE_FILE error code that is not processed now.
This causes generic/257 xfstest to fail. Fix this by triggering
the end of search by this error code in SMB2_query_directory.

Also when negotiating CIFS protocol we tell the server to close
the search automatically at the end and there is no need to do
it itself. In the case of SMB2 protocol, we need to close it
explicitly - separate close directory checks for different
protocols.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Pavel Shilovsky &lt;pshilovsky@samba.org&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>cifs: Rename MF symlink function names</title>
<updated>2014-01-20T06:13:54Z</updated>
<author>
<name>Sachin Prabhu</name>
</author>
<published>2013-11-25T17:09:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb084b1a9be34729bea23428c1a42f7d2f5defbc'/>
<id>urn:sha1:cb084b1a9be34729bea23428c1a42f7d2f5defbc</id>
<content type='text'>
Clean up camel case in functionnames.

Signed-off-by: Sachin Prabhu &lt;sprabhu@redhat.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>CIFS: Fix symbolic links usage</title>
<updated>2013-11-11T22:31:03Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2013-10-23T13:49:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eb85d94bdd91fb4dbea4ee465d4349cbea4eaaca'/>
<id>urn:sha1:eb85d94bdd91fb4dbea4ee465d4349cbea4eaaca</id>
<content type='text'>
Now we treat any reparse point as a symbolic link and map it to a Unix
one that is not true in a common case due to many reparse point types
supported by SMB servers.

Distinguish reparse point types into two groups:
1) that can be accessed directly through a reparse point
(junctions, deduplicated files, NFS symlinks);
2) that need to be processed manually (Windows symbolic links, DFS);

and map only Windows symbolic links to Unix ones.

Cc: &lt;stable@vger.kernel.org&gt;
Acked-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reported-and-tested-by: Joao Correia &lt;joaomiguelcorreia@gmail.com&gt;
Signed-off-by: Pavel Shilovsky &lt;piastry@etersoft.ru&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>[CIFS] Provide sane values for nlink</title>
<updated>2013-09-21T15:36:10Z</updated>
<author>
<name>Jim McDonough</name>
</author>
<published>2013-09-21T15:36:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74d290da476f672ad756634d12aa707375d3564d'/>
<id>urn:sha1:74d290da476f672ad756634d12aa707375d3564d</id>
<content type='text'>
Since we don't get info about the number of links from the readdir
linfo levels, stat() will return 0 for st_nlink, and in particular,
samba re-exported shares will show directories as files (as samba is
keying off st_nlink before evaluating how to set the dos modebits)
when doing a dir or ls.

Copy nlink to the inode, unless it wasn't provided.  Provide
sane values if we don't have an existing one and none was provided.

Signed-off-by: Jim McDonough &lt;jmcd@samba.org&gt;
Reviewed-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: David Disseldorp &lt;ddiss@samba.org&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>CIFS: Implement follow_link for SMB2</title>
<updated>2013-09-08T19:27:34Z</updated>
<author>
<name>Pavel Shilovsky</name>
</author>
<published>2013-08-14T15:25:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b42bf88828cde60772dc08201d0a4f1a0663d7bc'/>
<id>urn:sha1:b42bf88828cde60772dc08201d0a4f1a0663d7bc</id>
<content type='text'>
that allows to access files through symlink created on a server.

Acked-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Pavel Shilovsky &lt;pshilovsky@samba.org&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>cifs: don't instantiate new dentries in readdir for inodes that need to be revalidated immediately</title>
<updated>2013-08-07T15:57:06Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2013-08-07T14:29:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=757c4f6260febff982276818bb946df89c1105aa'/>
<id>urn:sha1:757c4f6260febff982276818bb946df89c1105aa</id>
<content type='text'>
David reported that commit c2b93e06 (cifs: only set ops for inodes in
I_NEW state) caused a regression with mfsymlinks. Prior to that patch,
if a mfsymlink dentry was instantiated at readdir time, the inode would
get a new set of ops when it was revalidated. After that patch, this
did not occur.

This patch addresses this by simply skipping instantiating dentries in
the readdir codepath when we know that they will need to be immediately
revalidated. The next attempt to use that dentry will cause a new lookup
to occur (which is basically what we want to happen anyway).

Cc: &lt;stable@vger.kernel.org&gt;
Cc: "Stefan (metze) Metzmacher" &lt;metze@samba.org&gt;
Cc: Sachin Prabhu &lt;sprabhu@redhat.com&gt;
Reported-and-Tested-by: David McBride &lt;dwm37@cam.ac.uk&gt;
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6</title>
<updated>2013-07-03T21:06:30Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2013-07-03T21:06:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d4141531f63a29bb2a980092b6f2828c385e6edd'/>
<id>urn:sha1:d4141531f63a29bb2a980092b6f2828c385e6edd</id>
<content type='text'>
Pull cifs updates from Steve French:
 "Various CIFS/SMB2/SMB3 updates for 3.11.  Includes bug fixes - SMB3
  support should be much more stable with key DFS fix and also signing
  possible now (although is more work to do to get SMB3 signing working
  well with multiuser).

  Mounts using the new SMB 3.02 dialect can now be done (specify
  "vers=3.02" on mount) against the most current Microsoft systems.

  Also includes a big cleanup of the cifs/smb2/smb3 authentication code
  from Jeff which fixes some long standing problems with the way allowed
  authentication flavors and signing are configured.

  Some followon patches later in the cycle will clean up allocation of
  structures for the various security mechanisms depending on what
  dialect is chosen (reduces memory usage a little) and to add support
  for the secure negotiate fsctl (for smb3) which prevents downgrade
  attacks."

* 'for-next' of git://git.samba.org/sfrench/cifs-2.6: (39 commits)
  cifs: fill TRANS2_QUERY_FILE_INFO ByteCount fields
  cifs: fix SMB2 signing enablement in cifs_enable_signing
  [CIFS] Fix build warning
  [CIFS] SMB3 Signing enablement
  [CIFS] Do not set DFS flag on SMB2 open
  [CIFS] fix static checker warning
  cifs: try to handle the MUST SecurityFlags sanely
  When server doesn't provide SecurityBuffer on SMB2Negotiate pick default
  Handle big endianness in NTLM (ntlmv2) authentication
  revalidate directories instiantiated via FIND_* in order to handle DFS referrals
  SMB2 FSCTL and IOCTL worker function
  Charge at least one credit, if server says that it supports multicredit
  Remove typo
  Some missing share flags
  cifs: using strlcpy instead of strncpy
  Update headers to update various SMB3 ioctl definitions
  Update cifs version number
  Add ability to dipslay SMB3 share flags and capabilities for debugging
  Add some missing SMB3 and SMB3.02 flags
  Add SMB3.02 dialect support
  ...
</content>
</entry>
<entry>
<title>[readdir] convert cifs</title>
<updated>2013-06-29T08:56:54Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2013-05-22T20:17:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=be4ccdcc2575ae154426083765b8b8eb9253c925'/>
<id>urn:sha1:be4ccdcc2575ae154426083765b8b8eb9253c925</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>revalidate directories instiantiated via FIND_* in order to handle DFS referrals</title>
<updated>2013-06-26T22:31:41Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2013-06-25T06:32:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2a2c41c07c710f2c1afe3748bdde40db9ea9d9e6'/>
<id>urn:sha1:2a2c41c07c710f2c1afe3748bdde40db9ea9d9e6</id>
<content type='text'>
We've had a long-standing problem with DFS referral points. CIFS servers
generally try to make them look like directories in FIND_FIRST/NEXT
responses. When you go to try to do a FIND_FIRST on them though, the
server will then (correctly) return STATUS_PATH_NOT_COVERED. Mostly this
manifests as spurious EREMOTE errors back to userland.

This patch attempts to fix this by marking directories that are
discovered via FIND_FIRST/NEXT for revaldiation. When the lookup code
runs across them again, we'll reissue a QPathInfo against them and that
will make it chase the referral properly.

There is some performance penalty involved here and no I haven't
measured it -- it'll be highly dependent upon the workload and contents
of the mounted share. To try and mitigate that though, the code only
marks the inode for revalidation when it's possible to run across a DFS
referral. i.e.: when the kernel has DFS support built in and the share
is "in DFS"

[At the Microsoft plugfest we noted that usually the DFS links had
the REPARSE attribute tag enabled - DFS junctions are reparse points
after all - so I just added a check for that flag too so the
performance impact should be smaller - Steve]

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Sachin Prabhu &lt;sprabhu@redhat.com&gt;
Signed-off-by: Steve French &lt;smfrench@gmail.com&gt;
</content>
</entry>
</feed>
