aboutsummaryrefslogtreecommitdiff
path: root/fs/btrfs/messages.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/messages.h')
-rw-r--r--fs/btrfs/messages.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/fs/btrfs/messages.h b/fs/btrfs/messages.h
index 3772358f8d30..5ac410e313e4 100644
--- a/fs/btrfs/messages.h
+++ b/fs/btrfs/messages.h
@@ -229,4 +229,17 @@ do { \
BUG(); \
} while (0)
+#if BITS_PER_LONG == 32
+#define BTRFS_32BIT_MAX_FILE_SIZE (((u64)ULONG_MAX + 1) << PAGE_SHIFT)
+/*
+ * The warning threshold is 5/8th of the MAX_LFS_FILESIZE that limits the logical
+ * addresses of extents.
+ *
+ * For 4K page size it's about 10T, for 64K it's 160T.
+ */
+#define BTRFS_32BIT_EARLY_WARN_THRESHOLD (BTRFS_32BIT_MAX_FILE_SIZE * 5 / 8)
+void btrfs_warn_32bit_limit(struct btrfs_fs_info *fs_info);
+void btrfs_err_32bit_limit(struct btrfs_fs_info *fs_info);
+#endif
+
#endif