All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.