On Mon, 16 Jul 2007 18:11:02 -0500
"Steve French" <[EMAIL PROTECTED]> wrote:

> I would like opinions on how to handle a specific use question ...
> 
> if the user has mounted e.g.  \\server1\shareA (e.g. on a Samba
> server) using defaults (and thus gotten support for the Unix
> Extensions, but then does a second mount trying to disable Unix
> Extensions (e.g. "mount -t cifs //server1/shareB /mnt -o nounix" then
> what should the result be:
> 
>
> 1) mount fails?  If so what return code - there is no easy way to pass
> error strings back across mount (get_sb returns an int - a posix
> return code)
> 
> 2) mount succeeds, ignoring the "nounix" option but prints a warning to dmesg
> 
> 3) mount succeeds but turns off the Unix Capability bits so no Unix
> Extension requests are sent on either shareA or shareB (although the
> server behavior will still be a little different than if the client
> had not negotiated Unix Extensions at all, at least it will be
> different unless the session drops and is reconnected at which time
> the server will see the Unix Extensions disabled)
> 
> 4) mount succeeds and no Unix Extension requests are sent on the tree
> id for shareB (the requests to shareA are unaffected)
> 
> etc.
> 
> Ideas?
> 

Following the principle of least suprise, then #4 would be best. If
that's problematic, then I'd suggest just failing the mount outright
with an -EBUSY.

NFS has just gone through a not too dissimilar situation (mounting the
same export twice with different options). It now fails with -EBUSY in
that situation. A new mount option was also introduced (nosharedcache)
that makes it fall back on the previous behavior (not sharing
superblocks between mounts of the same export).

-- 
Jeff Layton <[EMAIL PROTECTED]>
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to