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