diff --git a/[refs] b/[refs] index ba737ca69788..1c818e61658c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 21e89c0c48bb799beb09181740796fc80c9676e2 +refs/heads/master: b9d6ba94b875192ef5e2dab92d72beea33b83c3d diff --git a/trunk/include/linux/namei.h b/trunk/include/linux/namei.h index 4bf19d8174ed..66542b644804 100644 --- a/trunk/include/linux/namei.h +++ b/trunk/include/linux/namei.h @@ -98,4 +98,20 @@ static inline void nd_terminate_link(void *name, size_t len, size_t maxlen) ((char *) name)[min(len, maxlen)] = '\0'; } +/** + * retry_estale - determine whether the caller should retry an operation + * @error: the error that would currently be returned + * @flags: flags being used for next lookup attempt + * + * Check to see if the error code was -ESTALE, and then determine whether + * to retry the call based on whether "flags" already has LOOKUP_REVAL set. + * + * Returns true if the caller should try the operation again. + */ +static inline bool +retry_estale(const long error, const unsigned int flags) +{ + return error == -ESTALE && !(flags & LOOKUP_REVAL); +} + #endif /* _LINUX_NAMEI_H */