Fix a problem with the 3.3 kernel headers. Specifically, the umode_t type is defined within a __KERNEL__ preprocessor ifdef region, and so the type is not usable by non-kernel code. Visit the following URL for more details. * http://www.spinics.net/lists/linux-fsdevel/msg52638.html The commit that created the problem can be seen at the following URL. * http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdiff;h=0583fcc96bb117763c0fa74c123573c0112dec65 diff -Nur a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h --- a/include/linux/ext2_fs.h 2012-03-18 23:15:34.000000000 +0000 +++ b/include/linux/ext2_fs.h 2012-03-21 11:47:53.015548437 +0000 @@ -209,7 +209,7 @@ #define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL) /* Mask out flags that are inappropriate for the given type of inode. */ -static inline __u32 ext2_mask_flags(umode_t mode, __u32 flags) +static inline __u32 ext2_mask_flags(unsigned short mode, __u32 flags) { if (S_ISDIR(mode)) return flags;