unionfs_lock_dentry(dentry);
sb = dentry->d_sb;
unionfs_read_lock(sb);
- if (!unionfs_d_revalidate(dentry, NULL) && !d_deleted(dentry)) {
+ if (!__unionfs_d_revalidate(dentry, NULL) && !d_deleted(dentry)) {
err = -ESTALE;
goto out_nofree;
}
/*
* returns 1 if valid, 0 otherwise.
*/
-int unionfs_d_revalidate(struct dentry *dentry, struct nameidata *nd)
+int __unionfs_d_revalidate(struct dentry *dentry, struct nameidata *nd)
{
int valid = 1; /* default is valid (1); invalid is 0. */
struct dentry *hidden_dentry;
return valid;
}
-static int unionfs_d_revalidate_wrap(struct dentry *dentry,
- struct nameidata *nd)
+static int unionfs_d_revalidate(struct dentry *dentry, struct nameidata *nd)
{
int err;
unionfs_lock_dentry(dentry);
- err = unionfs_d_revalidate(dentry, nd);
+ err = __unionfs_d_revalidate(dentry, nd);
unionfs_unlock_dentry(dentry);
return err;
}
struct dentry_operations unionfs_dops = {
- .d_revalidate = unionfs_d_revalidate_wrap,
+ .d_revalidate = unionfs_d_revalidate,
.d_release = unionfs_d_release,
};
int unionfs_unlink(struct inode *dir, struct dentry *dentry);
int unionfs_rmdir(struct inode *dir, struct dentry *dentry);
-int unionfs_d_revalidate(struct dentry *dentry, struct nameidata *nd);
+int __unionfs_d_revalidate(struct dentry *dentry, struct nameidata *nd);
/* The values for unionfs_interpose's flag. */
#define INTERPOSE_DEFAULT 0