forked from Imagelibrary/rtems
When a directory is deleted, we don't take too much care about killing off all the dirents that belong to it — on the basis that on remount, the scan will conclude that the directory is dead anyway. This doesn't work though, when the deleted directory contained a child directory which was moved *out*. In the early stages of the fs build we can then end up with an apparent hard link, with the child directory appearing both in its true location, and as a child of the original directory which are this stage of the mount process we don't *yet* know is defunct. To resolve this, take out the early special-casing of the "directories shall not have hard links" rule in jffs2_build_inode_pass1(), and let the normal nlink processing happen for directories as well as other inodes. Then later in the build process we can set ic->pino_nlink to the parent inode#, as is required for directories during normal operaton, instead of the nlink. And complain only *then* about hard links which are still in evidence even after killing off all the unreachable paths. Reported-by: Liu Song <liu.song11@zte.com.cn> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Cc: stable@vger.kernel.org
This directory contains for the "file system" library. All supported file systems live under this tree. Currently the supported file systems in this library are: - IMFS or In Memory File System This is the only root file system on RTEMS at the moment. It supports files, directories, device nodes and mount points. It can also be configured to be the miniIMFS. - TFTP and FTP filesystem are part of the libnetworking library. - DEVFS or Device File system - DOSFS, a FAT 12/16/32 MSDOS compatible file system. - NFS Client, can mount NFS exported file systems. - PIPE, a pipe file system. - RFS, The RTEMS File System. --Chris Johns and Joel Sherrill 17 Feb 2010