Merge branch 'for-2.6.39/core' of git://git.kernel.dk/linux-2.6-block
[pandora-kernel.git] / include / linux / nilfs2_fs.h
index fdcd1bc..8768c46 100644 (file)
@@ -40,6 +40,7 @@
 
 #include <linux/types.h>
 #include <linux/ioctl.h>
+#include <linux/magic.h>
 
 
 #define NILFS_INODE_BMAP_SIZE  7
@@ -216,8 +217,10 @@ struct nilfs_super_block {
  * If there is a bit set in the incompatible feature set that the kernel
  * doesn't know about, it should refuse to mount the filesystem.
  */
+#define NILFS_FEATURE_COMPAT_RO_BLOCK_COUNT    0x00000001ULL
+
 #define NILFS_FEATURE_COMPAT_SUPP      0ULL
-#define NILFS_FEATURE_COMPAT_RO_SUPP   0ULL
+#define NILFS_FEATURE_COMPAT_RO_SUPP   NILFS_FEATURE_COMPAT_RO_BLOCK_COUNT
 #define NILFS_FEATURE_INCOMPAT_SUPP    0ULL
 
 /*
@@ -240,7 +243,6 @@ struct nilfs_super_block {
 #define NILFS_USER_INO         11      /* Fisrt user's file inode number */
 
 #define NILFS_SB_OFFSET_BYTES  1024    /* byte offset of nilfs superblock */
-#define NILFS_SUPER_MAGIC      0x3434  /* NILFS filesystem  magic number */
 
 #define NILFS_SEG_MIN_BLOCKS   16      /* Minimum number of blocks in
                                           a full segment */
@@ -326,17 +328,21 @@ static inline unsigned nilfs_rec_len_from_disk(__le16 dlen)
 {
        unsigned len = le16_to_cpu(dlen);
 
+#if !defined(__KERNEL__) || (PAGE_CACHE_SIZE >= 65536)
        if (len == NILFS_MAX_REC_LEN)
                return 1 << 16;
+#endif
        return len;
 }
 
 static inline __le16 nilfs_rec_len_to_disk(unsigned len)
 {
+#if !defined(__KERNEL__) || (PAGE_CACHE_SIZE >= 65536)
        if (len == (1 << 16))
                return cpu_to_le16(NILFS_MAX_REC_LEN);
        else if (len > (1 << 16))
                BUG();
+#endif
        return cpu_to_le16(len);
 }
 
@@ -505,7 +511,7 @@ struct nilfs_checkpoint {
        __le64 cp_create;
        __le64 cp_nblk_inc;
        __le64 cp_inodes_count;
-       __le64 cp_blocks_count;         /* Reserved (might be deleted) */
+       __le64 cp_blocks_count;
 
        /* Do not change the byte offset of ifile inode.
           To keep the compatibility of the disk format,