* Re: [PATCH] CIFS: Add nodfs mount option
[not found] ` <20081016074305.306b2e90@barsoom.rdu.redhat.com>
@ 2008-10-16 13:41 ` Steve French
0 siblings, 0 replies; only message in thread
From: Steve French @ 2008-10-16 13:41 UTC (permalink / raw)
To: Jeff Layton
Cc: Martin Koegler, linux-cifs-client, sfrench, niallain,
linux-fsdevel
Sounds reasonable to me - I will queue it up or something similar
unless there are any objections.
On Thu, Oct 16, 2008 at 6:43 AM, Jeff Layton <jlayton@redhat.com> wrote:
> On Thu, 16 Oct 2008 08:17:43 +0200
> Martin Koegler <mkoegler@auto.tuwien.ac.at> wrote:
>
>> Older samba server (eg. 3.0.24 from Debian etch) don't work correctly,
>> if DFS paths are used. Such server claim that they support DFS, but fail
>> to process some requests with DFS paths. Starting with Linux 2.6.26,
>> the cifs clients starts sending DFS paths in such situations, rendering
>> it unuseable with older samba servers.
>>
>> The nodfs mount options forces a share to be used with non DFS paths,
>> even if the server claims, that it supports it.
>>
>> Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>
>> ---
>>
>> This patch makes my home directory on a samba server useable for Linux 2.6.26
>> again. It still needs more testing. Should apply to linux 2.6.27 too.
>>
>> Would it be possible to support something like this in the offical CIFS client?
>>
>> diff a/fs/cifs/connect.c b/fs/cifs/connect.c
>> --- a/fs/cifs/connect.c
>> +++ b/fs/cifs/connect.c
>> @@ -90,6 +90,7 @@ struct smb_vol {
>> bool nocase:1; /* request case insensitive filenames */
>> bool nobrl:1; /* disable sending byte range locks to srv */
>> bool seal:1; /* request transport encryption on share */
>> + bool nodfs:1;
>> unsigned int rsize;
>> unsigned int wsize;
>> unsigned int sockopt;
>> @@ -1223,6 +1224,8 @@ cifs_parse_mount_options(char *options,
>> vol->sfu_emul = 1;
>> } else if (strnicmp(data, "nosfu", 5) == 0) {
>> vol->sfu_emul = 0;
>> + } else if (strnicmp(data, "nodfs", 5) == 0) {
>> + vol->nodfs = 1;
>> } else if (strnicmp(data, "posixpaths", 10) == 0) {
>> vol->posix_paths = 1;
>> } else if (strnicmp(data, "noposixpaths", 12) == 0) {
>> @@ -2167,6 +2170,10 @@ cifs_mount(struct super_block *sb, struc
>> volume_info.UNC,
>> tcon, cifs_sb->local_nls);
>> cFYI(1, ("CIFS Tcon rc = %d", rc));
>> + if (volume_info.nodfs) {
>> + tcon->Flags &= ~SMB_SHARE_IS_IN_DFS;
>> + cFYI(1, ("CIFS DFS disabeld (%d)", tcon->Flags));
>> + }
>> }
>> if (!rc) {
>> atomic_inc(&pSesInfo->inUse);
>> --
>
>
> Looks reasonable to me. Igor did most of the DFS work, so I cc'ed him
> here. Igor, any thoughts?
>
> --
> Jeff Layton <jlayton@redhat.com>
>
--
Thanks,
Steve
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-10-16 13:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1224137863585-git-send-email-mkoegler@auto.tuwien.ac.at>
[not found] ` <20081016074305.306b2e90@barsoom.rdu.redhat.com>
2008-10-16 13:41 ` [PATCH] CIFS: Add nodfs mount option Steve French
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).