On Tue, 27 Apr 2010, John Kacur wrote: > make O=/bld/2.6.33.3-rt16/ fs/ecryptfs/inode.o > Using /home/jkacur/jk-2.6 as source for kernel > GEN /bld/2.6.33.3-rt16/Makefile > CHK include/linux/version.h > CHK include/generated/utsrelease.h > CALL /home/jkacur/jk-2.6/scripts/checksyscalls.sh > CC [M] fs/ecryptfs/inode.o > /home/jkacur/jk-2.6/fs/ecryptfs/inode.c: In function > ʽecryptfs_lookup_and_interpose_lowerʼ: > /home/jkacur/jk-2.6/fs/ecryptfs/inode.c:266: error: wrong type argument to > unary exclamation mark > make[2]: *** [fs/ecryptfs/inode.o] Error 1 > make[1]: *** [fs/ecryptfs/inode.o] Error 2 > make: *** [sub-make] Error 2 > > The above comes from: > commit 5c0eb5cec064ce26ffcd0cdd684c9b6dd7c9074e > Author: Nick Piggin <npiggin@xxxxxxx> > Date: Fri Jan 29 15:38:21 2010 -0800 Half the truth :) It got not fixed up in a later patch which made d_count atomic_t again. Fix below. Thanks, tglx --- diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 2fb8fd1..23dc2af 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c @@ -263,7 +263,7 @@ int ecryptfs_lookup_and_interpose_lower(struct dentry *ecryptfs_dentry, ecryptfs_dentry->d_parent)); lower_inode = lower_dentry->d_inode; fsstack_copy_attr_atime(ecryptfs_dir_inode, lower_dir_dentry->d_inode); - BUG_ON(!lower_dentry->d_count); + BUG_ON(!atomic_read(&lower_dentry->d_count)); ecryptfs_set_dentry_private(ecryptfs_dentry, kmem_cache_alloc(ecryptfs_dentry_info_cache, GFP_KERNEL));