2009/139 CIFS CATIA Translation Share Property

James Carlson james.d.carlson at sun.com
Thu Mar 5 06:33:45 PST 2009


Don Cragun writes:
> Sorry,
> 	Trying again with corrected subject line...

[corrected cc line as well]

>  > > > What happens if a Windows client creates a new file containing the
>  > > > 0x00f8 character?  Does that:
>  > > >
>  > > >   (a) fail, because a file name on UNIX can't possibly have a '/' in
>  > > >       it, and no file system should accept it.
> 
> If I read the spec correctly this would never happen.  0x00f8 is a
> Latin small letter o with stroke; not a '/' (AKA solidus or virgule)
> character.  Whether or not catia=true, an o with stroke character
> will not be translated to '/'.

Actually, this is exactly what happens.

If Windows were to use the o-with-stroke character and "catia" were
set on the file system, then the file name would be translated by the
Solaris server to have '/' in it, and the call would then fail.

>  > > >
>  > > >   (b) create a subdirectory (or subdirectories) using the first part
>  > > >       of the name, and a file using the last (i.e., interpret the
>  > > >       resulting back-translation into '/' as a separator).
> 
> The fact that you allow the translation of '/' in a filename implies
> that files can exist containing that character.

Not really.  It implies that the specification allows for this
specific translation.  If the underlying OS doesn't support having
that character, then the translation table entry is effectively moot.

That's the case here.  The translation is "allowed," but since we're
UNIX, it doesn't actually work.

> 1.  Will an application attempt to pass a pathname containing a
>      '/' character ever be translated by the system into a Latin
>      small letter o with stroke,

No.  That's backwards.  That never happens.

The translation occurs between the Solaris (UNIX) system and the
Windows server.  If the file on the Solaris system were to have a '/'
in it (an impossibility), then that character would be translated to
o-with-stroke on the Windows system.

Applications using '/' are completely unaffected.

>      From what you say above, I believe you are saying that the
>      only translation is on characters found in the names of
>      files that exist on a CIFS server.  So, this will never happen.

That's not quite the case.  The Solaris system *IS* the CIFS server.

This is Solaris-as-server, not Solaris-as-client.

> 2.  If I have four files with names "<>", "«>", "«»", and "<»" on
>      a directory on a CIFS server with catia=true, it seems that
>      CATIA applications reading that directory will see four
>      different files with filename "«»".

Possibly so.  So what?

>      The fact that readdir will give you one name while open, stat,
>      unlink, rename, etc. may need to use a different name seems like
>      a disaster waiting to happen.

No.  Those directory entries will be seen *ONLY* on the Windows
system.

This is a translation that occurs only for Windows clients when using
a Solaris server.

It has no effect whatsoever on applications running on a Solaris
system, nor on UNIX clients of a Solaris server, nor on Solaris when
acting as a client to any other server (CIFS included).

-- 
James Carlson, Solaris Networking              <james.d.carlson at sun.com>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677



More information about the opensolaris-arc mailing list