Unionfs: use int in unionfs_d_revalidate
authorErez_Zadok <ezk@cs.sunysb.edu>
Fri, 16 Nov 2007 18:46:20 +0000 (13:46 -0500)
committerRachita Kothiyal <rachita@dewey.fsl.cs.sunysb.edu>
Thu, 1 May 2008 23:03:07 +0000 (19:03 -0400)
We have to use an int, even though unionfs_d_revalidate calls other routines
that return only true/false, b/c ->d_revalidate is allowed to return a
negative errno number.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/unionfs/dentry.c

index 0bebd97de849bf8bb21d7ba3735167fa6c147783..c0a0d5503efb2e856af5209b39a5e816114fa429 100644 (file)
@@ -427,19 +427,19 @@ out:
 
 static int unionfs_d_revalidate(struct dentry *dentry, struct nameidata *nd)
 {
-       bool valid;
+       int err;
 
        unionfs_read_lock(dentry->d_sb);
 
        unionfs_lock_dentry(dentry);
-       valid = __unionfs_d_revalidate_chain(dentry, nd, false);
+       err = __unionfs_d_revalidate_chain(dentry, nd, false);
        unionfs_unlock_dentry(dentry);
-       if (valid)
+       if (err > 0) /* true==1: dentry is valid */
                unionfs_check_dentry(dentry);
 
        unionfs_read_unlock(dentry->d_sb);
 
-       return valid;
+       return err;
 }
 
 /*