summaryrefslogtreecommitdiff
path: root/c_src
diff options
context:
space:
mode:
Diffstat (limited to 'c_src')
-rw-r--r--c_src/libbcachefs.h9
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)