Bug 5248 - CIFS mount error 20 = Not a directory
Summary: CIFS mount error 20 = Not a directory
Status: RESOLVED FIXED
Alias: None
Product: CifsVFS
Classification: Unclassified
Component: kernel fs (show other bugs)
Version: 2.6
Hardware: x64 Linux
: P3 critical
Target Milestone: ---
Assignee: Steve French
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-07 20:13 UTC by alan
Modified: 2008-02-08 15:49 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description alan 2008-02-07 20:13:43 UTC
I manage 16 Red Hat servers connecting to SAN. In this case one of the servers running RHEL4 connected successfully to the NAS:SAN share without any problems. When I tried the same on the other RHEL4 server, we got 'mount error 20 = Not a directory' and 'Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)'. I have tried googling and searching bugzilla after all modification options have failed. Let me get to details. Assume all NAS : SAN permissions are setup identically.
I am trying to connect to the win_01 server. From RHEL4.no1 accessing share /san_l and from the other RHEL4.no2 accessing share on the same win_01 server /san_l/Sn_a which is under the /san_l share.


Share that works:

On RHEL4.no1
//win_01.domain.name/san_l$ /San  cifs user=S_Share_l,password=UlXnJmZa22,domain=US,gid=lnx,uid=lnx 0 0

Same thing on RHEL4.no2 but generates error:

//win_01.domain.name/san_l$/Sn_a /Sn_a  cifs user=s_sna,password=PzBSR54sDz,domain=US,gid=lnx,uid=lnx 0 0
-------------------------------------------------------------------
Mount points:
RHEL4.no1
drwxrwxrwx     1 lnx lnx       0 Jan 23 14:18 San

RHEL4.no2
drwxrwxrwx     2 lnx lnx    4096 Feb  7 10:01 Sn_a
----------------------------------------------------------------
[root@RHEL.no1 /]# modinfo cifs
filename:       /lib/modules/2.6.9-67.ELsmp/kernel/fs/cifs/cifs.ko
parm:           CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 818
parm:           cifs_min_rcv:Network buffers in pool. Default: 4 Range: 1 to 64
parm:           cifs_min_small:Small network buffers in pool. Default: 30 Range: 2 to 256
parm:           cifs_max_pending:Simultaneous requests to server. Default: 50 Range: 2 to 256
author:         Steve French <sfrench@us.ibm.com>
license:        GPL
description:    VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Wins
version:        1.48a.RH BA7BA9F45C60D2722E9A895
vermagic:       2.6.9-67.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4
depends:        


[root@RHEL.no2 /]# modinfo cifs
filename:       /lib/modules/2.6.9-67.0.1.ELsmp/kernel/fs/cifs/cifs.ko
version:        1.48a.RH BA7BA9F45C60D2722E9A895
description:    VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Wins
license:        GPL
author:         Steve French <sfrench@us.ibm.com>
parm:           cifs_max_pending:Simultaneous requests to server. Default: 50 Range: 2 to 256
parm:           cifs_min_small:Small network buffers in pool. Default: 30 Range: 2 to 256
parm:           cifs_min_rcv:Network buffers in pool. Default: 4 Range: 1 to 64
parm:           CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 818
depends:        
vermagic:       2.6.9-67.0.1.ELsmp SMP gcc-3.4


It should be noted that the RHEL4.no2 gave same results on the 2.6.9-67 kernel.
Comment 1 alan 2008-02-08 15:49:29 UTC
(In reply to comment #0)
> I manage 16 Red Hat servers connecting to SAN. In this case one of the servers
> running RHEL4 connected successfully to the NAS:SAN share without any problems.
> When I tried the same on the other RHEL4 server, we got 'mount error 20 = Not a
> directory' and 'Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)'. I
> have tried googling and searching bugzilla after all modification options have
> failed. Let me get to details. Assume all NAS : SAN permissions are setup
> identically.
> I am trying to connect to the win_01 server. From RHEL4.no1 accessing share
> /san_l and from the other RHEL4.no2 accessing share on the same win_01 server
> /san_l/Sn_a which is under the /san_l share.
> Share that works:
> On RHEL4.no1
> //win_01.domain.name/san_l$ /San  cifs
> user=S_Share_l,password=UlXnJmZa22,domain=US,gid=lnx,uid=lnx 0 0
> Same thing on RHEL4.no2 but generates error:
> //win_01.domain.name/san_l$/Sn_a /Sn_a  cifs
> user=s_sna,password=PzBSR54sDz,domain=US,gid=lnx,uid=lnx 0 0
> -------------------------------------------------------------------
> Mount points:
> RHEL4.no1
> drwxrwxrwx     1 lnx lnx       0 Jan 23 14:18 San
> RHEL4.no2
> drwxrwxrwx     2 lnx lnx    4096 Feb  7 10:01 Sn_a
> ----------------------------------------------------------------
> [root@RHEL.no1 /]# modinfo cifs
> filename:       /lib/modules/2.6.9-67.ELsmp/kernel/fs/cifs/cifs.ko
> parm:           CIFSMaxBufSize:Network buffer size (not including header).
> Default: 16384 Range: 818
> parm:           cifs_min_rcv:Network buffers in pool. Default: 4 Range: 1 to 64
> parm:           cifs_min_small:Small network buffers in pool. Default: 30
> Range: 2 to 256
> parm:           cifs_max_pending:Simultaneous requests to server. Default: 50
> Range: 2 to 256
> author:         Steve French <sfrench@us.ibm.com>
> license:        GPL
> description:    VFS to access servers complying with the SNIA CIFS
> Specification e.g. Samba and Wins
> version:        1.48a.RH BA7BA9F45C60D2722E9A895
> vermagic:       2.6.9-67.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4
> depends:        
> [root@RHEL.no2 /]# modinfo cifs
> filename:       /lib/modules/2.6.9-67.0.1.ELsmp/kernel/fs/cifs/cifs.ko
> version:        1.48a.RH BA7BA9F45C60D2722E9A895
> description:    VFS to access servers complying with the SNIA CIFS
> Specification e.g. Samba and Wins
> license:        GPL
> author:         Steve French <sfrench@us.ibm.com>
> parm:           cifs_max_pending:Simultaneous requests to server. Default: 50
> Range: 2 to 256
> parm:           cifs_min_small:Small network buffers in pool. Default: 30
> Range: 2 to 256
> parm:           cifs_min_rcv:Network buffers in pool. Default: 4 Range: 1 to 64
> parm:           CIFSMaxBufSize:Network buffer size (not including header).
> Default: 16384 Range: 818
> depends:        
> vermagic:       2.6.9-67.0.1.ELsmp SMP gcc-3.4
> It should be noted that the RHEL4.no2 gave same results on the 2.6.9-67 kernel.



I found solution for the given problem. CIFS needs access to the top root directory. In other words in this particular example the access for the share configured on RHEL4.no2 needed permissions on the san_l as well on the Sn_a.
TOP DIRECTORY MUST HAVE SAME PERMISSIONS AS THE TARGET DIRECTORY