linux-cifs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sachin Prabhu <sprabhu-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: "Aurélien Aptel" <aaptel-IBi9RG/b67k@public.gmane.org>,
	linux-cifs <linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH] cifs_get_root shouldn't use path with tree name
Date: Fri, 04 Nov 2016 17:45:42 +0000	[thread overview]
Message-ID: <1478281542.6963.10.camel@redhat.com> (raw)
In-Reply-To: <mpsk2df2yu9.fsf-IBi9RG/b67k@public.gmane.org>

On Tue, 2016-10-11 at 08:18 +0200, Aurélien Aptel wrote:
> Sachin Prabhu <sprabhu-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes:
> > 
> > I think Steve had requested for a reproducer for this issue. The
> > only
> > place I've encountered this was with Netapp servers. Do you have a
> > reproder which works with Samba or Windows servers?
> 
> The reproducer was for Samba but the root cause was something
> different
> (later fixed by your last DFS fix). The thing I used to reproduce it
> doesn't reproduce it anymore.
> 
> I have found that the tree name prefix is needed, at least when
> mounting. I guess Steve already knew this but it wasn't obvious for
> me
> so I'm sharing it.
> 
> When mounting //server/dfsroot/target with 'target' linking to
> //server/dfstarget
> 
> With tree name prefixed:
> 
> => Trans2 Request, QUERY_PATH_INFO, Query File All Info, Path:
> //10.160.64.222/dfsroot/target
> <= Trans2 Response, QUERY_PATH_INFO, Error: STATUS_PATH_NOT_COVERED
> 
> Without tree name prefixed:
> 
> => Trans2 Request, QUERY_PATH_INFO, Query File All Info, Path:
> /target
> <= Trans2 Response, QUERY_PATH_INFO, Error:
> STATUS_OBJECT_NAME_NOT_FOUND
> 
> PATH_NOT_COVERED is mapped to EREMOTE whereas OBJECT_NAME_NOT_FOUND
> is
> mapped to ENOENT.
> 
> So *not* prefixing with the tree name actually breaks mounting a path
> containing a DFS link in its components. Which is the *opposite* of
> what
> I initially thought. I did not analyze the problem and traces enough,
> I'm sorry.
> 
> So if we merge this patch, we have to be careful about when to not
> prefix the tree name.
> 

Hello Aurelien,

The patch maintains current behaviour except for the call to
cifs_build_path_to_root in cifs_get_root() where the logic expects the
full path to the file/directory without the hostname as it iterates
over each component of the path. This fixes a behaviour seen with
Netapp where the tcon connect returns a SMB_SHARE_IS_IN_DFS even though
there doesn't isn't a DFS share in the path.

Sachin Prabhu

  parent reply	other threads:[~2016-11-04 17:45 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-07 14:53 [PATCH] cifs_get_root shouldn't use path with tree name Sachin Prabhu
     [not found] ` <1473260003-5271-1-git-send-email-sprabhu-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-09-08 10:49   ` Aurélien Aptel
     [not found]     ` <mpsmvjir7hx.fsf-IBi9RG/b67k@public.gmane.org>
2016-09-12 16:40       ` Sachin Prabhu
     [not found]         ` <1473698409.29354.3.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-06 12:15           ` Aurélien Aptel
     [not found]             ` <mpswphl3c7r.fsf-IBi9RG/b67k@public.gmane.org>
2016-10-06 12:20               ` Sachin Prabhu
     [not found]                 ` <1475756441.2493.4.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-10-11  6:18                   ` Aurélien Aptel
     [not found]                     ` <mpsk2df2yu9.fsf-IBi9RG/b67k@public.gmane.org>
2016-11-04 17:45                       ` Sachin Prabhu [this message]
2016-12-13 12:33   ` Jeff Layton
     [not found]     ` <1481632417.2630.13.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-13 13:06       ` Jeff Layton
     [not found]         ` <1481634390.2630.16.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2016-12-14  9:55           ` Aurélien Aptel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1478281542.6963.10.camel@redhat.com \
    --to=sprabhu-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=aaptel-IBi9RG/b67k@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).