Re: ext4_readdir ignores filldir error code
From: Jan Kara <jack@suse.cz>
Date: 2012-09-24 15:07:37
Also in:
linux-fsdevel
From: Jan Kara <jack@suse.cz>
Date: 2012-09-24 15:07:37
Also in:
linux-fsdevel
Hello, On Mon 24-09-12 15:47:24, Kasatkin, Dmitry wrote:
I noticed following in ext4_readdir() and in other file systems..
filldir returns error in "error":
error = filldir(dirent, de->name, ...)
But function itself returns "ret"
What I can see is that when filldir fails, ext4_readir quits, but with
no error....
while (!error && !stored && filp->f_pos < inode->i_size) {
Is it by design or an error?It works as designed (although I agree that the design is a bit odd). Note that filler functions also set dirent->error which is then used by e.g. getdents() syscall to set return value. Honza -- Jan Kara [off-list ref] SUSE Labs, CR