mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-01-22 00:04:31 +03:00
51 lines
905 B
C
51 lines
905 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _BCACHEFS_MOVE_TYPES_H
|
|
#define _BCACHEFS_MOVE_TYPES_H
|
|
|
|
#include "bbpos_types.h"
|
|
#include "bcachefs_ioctl.h"
|
|
|
|
struct bch_move_stats {
|
|
char name[32];
|
|
bool phys;
|
|
enum bch_ioctl_data_event_ret ret;
|
|
|
|
union {
|
|
struct {
|
|
enum bch_data_type data_type;
|
|
struct bbpos pos;
|
|
};
|
|
struct {
|
|
unsigned dev;
|
|
u64 offset;
|
|
};
|
|
};
|
|
|
|
atomic64_t keys_moved;
|
|
atomic64_t keys_raced;
|
|
atomic64_t sectors_seen;
|
|
atomic64_t sectors_moved;
|
|
atomic64_t sectors_raced;
|
|
atomic64_t sectors_error_corrected;
|
|
atomic64_t sectors_error_uncorrected;
|
|
};
|
|
|
|
struct move_bucket_key {
|
|
struct bpos bucket;
|
|
u8 gen;
|
|
};
|
|
|
|
struct move_bucket {
|
|
struct move_bucket_key k;
|
|
unsigned sectors;
|
|
};
|
|
|
|
struct move_bucket_in_flight {
|
|
struct move_bucket_in_flight *next;
|
|
struct rhash_head hash;
|
|
struct move_bucket bucket;
|
|
atomic_t count;
|
|
};
|
|
|
|
#endif /* _BCACHEFS_MOVE_TYPES_H */
|