[Samba] Troubles with dfs-linked root shares

Juan José Villaplana Querol villapla at si.uji.es
Wed Jul 1 08:27:04 GMT 2009


Hi,

Im trying to set up a samba cluster (using RHCS) to hold students'
Home directories according to the following schema:


                        \\disc\personal
                              |
         +--------------------+----------------------+
         |                    |                      |
         |                    |                      |
         v                    v                      v
 \\disc01\target      \\disc02\target   ...  \\discXY\target   


The service "disc" will only hold dfs links and act as a load balancer
to the services "disc01" to "discXY" that will hold real user data.


The share "personal" on "disc" is configured as:

  [personal]
      path = /mnt/discdata000/personal/%U
      msdfs root = true

and "target" share is configured on the remaining "discXY" services as:

  [target]
      path = /mnt/discdataXYZ/personal/%U


DFS links are created as follows (users will be evenly hashed among
"discXY" "target" shares):

  $ ls -l /mnt/discdata000/personal/villapla
  lrwxrwxrwx 1 root root 19 Jun 30 12:53 /mnt/discdata000/personal/villapla -> msdfs:disc01\target


But the samba server seems unable to handle such dfs root links (see
attached file "log-001.txt" for "disc" smbd logs):

  $ smbclient -U villapla //disc/personal
  Password:
  Domain=[AUTH-SMB] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]
  tree connect failed: NT_STATUS_BAD_NETWORK_NAME


Avoiding the dfs root link by using this config for the "personal" share:

  [personal]
      path = /mnt/discdata000/personal
      msdfs root = true

works fine (see attached file "log-002.txt" for "disc" smbd logs):

  $ smbclient -U villapla //disc/personal/villapla
  Password: 
  Domain=[AUTH-SMB] OS=[Unix] Server=[Samba 3.0.33-3.7.el5]
  smb: \>


Those services are running on RHEL 5.3 with samba-3.0.33-3.7.el5.

Also tried the latest samba RPM from sernet (samba3-3.3.6-39.el5) and
got the same results.


Should dfs links for root shares work?


Best regards,
                Juanjo

-- 
Juan José Villaplana Querol/Servei d'Informàtica/Universitat Jaume I
Powered by Mutt [http://www.mutt.org/]
Dilbert: ... and starting today, all passwords must contain letters,
         numbers, doodles, sign language and squirrel noises.
-------------- next part --------------
[2009/07/01 10:05:16, 3, pid=19190, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_default(95)
  Initialising default vfs hooks
[2009/07/01 10:05:16, 3, pid=19190, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_custom(128)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(88)
  parse_dfs_path: temp = |disc\personal| after trimming \'s
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(111)
  parse_dfs_path: hostname: disc
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(154)
  parse_dfs_path: servicename: personal
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(965)
  max_referral_level :3
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(830)
  setting up version3 referral
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(834)
[2009/07/01 10:05:16, 0, pid=19190, effective(500, 500), real(500, 0)] lib/util.c:dump_data(2286)
  [000] 5C 00 64 00 69 00 73 00  63 00 5C 00 70 00 65 00  \.d.i.s. c.\.p.e.
  [010] 72 00 73 00 6F 00 6E 00  61 00 6C 00 00 00        r.s.o.n. a.l...
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(843)
  referral 0 : \disc\personal
[2009/07/01 10:05:16, 10, pid=19190, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(990)
  DFS Referral pdata:
[2009/07/01 10:05:16, 0, pid=19190, effective(500, 500), real(500, 0)] lib/util.c:dump_data(2286)
  [000] 1C 00 01 00 03 00 00 00  03 00 22 00 01 00 00 00  ........ ..".....
  [010] 58 02 00 00 22 00 40 00  5E 00 00 00 00 00 00 00  X...". at . ^.......
  [020] 00 00 00 00 00 00 00 00  00 00 5C 00 64 00 69 00  ........ ..\.d.i.
  [030] 73 00 63 00 5C 00 70 00  65 00 72 00 73 00 6F 00  s.c.\.p. e.r.s.o.
  [040] 6E 00 61 00 6C 00 00 00  5C 00 64 00 69 00 73 00  n.a.l... \.d.i.s.
  [050] 63 00 5C 00 70 00 65 00  72 00 73 00 6F 00 6E 00  c.\.p.e. r.s.o.n.
  [060] 61 00 6C 00 00 00 5C 00  64 00 69 00 73 00 63 00  a.l...\. d.i.s.c.
  [070] 5C 00 70 00 65 00 72 00  73 00 6F 00 6E 00 61 00  \.p.e.r. s.o.n.a.
  [080] 6C 00 00 00                                       l...
[2009/07/01 10:05:16, 3, pid=19190, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_default(95)
  Initialising default vfs hooks
[2009/07/01 10:05:16, 3, pid=19190, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_custom(128)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2009/07/01 10:05:16, 0, pid=19190, effective(500, 500), real(500, 0)] smbd/service.c:make_connection_snum(1003)
  '/mnt/discdata000/personal/villapla' does not exist or permission denied when connecting to [personal] Error was No such file or directory
-------------- next part --------------
[2009/07/01 10:09:04, 3, pid=23791, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_default(95)
  Initialising default vfs hooks
[2009/07/01 10:09:04, 3, pid=23791, effective(0, 0), real(0, 0)] smbd/vfs.c:vfs_init_custom(128)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(88)
  parse_dfs_path: temp = |disc\personal\villapla| after trimming \'s
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(111)
  parse_dfs_path: hostname: disc
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(154)
  parse_dfs_path: servicename: personal
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_dfs_path(183)
  parse_dfs_path: rest of the path: villapla
[2009/07/01 10:09:04, 3, pid=23791, effective(500, 500), real(500, 0)] smbd/vfs.c:vfs_init_default(95)
  Initialising default vfs hooks
[2009/07/01 10:09:04, 3, pid=23791, effective(500, 500), real(500, 0)] smbd/vfs.c:vfs_init_custom(128)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:dfs_path_lookup(394)
  dfs_path_lookup: Conn path = /mnt/discdata000/personal reqpath = villapla
[2009/07/01 10:09:04, 5, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:is_msdfs_link(356)
  is_msdfs_link: villapla -> msdfs:disc01\target
[2009/07/01 10:09:04, 6, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:dfs_path_lookup(425)
  dfs_path_lookup: \disc\personal\villapla resolves to a valid dfs link msdfs:disc01\target.
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_msdfs_symlink(284)
  parse_msdfs_symlink: count=1
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:parse_msdfs_symlink(313)
  parse_msdfs_symlink: Created alt path: \disc01\target
[2009/07/01 10:09:04, 3, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(955)
  setup_dfs_referral: Path \disc\personal\villapla to alternate path(s): \disc01\target.
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(965)
  max_referral_level :3
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(830)
  setting up version3 referral
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(834)
[2009/07/01 10:09:04, 0, pid=23791, effective(500, 500), real(500, 0)] lib/util.c:dump_data(2286)
  [000] 5C 00 64 00 69 00 73 00  63 00 5C 00 70 00 65 00  \.d.i.s. c.\.p.e.
  [010] 72 00 73 00 6F 00 6E 00  61 00 6C 00 5C 00 76 00  r.s.o.n. a.l.\.v.
  [020] 69 00 6C 00 6C 00 61 00  70 00 6C 00 61 00 00 00  i.l.l.a. p.l.a...
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_ver3_dfs_referral(843)
  referral 0 : \disc01\target
[2009/07/01 10:09:04, 10, pid=23791, effective(500, 500), real(500, 0)] smbd/msdfs.c:setup_dfs_referral(990)
  DFS Referral pdata:
[2009/07/01 10:09:04, 0, pid=23791, effective(500, 500), real(500, 0)] lib/util.c:dump_data(2286)
  [000] 2E 00 01 00 02 00 00 00  03 00 22 00 00 00 00 00  ........ ..".....
  [010] 58 02 00 00 22 00 52 00  82 00 00 00 00 00 00 00  X...".R. ........
  [020] 00 00 00 00 00 00 00 00  00 00 5C 00 64 00 69 00  ........ ..\.d.i.
  [030] 73 00 63 00 5C 00 70 00  65 00 72 00 73 00 6F 00  s.c.\.p. e.r.s.o.
  [040] 6E 00 61 00 6C 00 5C 00  76 00 69 00 6C 00 6C 00  n.a.l.\. v.i.l.l.
  [050] 61 00 70 00 6C 00 61 00  00 00 5C 00 64 00 69 00  a.p.l.a. ..\.d.i.
  [060] 73 00 63 00 5C 00 70 00  65 00 72 00 73 00 6F 00  s.c.\.p. e.r.s.o.
  [070] 6E 00 61 00 6C 00 5C 00  76 00 69 00 6C 00 6C 00  n.a.l.\. v.i.l.l.
  [080] 61 00 70 00 6C 00 61 00  00 00 5C 00 64 00 69 00  a.p.l.a. ..\.d.i.
  [090] 73 00 63 00 30 00 31 00  5C 00 74 00 61 00 72 00  s.c.0.1. \.t.a.r.
  [0A0] 67 00 65 00 74 00 00 00                           g.e.t...


More information about the samba mailing list