summaryrefslogtreecommitdiff
path: root/c_src/libbcachefs.h
diff options
context:
space:
mode:
Diffstat (limited to 'c_src/libbcachefs.h')
-rw-r--r--c_src/libbcachefs.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/c_src/libbcachefs.h b/c_src/libbcachefs.h
index 619bbbd5..93a86db7 100644
--- a/c_src/libbcachefs.h
+++ b/c_src/libbcachefs.h
@@ -45,14 +45,18 @@ struct format_opts {
char *source;
};
-static inline struct format_opts format_opts_default()
+static inline unsigned bcachefs_kernel_version(void)
{
- unsigned version = !access( "/sys/module/bcachefs/parameters/version", R_OK)
+ return !access("/sys/module/bcachefs/parameters/version", R_OK)
? read_file_u64(AT_FDCWD, "/sys/module/bcachefs/parameters/version")
- : bcachefs_metadata_version_current;
+ : 0;
+}
+static inline struct format_opts format_opts_default()
+{
return (struct format_opts) {
- .version = version,
+ .version = bcachefs_kernel_version() ?:
+ bcachefs_metadata_version_current,
.superblock_size = SUPERBLOCK_SIZE_DEFAULT,
};
}