<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>getcwd syscall fails on 3rd subfolder</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hello,<BR>
we use the Gaisler RTEMS Kernel 4-10-1.2.14 on a GR712RC board.<BR>
The following function is used to  determine the current working directory on a fatfs:<BR>
<BR>
<BR>
static NtsError fs_pwd_do( int argc, char **argv)<BR>
{<BR>
        char *ret = getcwd(NULL, 0);<BR>
        if(ret) {<BR>
                nts_printf("%s\n", ret);<BR>
                free(ret);<BR>
                return NTS_OK;<BR>
        }<BR>
<BR>
        nts_printf("getcwd failed, errno: %d, MAXPATHLEN: %d\n", errno, MAXPATHLEN);<BR>
        return NTS_FAILURE;<BR>
}<BR>
<BR>
<BR>
The fatfs was generated using:<BR>
        @dd if=/dev/zero of=$(NAME) bs=256 count=1024 > /dev/null<BR>
        /sbin/mkfs.vfat -F 12 -S 512 -s 1 -r 512 -f 1 -v $(NAME)<BR>
<BR>
<BR>
This is what happens:<BR>
<BR>
cassis> fs mount<BR>
RAM Disk registered<BR>
mount return: 0<BR>
ram disk addr: 0x64000000<BR>
cassis> fs ls<BR>
3920 dev<BR>
16384 mnt<BR>
cassis> fs pwd<BR>
/<BR>
cassis> fs cwd mnt<BR>
changed to mnt<BR>
cassis> fs pwd<BR>
/mnt<BR>
cassis> fs ls<BR>
512 template<BR>
cassis> fs cwd template<BR>
changed to template<BR>
cassis> fs pwd<BR>
/mnt/template<BR>
cassis><BR>
cassis> fs ls<BR>
512 .<BR>
16384 ..<BR>
512 param<BR>
512 logs<BR>
cassis> fs cwd logs<BR>
changed to logs<BR>
cassis> fs pwd<BR>
getcwd failed, errno: 2, MAXPATHLEN: 1024<BR>
cassis><BR>
<BR>
<BR>
The folder logs is definitely existing:<BR>
cassis> fs dump /mnt/template/logs/housekeeping/log0<BR>
file size: 10<BR>
64 61 63 30 3a 20 31 30 30 0a<BR>
<BR>
A non existing file leeds to:<BR>
cassis> fs dump /mnt/template/logs/housekeeping/log9<BR>
file size: 10<BR>
failure, ret: -1, errno: 2<BR>
<BR>
Has anybody an idea why getcwd() fails (errno 2 means not existent)?<BR>
<BR>
Cheers,<BR>
Marco<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>