vfs: fix check_acl compile error when CONFIG_FS_POSIX_ACL is not set
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2011 05:47:03 +0000 (22:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2011 05:47:03 +0000 (22:47 -0700)
Commit e77819e57f08 ("vfs: move ACL cache lookup into generic code")
didn't take the FS_POSIX_ACL config variable into account - when that is
not set, ACL's go away, and the cache helper functions do not exist,
causing compile errors like

  fs/namei.c: In function 'check_acl':
  fs/namei.c:191:10: error: implicit declaration of function 'negative_cached_acl'
  fs/namei.c:196:2: error: implicit declaration of function 'get_cached_acl'
  fs/namei.c:196:6: warning: assignment makes pointer from integer without a cast
  fs/namei.c:212:11: error: implicit declaration of function 'set_cached_acl'

Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/namei.c

index ef00b984fb20fe4dbbb023d927b93afdd3839905..f8c69d37379348973d2a12e055dbc6c61dc4cbf4 100644 (file)
@@ -176,6 +176,7 @@ EXPORT_SYMBOL(putname);
 
 static int check_acl(struct inode *inode, int mask)
 {
+#ifdef CONFIG_FS_POSIX_ACL
        struct posix_acl *acl;
 
        /*
@@ -219,6 +220,7 @@ static int check_acl(struct inode *inode, int mask)
                posix_acl_release(acl);
                return error;
        }
+#endif
 
        return -EAGAIN;
 }