Barry Kelly wrote:
I'm having a problem I don't understand: when one ZFS filesystem is mounted inside another, and the outer one is shared using cifs, the inner file system isn't accessible via the outer share.
This is currently an unsupported capability. See: CR 6582165 Child Mounts
To demonstrate the problem: suppose I have two ZFS filesystems, one mounted inside the other. Let's suppose they are called tank/outer and tank/outer/inner:# zfs create -o casesensitivity=insensitive tank/outer # zfs create -o casesensitivity=insensitive tank/outer/inner Suppose I share tank/outer, but not tank/outer/inner: # zfs sharesmb=name=outer tank/outer # zfs sharesmb=off tank/outer/inner # sharemgr show -v zfs zfs/tank/outer outer=/tank/outer And finally, suppose I reset ownership and permissions to be sure there's full access to me (my username is barrkel, and is the same account that I access the share from using Windows XP SP3): # /bin/chown -R barrkel:staff /tank/outer # /bin/chmod -R A=everyone@:full_set:fd:allow /tank/outer/ # /bin/ls -vR /tank/outer/ /tank/outer/: total 4 drwxrwxrwx+ 2 barrkel staff 2 Mar 16 10:56 inner 0:everyone@:list_directory/read_data/add_file/write_data /add_subdirectory/append_data/read_xattr/write_xattr/execute /delete_child/read_attributes/write_attributes/delete/read_acl /write_acl/write_owner/synchronize:file_inherit/dir_inherit:allow /tank/outer/inner: total 0 It certainly looks like I ought to be able to access "inner" via the "outer" share. So, I go over to Windows and try to access it from Cygwin (the OpenSolaris machine is called rupert): $ ls //rupert/outer ls: cannot access //rupert/outer/inner: No such file or directory inner $ echo test > //rupert/outer/test.txt $ cat //rupert/outer/test.txt test $ echo test2 > //rupert/outer/inner/test.txt bash: //rupert/outer/inner/test.txt: Permission denied $ cat //rupert/outer/inner/test.txt cat: //rupert/outer/inner/test.txt: Permission denied Is the scenario I am trying to enable simply not supported by cifs and/or ZFS? The case of multiple file systems accessible over a Windows share is already possible without involving non-MS software at all, since Windows can mount filesystems at arbitrary directories in the file system, so long as the filesystems are all NTFS. Similarly, Windows junctions can be used to make a directory on one file system look like it's attached to another (roughly like a symlink, only more transparent), and this functionality is transparent to network shares. -- Barry
_______________________________________________ cifs-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/cifs-discuss
