On Thu, Mar 19, 2009 at 01:16:30PM -0700, Sage Weil wrote: > + if (result) { > + /* > + * The cache was re-populated while we waited on the > + * mutex. We need to revalidate, this time while > + * holding i_mutex (to avoid another race). > + */ > + if (result->d_op && result->d_op->d_revalidate) { > + result = do_revalidate(result, nd); > if (result) > + goto out_unlock; > + /* > + * The dentry was left behind invalid. Just > + * do the lookup. > + */ > + } else { > + goto out_unlock; > } This would be better off as if (!result->d_op || !result->d_op->d_revalidate) goto out_unlock; result = do_revalidate(result, nd); if (result) goto out_unlock; /* * The dentry was left behind invalid. Just * do the lookup. */ Otherwise looks good to me. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html