32e98790c0
This PR corrects an error in the ROMFS file system. The error occurred after following a hard link (depending on how the ROMFS image is organized). The error occurred because some of the information buffered before following the links was stale and, hence, out of sync after following the hard link. This would cause random errors when paths containing hardlinks were used with ROMFS. This PR resolves Issue #1543. Please compare the following output with the output in Issue #1543 to see how the problem was resolved: NuttShell (NSH) NuttX-9.1.0 nsh> mount /etc type romfs /proc type procfs /tmp type vfat nsh> ls -Rl /etc /etc: dr-xr-xr-x 0 . dr-xr-xr-x 0 .. -r-xr-xr-x 20 group dr-xr-xr-x 0 init.d/ -r-xr-xr-x 35 passwd /etc/init.d: dr-xr-xr-x 0 . dr-xr-xr-x 0 .. -r-xr-xr-x 71 rcS nsh> ls -l /etc/init.d /etc/init.d: dr-xr-xr-x 0 . dr-xr-xr-x 0 .. -r-xr-xr-x 71 rcS nsh> ls -l /etc/init.d/. /etc/init.d/.: dr-xr-xr-x 0 . dr-xr-xr-x 0 .. -r-xr-xr-x 71 rcS nsh> ls -l /etc/init.d/.. /etc/init.d/..: dr-xr-xr-x 0 . dr-xr-xr-x 0 .. -r-xr-xr-x 20 group dr-xr-xr-x 0 init.d/ -r-xr-xr-x 35 passwd nsh> ls -l /etc/init.d/../. /etc/init.d/../.: dr-xr-xr-x 0 . dr-xr-xr-x 0 .. -r-xr-xr-x 20 group dr-xr-xr-x 0 init.d/ -r-xr-xr-x 35 passwd nsh> |
||
---|---|---|
.. | ||
aio | ||
binfs | ||
cromfs | ||
dirent | ||
driver | ||
fat | ||
hostfs | ||
inode | ||
littlefs | ||
mmap | ||
mount | ||
mqueue | ||
nfs | ||
nxffs | ||
partition | ||
procfs | ||
romfs | ||
semaphore | ||
shm | ||
smartfs | ||
spiffs | ||
tmpfs | ||
unionfs | ||
userfs | ||
vfs | ||
fs_initialize.c | ||
Kconfig | ||
Makefile |