Linux CIFS filesystem development
 help / color / mirror / Atom feed
From: Federico Sauter <fsauter-LVkJPw3T+odGBRGhe+f61g@public.gmane.org>
To: Steve French <smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Issue with upgrade to kernel 3.4.10 -> invalid argument error
Date: Wed, 17 Oct 2012 15:42:53 +0200	[thread overview]
Message-ID: <507EB5DD.8040107@innominate.com> (raw)
In-Reply-To: <CAH2r5mvFzSy5+SxpiBvuLydrsQcuJZn=5s6VCKgWO+K0iergMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hello Steve,

I use the apostrophes just to avoid escaping backslashes when I use them.

Thank you very much for your question, since it led me to solve my 
problem. I was using a different mount version (busybox) and now that 
you pointed me in the right direction I found the issue by comparing the 
mount.cifs source code and the busybox sources and making the 
appropriate fixes.

Kind regards,

Fred


On 10/16/2012 08:46 PM, Steve French wrote:
> Why the ' (apostrophes) around the arguments to -o ?
>
> What version of mount.cifs ("/sbin/mount.cifs -V" will display it) are
> you using?
>
> On Tue, Oct 16, 2012 at 12:03 PM, Federico Sauter
> <fsauter-LVkJPw3T+odGBRGhe+f61g@public.gmane.org <mailto:fsauter-LVkJPw3T+odGBRGhe+f61g@public.gmane.org>> wrote:
>
>     Greetings,
>
>
>     I am having an issue mounting CIFS shares since we upgraded our
>     Linux kernel from 2.6.27 to 3.4.10. Each time I try to mount a share
>     drive I get an "Invalid argument" error message even though I am
>     using the same command line that had previously worked, e.g.:
>
>     mount -t cifs //172.16.1.10/allusers <http://172.16.1.10/allusers>
>     /mnt/TEST -o 'ro,user=cifs,password=secret
>
>     I went ahead and checked the source code, and found out that the
>     following condition did not evaluate to true:
>
>     fs/cifs/connect.c:2130
>              if (volume_info->UNCip && volume_info->UNC)
>              {
>                      rc = cifs_fill_sockaddr((struct sockaddr *)&addr,
>                                  volume_info->UNCip,
>                                  strlen(volume_info->UNCip),
>                                  volume_info->port);
>
>     Thus I obtained a kernel message "Connecting to DFS root not
>     implemented yet." So I am now explicitly specifying the UNC as an
>     option, as well as the device name:
>
>     mount -t cifs //172.16.1.10/allusers <http://172.16.1.10/allusers>
>     /mnt/TEST -o 'ro,user=cifs,password=secret,__unc=\\172.16.1.10\allusers'
>
>     Question #1: Why do I have to explicitly provide the UNC now?
>
>     It almost seem like a bug to me, given that the devname parameter to
>     the cifs_parse_mount_options function already contains this
>     information. The newest sources for the 3.7-rc1 kernel seem to have
>     no changes in this regard (even though I just took a *quick* look at
>     those sources.)
>
>     If this is a bug I would be glad to provide a patch to fix it.
>
>     The second observation that I made concerned specifying the UNC as
>     an option and passing in slashes as separators instead of backslashes:
>
>     mount -t cifs //172.16.1.10/allusers <http://172.16.1.10/allusers>
>     /mnt/TEST -o
>     'ro,user=cifs,password=secret,__unc=//172.16.1.10/allusers
>     <http://172.16.1.10/allusers>'
>
>     This also results in an invalid argument error, as the parser does
>     not convert all slashes into backslashes (for the unc option, as the
>     devname parameter is already converted!), and thus extract_hostname
>     is not able to function properly.
>
>     Question #2: Should this be considered a bug?
>
>     If that is the case, I would like to suggest the attached bugfix.
>
>     Please let me know what you think and thank you in advance for your
>     kind support!
>
>
>     Best regards,
>
>
>     --
>     Federico Sauter / Senior firmware programmer
>     Innominate Security Technologies AG / protecting industrial networks
>     tel: +49.30.921028-210 <tel:%2B49.30.921028-210> / fax:
>     +49.30.921028-020 <tel:%2B49.30.921028-020>
>     Rudower Chaussee 13 / D-12489 Berlin / http://www.innominate.com/
>
>     Register Court: AG Charlottenburg, HR B 81603
>     Management Board: Dirk Seewald
>     Chairman of the Supervisory Board: Christoph Leifer
>
>
>
>
> --
> Thanks,
>
> Steve

      parent reply	other threads:[~2012-10-17 13:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-16 17:03 Issue with upgrade to kernel 3.4.10 -> invalid argument error Federico Sauter
     [not found] ` <507D934E.9010304-LVkJPw3T+odGBRGhe+f61g@public.gmane.org>
2012-10-17  9:55   ` Suresh Jayaraman
     [not found]     ` <507E808C.1020401-IBi9RG/b67k@public.gmane.org>
2012-10-17 13:47       ` Federico Sauter
     [not found] ` <CAH2r5mvFzSy5+SxpiBvuLydrsQcuJZn=5s6VCKgWO+K0iergMQ@mail.gmail.com>
     [not found]   ` <CAH2r5mvFzSy5+SxpiBvuLydrsQcuJZn=5s6VCKgWO+K0iergMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-10-16 19:04     ` Fwd: " Steve French
2012-10-17 13:42     ` Federico Sauter [this message]

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=507EB5DD.8040107@innominate.com \
    --to=fsauter-lvkjpw3t+odgbrghe+f61g@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=smfrench-Re5JQEeQqe8AvxtiuMwx3w@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox