Re: [PATCH 2/3] enhanced syscall ESTALE error handling (v2)

From: Miklos Szeredi
Date: Fri Feb 01 2008 - 17:03:59 EST


> > This doesn't apply to -mm, because the ro-mounts stuff touches a lot
> > of the same places as this patch. You probably need to rebase this on
> > top of those changes.
> >
> >
> >> This patch adds handling for the error, ESTALE, to the system
> >> calls which take pathnames as arguments. The algorithm used
> >> is to detect that an ESTALE error has occurred during an
> >> operation subsequent to the lookup process and then to unwind
> >> appropriately and then to perform the lookup process again.
> >> Eventually, either the lookup process will return an error
> >> or a valid dentry/inode combination and then operation can
> >> succeed or fail based on its own merits.
> >>
> >
> > If a broken NFS server or FUSE filesysem keeps returning ESTALE, this
> > goes into an infinite loop. How are we planning to deal with that?
> >
> >
>
> Would you describe the situation that would cause the kernel to
> go into an infinite loop, please?

The patch basically does:

do {
...
error = inode->i_op->foo()
...
} while (error == ESTALE);

What is the guarantee, that ->foo() will not always return ESTALE?

Miklos
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/