summaryrefslogtreecommitdiff
path: root/c_src
diff options
context:
space:
mode:
Diffstat (limited to 'c_src')
-rw-r--r--c_src/cmd_format.c6
-rw-r--r--c_src/cmd_fsck.c2
-rw-r--r--c_src/cmd_migrate.c7
-rw-r--r--c_src/libbcachefs.c16
-rw-r--r--c_src/libbcachefs.h1
-rw-r--r--c_src/posix_to_bcachefs.c2
6 files changed, 17 insertions, 17 deletions
diff --git a/c_src/cmd_format.c b/c_src/cmd_format.c
index 2d900f1e..d8714888 100644
--- a/c_src/cmd_format.c
+++ b/c_src/cmd_format.c
@@ -207,9 +207,8 @@ int cmd_format(int argc, char *argv[])
force = true;
break;
case O_fs_size:
- if (bch2_strtoull_h(optarg, &dev_opts.opts.fs_size))
+ if (bch2_strtoull_h(optarg, &dev_opts.fs_size))
die("invalid filesystem size");
- dev_opts.opts.fs_size_defined = true;
unconsumed_dev_option = true;
break;
case O_superblock_size:
@@ -233,8 +232,7 @@ int cmd_format(int argc, char *argv[])
darray_push(&device_paths, optarg);
dev_opts.path = optarg;
darray_push(&devices, dev_opts);
- dev_opts.opts.fs_size = 0;
- dev_opts.opts.fs_size_defined = 0;
+ dev_opts.fs_size = 0;
unconsumed_dev_option = false;
break;
case O_quiet:
diff --git a/c_src/cmd_fsck.c b/c_src/cmd_fsck.c
index 3a33ca40..859ec731 100644
--- a/c_src/cmd_fsck.c
+++ b/c_src/cmd_fsck.c
@@ -326,7 +326,7 @@ kernel_fsck_err:
} else {
userland_fsck:
printf("Running userspace offline fsck\n");
- ret = bch2_parse_mount_opts(NULL, &opts, &parse_later, opts_str.buf);
+ ret = bch2_parse_mount_opts(NULL, &opts, &parse_later, opts_str.buf, false);
if (ret)
return ret;
diff --git a/c_src/cmd_migrate.c b/c_src/cmd_migrate.c
index a0328ca8..8155a2b3 100644
--- a/c_src/cmd_migrate.c
+++ b/c_src/cmd_migrate.c
@@ -228,9 +228,10 @@ static int migrate_fs(const char *fs_path,
printf("Creating new filesystem on %s in space reserved at %s\n",
dev->path, file_path);
- dev->opts.fs_size = get_size(dev->bdev->bd_fd);
- dev->opts.bucket_size = bch2_pick_bucket_size(fs_opts, devs);
- dev->nbuckets = dev->opts.fs_size / dev->opts.bucket_size;
+ dev->fs_size = get_size(dev->bdev->bd_fd);
+ opt_set(dev->opts, bucket_size, bch2_pick_bucket_size(fs_opts, devs));
+
+ dev->nbuckets = dev->fs_size / dev->opts.bucket_size;
bch2_check_bucket_size(fs_opts, dev);
diff --git a/c_src/libbcachefs.c b/c_src/libbcachefs.c
index 081a8176..0d19b411 100644
--- a/c_src/libbcachefs.c
+++ b/c_src/libbcachefs.c
@@ -78,13 +78,13 @@ u64 bch2_pick_bucket_size(struct bch_opts opts, dev_opts_list devs)
u64 min_dev_size = BCH_MIN_NR_NBUCKETS * bucket_size;
darray_for_each(devs, i)
- if (i->opts.fs_size < min_dev_size)
+ if (i->fs_size < min_dev_size)
die("cannot format %s, too small (%llu bytes, min %llu)",
- i->path, i->opts.fs_size, min_dev_size);
+ i->path, i->fs_size, min_dev_size);
u64 total_fs_size = 0;
darray_for_each(devs, i)
- total_fs_size += i->opts.fs_size;
+ total_fs_size += i->fs_size;
struct sysinfo info;
si_meminfo(&info);
@@ -181,8 +181,8 @@ struct bch_sb *bch2_format(struct bch_opt_strs fs_opt_strs,
/* get device size, if it wasn't specified: */
darray_for_each(devs, i)
- if (!opt_defined(i->opts, fs_size))
- opt_set(i->opts, fs_size, get_size(i->bdev->bd_fd));
+ if (!i->fs_size)
+ i->fs_size = get_size(i->bdev->bd_fd);
/* calculate bucket sizes: */
u64 fs_bucket_size = bch2_pick_bucket_size(fs_opts, devs);
@@ -190,10 +190,10 @@ struct bch_sb *bch2_format(struct bch_opt_strs fs_opt_strs,
darray_for_each(devs, i)
if (!opt_defined(i->opts, bucket_size))
opt_set(i->opts, bucket_size,
- min(fs_bucket_size, dev_max_bucket_size(i->opts.fs_size)));
+ min(fs_bucket_size, dev_max_bucket_size(i->fs_size)));
darray_for_each(devs, i) {
- i->nbuckets = i->opts.fs_size / i->opts.bucket_size;
+ i->nbuckets = i->fs_size / i->opts.bucket_size;
bch2_check_bucket_size(fs_opts, i);
}
@@ -292,7 +292,7 @@ struct bch_sb *bch2_format(struct bch_opt_strs fs_opt_strs,
bch2_sb_members_cpy_v2_v1(&sb);
darray_for_each(devs, i) {
- u64 size_sectors = i->opts.fs_size >> 9;
+ u64 size_sectors = i->fs_size >> 9;
sb.sb->dev_idx = i - devs.data;
diff --git a/c_src/libbcachefs.h b/c_src/libbcachefs.h
index 141a6e8f..619bbbd5 100644
--- a/c_src/libbcachefs.h
+++ b/c_src/libbcachefs.h
@@ -66,6 +66,7 @@ struct dev_opts {
u64 sb_end;
u64 nbuckets;
+ u64 fs_size;
const char *label; /* make this a bch_opt */
diff --git a/c_src/posix_to_bcachefs.c b/c_src/posix_to_bcachefs.c
index 63aa0937..72ea11b8 100644
--- a/c_src/posix_to_bcachefs.c
+++ b/c_src/posix_to_bcachefs.c
@@ -6,8 +6,8 @@
#include "posix_to_bcachefs.h"
#include "libbcachefs/alloc_foreground.h"
#include "libbcachefs/buckets.h"
-#include "libbcachefs/fs-common.h"
#include "libbcachefs/io_write.h"
+#include "libbcachefs/namei.h"
#include "libbcachefs/str_hash.h"
#include "libbcachefs/xattr.h"