diff --git a/fs/incfs/data_mgmt.h b/fs/incfs/data_mgmt.h index a3e4387bc613..7e80833ab42a 100644 --- a/fs/incfs/data_mgmt.h +++ b/fs/incfs/data_mgmt.h @@ -427,7 +427,7 @@ static inline struct inode_info *get_incfs_node(struct inode *inode) if (!inode) return NULL; - if (inode->i_sb->s_magic != (long) INCFS_MAGIC_NUMBER) { + if (inode->i_sb->s_magic != INCFS_MAGIC_NUMBER) { /* This inode doesn't belong to us. */ pr_warn_once("incfs: %s on an alien inode.", __func__); return NULL; diff --git a/include/uapi/linux/incrementalfs.h b/include/uapi/linux/incrementalfs.h index 6e157c603607..e22094b3ce85 100644 --- a/include/uapi/linux/incrementalfs.h +++ b/include/uapi/linux/incrementalfs.h @@ -18,7 +18,14 @@ /* ===== constants ===== */ #define INCFS_NAME "incremental-fs" -#define INCFS_MAGIC_NUMBER (unsigned long)(0x5346434e49ul) + +/* + * Magic number used in file header and in memory superblock + * Note that it is a 5 byte unsigned long. Thus on 32 bit kernels, it is + * truncated to a 4 byte number + */ +#define INCFS_MAGIC_NUMBER (0x5346434e49ul & ULONG_MAX) + #define INCFS_DATA_FILE_BLOCK_SIZE 4096 #define INCFS_HEADER_VER 1