linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeremy Allison <jra@samba.org>
To: Jeremy Allison <jra@samba.org>
Cc: linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Steve French <smfrench@gmail.com>,
	linux-cifs-client@lists.samba.org,
	Igor Mammedov <niallain@gmail.com>
Subject: Re: dfs path construction fixup for / character in \\server\share component of dfs path
Date: Wed, 23 Apr 2008 12:19:06 -0700	[thread overview]
Message-ID: <20080423191906.GH10791@samba1> (raw)
In-Reply-To: <20080423191150.GG10791@samba1>

On Wed, Apr 23, 2008 at 12:11:50PM -0700, Jeremy Allison wrote:
> On Wed, Apr 23, 2008 at 06:28:39PM +0400, Igor Mammedov wrote:
> > Steve French wrote:
> > > Attached is dfs path construction fixup for / character in
> > > \\server\share component of dfs path.  Let me know if you see any
> > > problem - but it gets Samba past the problem with not returning
> > > STATUS_PATH_NOT_COVERED
> > > 
> > > similar change will have to be made to build_full_dfs_path_from_dentry
> > > in cifs_dfs_ref.c
> > > 
> > > This makes it easier for me to test the remainder of the changes
> > > needed to the SMB GetDFSReferral function(s).  Has anyone checked on
> > > the answer to Al's question on submount expiry from a few days ago?
> > 
> > 
> > I've just tested it and the patch fixed a problem with the lack of 
> > STATUS_PATH_NOT_COVERED with unix-ext enabled on samba server.
> > 1. samba with unix-ext enabled returns (5th packet) dfs link as a symbolic link,
> > but for dfs code it should be the directory type so we could fix it in the time 
> > of creating inode and get the server generated inode number.
> > 
> > No.     Time        Source                Destination           Protocol Info
> >       1 0.000000    192.168.133.129       192.168.133.1         SMB      Trans2 Request, QUERY_PATH_INFO, Query File Unix Basic, Path: //192.168.133.1/dfs/dfs2
> >       2 0.000385    192.168.133.1         192.168.133.129       SMB      Trans2 Response, QUERY_PATH_INFO, Error: STATUS_PATH_NOT_COVERED
> >       3 0.000670    192.168.133.129       192.168.133.1         TCP      46662 > microsoft-ds [ACK] Seq=127 Ack=40 Win=1728 Len=0 TSV=509648098 TSER=3625842022
> > 
> >       4 0.006911    192.168.133.129       192.168.133.1         SMB      Trans2 Request, QUERY_PATH_INFO, Query File Unix Basic, Path: /dfs2
> >       5 0.007110    192.168.133.1         192.168.133.129       SMB      Trans2 Response, QUERY_PATH_INFO
> > 
> >                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - here our chance to get it working
> > 
> >       6 0.016002    192.168.133.129       192.168.133.1         SMB      Trans2 Request, QUERY_PATH_INFO, Query File Unix Link, Path: /dfs2
> >       7 0.016219    192.168.133.1         192.168.133.129       SMB      Trans2 Response, QUERY_PATH_INFO
> >       8 0.049621    192.168.133.129       192.168.133.1         SMB      Trans2 Request, QUERY_PATH_INFO, Query File Unix Basic, Path: //192.168.133.1/dfs/msdfs:\172.16.61.1\dfs2
> >       9 0.050706    192.168.133.1         192.168.133.129       SMB      Trans2 Response, QUERY_PATH_INFO, Error: STATUS_OBJECT_NAME_NOT_FOUND
> > 
> > Patches that make dfs working in this case are attached.
> 
> Thanks. I'm going to fix Samba 3.2 (not sure if this will make
> final release) to return directory not symlink on QPATHINFO

Hmmmmm. Looking carefully that's the wrong thing to do.

I think the client is doing the wrong thing here when it
gets the STATUS_PATH_NOT_COVERED error. Shouldn't it then
call TRANS2_GET_DFS_REFERRAL instead of doing a QPATHINFO ?

Jeremy.

  reply	other threads:[~2008-04-23 19:19 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-18 23:03 dfs path construction fixup for / character in \\server\share component of dfs path Steve French
2008-04-23 14:28 ` Igor Mammedov
2008-04-23 19:11   ` Jeremy Allison
2008-04-23 19:19     ` Jeremy Allison [this message]
2008-04-24  8:04       ` Igor Mammedov
2008-04-25 19:22         ` Jeremy Allison
2008-04-25 19:50           ` Jeremy Allison
2008-04-25 21:16         ` Jeremy Allison
2008-04-27 13:00           ` Igor Mammedov
2008-04-28 18:05             ` Jeremy Allison
2008-04-28 18:51             ` Jeremy Allison
2008-05-21 13:57               ` Igor Mammedov
2008-05-24  0:46                 ` Jeremy Allison
2008-05-24  1:33                   ` Steve French

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=20080423191906.GH10791@samba1 \
    --to=jra@samba.org \
    --cc=linux-cifs-client@lists.samba.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=niallain@gmail.com \
    --cc=smfrench@gmail.com \
    /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).