Skip to content

I/O Error following CD to non-existing subdirectory #55

@ericg2

Description

@ericg2

Hello,

I have been creating an implementation with easy_fuser, and every function worked fine EXCEPT changing directories. At first, I thought it was my code - however, the example does this as well. Look below:

[eric@ERICASUS ftp-test]$ ls
hello1  testdir
[eric@ERICASUS ftp-test]$ cd blah
bash: cd: blah: Not a directory
[eric@ERICASUS ftp-test]$ ls
hello1  testdir
[eric@ERICASUS ftp-test]$ cd testdir
[eric@ERICASUS testdir]$ ls
hello2
[eric@ERICASUS testdir]$ cd blah
bash: cd: blah: Not a directory
[eric@ERICASUS testdir]$ ls
ls: cannot open directory '.': Input/output error
[eric@ERICASUS testdir]$ ls
ls: cannot open directory '.': Input/output error
[eric@ERICASUS testdir]$ cd .
[eric@ERICASUS testdir]$ ls
hello2
[eric@ERICASUS testdir]$ 

The above was straight from the FTP example in this project. This logic matches my code exactly, which you can see at the link below:
https://github.com/ericg2/neptis-fs
https://github.com/ericg2/neptis-server

After some diagnosing, it appears to originate from either the chdir and/or newfstatat which returns EIO (-1) and crashes the FS until you change directories out of it. Does this relate strictly to my system, or is it the code itself? I'm not completely sure.

Anyways, I really appreciate this library and find it useful - but I hope someone can fix this issue (as I hate dealing with inodes manually). Every other function works perfectly! Please let me know if you need any other debugging information from me. FYI: I left the crate version at 2021 (so it's not a backwards-compatibility issue). Switching to 2024 had the same effect.

Thanks in advance,
Eric Gold (ericg2)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions