#1286 closed defect (fixed)

[imfs] cannot access long filenames in directory mounted on IMFS mountpoint

Reported by: strauman Owned by: Chris Johns
Priority: normal Milestone: 4.10
Component: fs Version: 4.9
Severity: normal Keywords:
Cc: chrisj@…, sebastian.huber@…, sebastien.bourdeauducq@… Blocked By:
Blocking:

Description

It seems that IMFS_eval_path() looks at the name of a path name component
(IMFS_get_token() does that) *before* deciding that the current
node is a (imfs) directory with another filesystem mounted and that
it should call that filesystem's eval_path_h() method to evaluate
the name component.

This means that a filename that is perfectly legal in the
mounted filesystem cannot be accessed because IMFS_get_token()
rejects it.

How to reproduce:

on NFS server create /export/thisisalongfilenamewithmorethan32chars

on RTEMS mount

nfsMount("nfsServer","/export","/mntpt")

an attempt to access "/mntpt/thisisalongfilenamewithmorethan32chars"
fails (ENAMETOOLONG).

Workaround: create a short named (IMFS-compliant) dummy directory between the
mount point and the long filenames, e.g.:

on NFS server create /export/dummy/thisisalongfilenamewithmorethan32chars

on RTEMS mount

nfsMount("nfsServer","/export","/mntpt")

access "/mntpt/dummy/thisisalongfilenamewithmorethan32chars"
should succeed.

Change History (5)

comment:1 Changed on 05/29/10 at 04:05:38 by Chris Johns

Owner: changed from Joel Sherrill to Chris Johns
Status: newassigned, chrisj@rtems.org

comment:2 Changed on 05/29/10 at 04:06:02 by Chris Johns

Milestone: 4.94.10

comment:3 Changed on 12/02/10 at 20:49:24 by Sebastien Bourdeauducq

Cc: Sebastien Bourdeauducq added

comment:4 Changed on 06/20/11 at 22:00:11 by Chris Johns

dependson: 1774

comment:5 Changed on 03/13/12 at 11:08:15 by Sebastian Huber

Resolution: fixed
Status: assignedclosed, sebastian.huber@embedded-brains.de
Note: See TracTickets for help on using tickets.