Re: [PATCH 1/3] enhanced ESTALE error handling

2008-01-18 Thread Peter Staubach
Matthew Wilcox wrote: On Fri, Jan 18, 2008 at 10:36:01AM -0500, Peter Staubach wrote: @@ -1025,12 +1027,27 @@ static int fastcall link_path_walk(const mntget(save.mnt); result = __link_path_walk(name, nd); - if (result == -ESTALE) { + while (result == -ESTALE) { +

[PATCH 1/3] enhanced ESTALE error handling

2008-01-18 Thread Peter Staubach
Hi. This is a patch to enhance ESTALE error handling during the lookup process. The error, ESTALE, can occur when out of data dentries, stored in the dcache, is used to translate a pathname component to a dentry. When this occurs, the dentry which contains the pointer to the inode which refers

Re: [PATCH 1/3] enhanced ESTALE error handling

2008-01-18 Thread Peter Staubach
J. Bruce Fields wrote: On Fri, Jan 18, 2008 at 11:45:52AM -0500, Peter Staubach wrote: Matthew Wilcox wrote: On Fri, Jan 18, 2008 at 10:36:01AM -0500, Peter Staubach wrote: static int path_lookup_create(int dfd, const char *name, - unsigned int

Re: [PATCH 1/3] enhanced ESTALE error handling

2008-01-18 Thread J. Bruce Fields
On Fri, Jan 18, 2008 at 11:45:52AM -0500, Peter Staubach wrote: Matthew Wilcox wrote: On Fri, Jan 18, 2008 at 10:36:01AM -0500, Peter Staubach wrote: static int path_lookup_create(int dfd, const char *name, - unsigned int lookup_flags, struct nameidata *nd, -

Re: [PATCH 1/3] enhanced ESTALE error handling

2008-01-18 Thread Matthew Wilcox
On Fri, Jan 18, 2008 at 10:36:01AM -0500, Peter Staubach wrote: @@ -1025,12 +1027,27 @@ static int fastcall link_path_walk(const mntget(save.mnt); result = __link_path_walk(name, nd); - if (result == -ESTALE) { + while (result == -ESTALE) { + /* +