nuttx/fs
Gregory Nutt 32e98790c0 Correct ROMFS hardlink handling
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>
2020-08-10 07:32:06 -07:00
..
aio sched/: Make more naming consistent 2020-05-17 14:01:00 -03:00
binfs fix nxstyle warning 2020-07-10 21:30:02 +01:00
cromfs fs_cromfs:Remove duplicate case intorduced by 67ef70d 2020-08-04 21:20:25 -05:00
dirent vfs/dirread: Should return the same file type as lstat 2020-07-07 13:41:10 +01:00
driver fs/driver/fs_blockproxy.c: Fix an error handling 2020-07-29 21:13:20 -07:00
fat FAT Filesystem: UTF8 support for long filenames, bugfixes. 2020-07-31 18:01:02 -03:00
hostfs fs/hostfs/hostfs.c: Remove a redundant assignment 2020-07-30 08:59:46 +02:00
inode fs: Implement lstat function 2020-06-30 13:09:58 -06:00
littlefs fix nxstyle warning 2020-07-10 21:30:02 +01:00
mmap build: Remove the empty variable assignment 2020-05-24 08:24:13 -06:00
mount sched/wdog: Replace all callback argument from uint32_t to wdparm_t 2020-08-08 17:30:26 -03:00
mqueue fs/mqueue/mq_close.c: Remove a redundant assignment 2020-07-30 16:16:21 +02:00
nfs fix nxstyle warning 2020-07-10 21:30:02 +01:00
nxffs fs/nxffs: Fix scan good block slowly and scan an invalid block 2020-07-20 10:23:58 -03:00
partition Cast pointer to uintptr prior to ulong for ioctl 2020-07-19 15:49:13 -03:00
procfs fs/procfs: Handle /proc/xxx/group/ correctly 2020-08-03 21:00:18 +01:00
romfs Correct ROMFS hardlink handling 2020-08-10 07:32:06 -07:00
semaphore Check return from nxsem_wait_initialize() 2020-03-30 17:09:45 +01:00
shm fs/: Remove dangling space at the end of lines. 2017-06-28 13:17:55 -06:00
smartfs fs/smartfs: Fix file size corruption when opening with overwriting mode 2020-07-22 04:22:22 -05:00
spiffs fix nxstyle warning 2020-07-10 21:30:02 +01:00
tmpfs fix nxstyle warning 2020-07-10 21:30:02 +01:00
unionfs fix nxstyle warning 2020-07-10 21:30:02 +01:00
userfs fix nxstyle warning 2020-07-10 21:30:02 +01:00
vfs fs/vfs: Add file descriptor based events support 2020-07-31 15:09:35 -06:00
fs_initialize.c Remove some block comments before empty code sections 2016-04-11 18:16:04 -06:00
Kconfig fs/vfs: Add file descriptor based events support 2020-07-31 15:09:35 -06:00
Makefile Makefile: Fix Make.dep not updated by config changes 2020-07-28 03:59:45 -05:00