diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2025-08-18 11:47:26 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2025-08-18 11:47:26 -0400 |
commit | 53e144e93b4edfbf9bf25dd18623163cec8222d0 (patch) | |
tree | 3e0975a7319f9924e7668e1baefd9a0300516e97 /c_src | |
parent | 8c009da94eb3d06e38c5dca1af499881d317c6ee (diff) |
implement BCH_IOCTL_DISK_SET_STATE_v2
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'c_src')
-rw-r--r-- | c_src/libbcachefs.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/c_src/libbcachefs.h b/c_src/libbcachefs.h index e562d138..e86893aa 100644 --- a/c_src/libbcachefs.h +++ b/c_src/libbcachefs.h @@ -169,13 +169,18 @@ static inline void bchu_disk_offline(struct bchfs_handle fs, unsigned dev_idx, static inline void bchu_disk_set_state(struct bchfs_handle fs, unsigned dev, unsigned new_state, unsigned flags) { - struct bch_ioctl_disk_set_state i = { + char err[8192]; + struct bch_ioctl_disk_set_state_v2 i = { .flags = flags|BCH_BY_INDEX, .new_state = new_state, .dev = dev, + .err.msg_ptr = (unsigned long)err, + .err.msg_len = sizeof(err), }; - xioctl(fs.ioctl_fd, BCH_IOCTL_DISK_SET_STATE, &i); + int ret = ioctl(fs.ioctl_fd, BCH_IOCTL_DISK_SET_STATE_v2, &i); + if (ret < 0) + die("disk_set_state error:\n%s", err); } static inline struct bch_ioctl_fs_usage *bchu_fs_usage(struct bchfs_handle fs) |