mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
bcachefs: Fix struct with flex member ABI warning
This pops up when buliding in userspace. The structs aren't actually variable length, but no way to tell the compiler that... Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
9e260e4590
commit
62095464e9
2 changed files with 16 additions and 16 deletions
|
@ -631,17 +631,17 @@ static int accounting_read_key(struct btree_trans *trans, struct bkey_s_c k)
|
|||
}
|
||||
|
||||
static int bch2_disk_accounting_validate_late(struct btree_trans *trans,
|
||||
struct disk_accounting_pos acc,
|
||||
struct disk_accounting_pos *acc,
|
||||
u64 *v, unsigned nr)
|
||||
{
|
||||
struct bch_fs *c = trans->c;
|
||||
struct printbuf buf = PRINTBUF;
|
||||
int ret = 0, invalid_dev = -1;
|
||||
|
||||
switch (acc.type) {
|
||||
switch (acc->type) {
|
||||
case BCH_DISK_ACCOUNTING_replicas: {
|
||||
struct bch_replicas_padded r;
|
||||
__accounting_to_replicas(&r.e, &acc);
|
||||
__accounting_to_replicas(&r.e, acc);
|
||||
|
||||
for (unsigned i = 0; i < r.e.nr_devs; i++)
|
||||
if (r.e.devs[i] != BCH_SB_MEMBER_INVALID &&
|
||||
|
@ -660,7 +660,7 @@ static int bch2_disk_accounting_validate_late(struct btree_trans *trans,
|
|||
trans, accounting_replicas_not_marked,
|
||||
"accounting not marked in superblock replicas\n%s",
|
||||
(printbuf_reset(&buf),
|
||||
bch2_accounting_key_to_text(&buf, &acc),
|
||||
bch2_accounting_key_to_text(&buf, acc),
|
||||
buf.buf))) {
|
||||
/*
|
||||
* We're not RW yet and still single threaded, dropping
|
||||
|
@ -676,8 +676,8 @@ static int bch2_disk_accounting_validate_late(struct btree_trans *trans,
|
|||
}
|
||||
|
||||
case BCH_DISK_ACCOUNTING_dev_data_type:
|
||||
if (!bch2_dev_exists(c, acc.dev_data_type.dev)) {
|
||||
invalid_dev = acc.dev_data_type.dev;
|
||||
if (!bch2_dev_exists(c, acc->dev_data_type.dev)) {
|
||||
invalid_dev = acc->dev_data_type.dev;
|
||||
goto invalid_device;
|
||||
}
|
||||
break;
|
||||
|
@ -691,13 +691,13 @@ invalid_device:
|
|||
"accounting entry points to invalid device %i\n%s",
|
||||
invalid_dev,
|
||||
(printbuf_reset(&buf),
|
||||
bch2_accounting_key_to_text(&buf, &acc),
|
||||
bch2_accounting_key_to_text(&buf, acc),
|
||||
buf.buf))) {
|
||||
for (unsigned i = 0; i < nr; i++)
|
||||
v[i] = -v[i];
|
||||
|
||||
ret = commit_do(trans, NULL, NULL, 0,
|
||||
bch2_disk_accounting_mod(trans, &acc, v, nr, false)) ?:
|
||||
bch2_disk_accounting_mod(trans, acc, v, nr, false)) ?:
|
||||
-BCH_ERR_remove_disk_accounting_entry;
|
||||
} else {
|
||||
ret = -BCH_ERR_remove_disk_accounting_entry;
|
||||
|
@ -748,7 +748,7 @@ int bch2_accounting_read(struct bch_fs *c)
|
|||
if (acc_k.type >= BCH_DISK_ACCOUNTING_TYPE_NR)
|
||||
break;
|
||||
|
||||
if (!bch2_accounting_is_mem(acc_k)) {
|
||||
if (!bch2_accounting_is_mem(&acc_k)) {
|
||||
struct disk_accounting_pos next;
|
||||
memset(&next, 0, sizeof(next));
|
||||
next.type = acc_k.type + 1;
|
||||
|
@ -770,7 +770,7 @@ int bch2_accounting_read(struct bch_fs *c)
|
|||
struct disk_accounting_pos acc_k;
|
||||
bpos_to_disk_accounting_pos(&acc_k, i->k->k.p);
|
||||
|
||||
if (!bch2_accounting_is_mem(acc_k))
|
||||
if (!bch2_accounting_is_mem(&acc_k))
|
||||
continue;
|
||||
|
||||
struct bkey_s_c k = bkey_i_to_s_c(i->k);
|
||||
|
@ -826,7 +826,7 @@ int bch2_accounting_read(struct bch_fs *c)
|
|||
*/
|
||||
ret = bch2_is_zero(v, sizeof(v[0]) * i->nr_counters)
|
||||
? -BCH_ERR_remove_disk_accounting_entry
|
||||
: bch2_disk_accounting_validate_late(trans, acc_k, v, i->nr_counters);
|
||||
: bch2_disk_accounting_validate_late(trans, &acc_k, v, i->nr_counters);
|
||||
|
||||
if (ret == -BCH_ERR_remove_disk_accounting_entry) {
|
||||
free_percpu(i->v[0]);
|
||||
|
@ -939,7 +939,7 @@ void bch2_verify_accounting_clean(struct bch_fs *c)
|
|||
if (acc_k.type >= BCH_DISK_ACCOUNTING_TYPE_NR)
|
||||
break;
|
||||
|
||||
if (!bch2_accounting_is_mem(acc_k)) {
|
||||
if (!bch2_accounting_is_mem(&acc_k)) {
|
||||
struct disk_accounting_pos next;
|
||||
memset(&next, 0, sizeof(next));
|
||||
next.type = acc_k.type + 1;
|
||||
|
|
|
@ -139,10 +139,10 @@ int bch2_accounting_mem_insert(struct bch_fs *, struct bkey_s_c_accounting, enum
|
|||
int bch2_accounting_mem_insert_locked(struct bch_fs *, struct bkey_s_c_accounting, enum bch_accounting_mode);
|
||||
void bch2_accounting_mem_gc(struct bch_fs *);
|
||||
|
||||
static inline bool bch2_accounting_is_mem(struct disk_accounting_pos acc)
|
||||
static inline bool bch2_accounting_is_mem(struct disk_accounting_pos *acc)
|
||||
{
|
||||
return acc.type < BCH_DISK_ACCOUNTING_TYPE_NR &&
|
||||
acc.type != BCH_DISK_ACCOUNTING_inum;
|
||||
return acc->type < BCH_DISK_ACCOUNTING_TYPE_NR &&
|
||||
acc->type != BCH_DISK_ACCOUNTING_inum;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -163,7 +163,7 @@ static inline int bch2_accounting_mem_mod_locked(struct btree_trans *trans,
|
|||
if (gc && !acc->gc_running)
|
||||
return 0;
|
||||
|
||||
if (!bch2_accounting_is_mem(acc_k))
|
||||
if (!bch2_accounting_is_mem(&acc_k))
|
||||
return 0;
|
||||
|
||||
if (mode == BCH_ACCOUNTING_normal) {
|
||||
|
|
Loading…
Add table
Reference in a new issue