Re: [PATCH RFC] cifs: revalidate directories instiantiated via FIND_* in order to handle DFS referrals

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 23 Apr 2013 11:59:45 +0200
Martijn de Gouw <martijn.de.gouw@xxxxxxxxxxx> wrote:

> Hi Jeff,
> 
> On 01/15/2013 08:01 PM, Jeff Layton wrote:
> > 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".
> 
> Are you planning to get this patch into mainline?
> 
> I've applied this patch to 3.7.7, otherwise we where not able to mount 
> dfs shares. It's running for over 2 months now on our servers and we 
> have not seen any problems whatsoever.
> 
> Regards, Martijn
> 

I was hoping that it would go into the upcoming 3.10 merge window, but
Steve won't take it as he's concerned about the performance impact. The
current story is "maybe 3.11".

One possibility to mitigate the performance impact might be to switch
the default to "nodfs". IOW, make it so that you consciously have to
mount with "-o dfs" in order to get it. That's a departure from how it
works today though.
-- 
Jeff Layton <jlayton@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux