diff options
Diffstat (limited to 'fs/btrfs/ioctl.h')
| -rw-r--r-- | fs/btrfs/ioctl.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/fs/btrfs/ioctl.h b/fs/btrfs/ioctl.h index 086e6bdae1c4..497c530724cf 100644 --- a/fs/btrfs/ioctl.h +++ b/fs/btrfs/ioctl.h | |||
| @@ -266,6 +266,35 @@ struct btrfs_ioctl_logical_ino_args { | |||
| 266 | __u64 inodes; | 266 | __u64 inodes; |
| 267 | }; | 267 | }; |
| 268 | 268 | ||
| 269 | enum btrfs_dev_stat_values { | ||
| 270 | /* disk I/O failure stats */ | ||
| 271 | BTRFS_DEV_STAT_WRITE_ERRS, /* EIO or EREMOTEIO from lower layers */ | ||
| 272 | BTRFS_DEV_STAT_READ_ERRS, /* EIO or EREMOTEIO from lower layers */ | ||
| 273 | BTRFS_DEV_STAT_FLUSH_ERRS, /* EIO or EREMOTEIO from lower layers */ | ||
| 274 | |||
| 275 | /* stats for indirect indications for I/O failures */ | ||
| 276 | BTRFS_DEV_STAT_CORRUPTION_ERRS, /* checksum error, bytenr error or | ||
| 277 | * contents is illegal: this is an | ||
| 278 | * indication that the block was damaged | ||
| 279 | * during read or write, or written to | ||
| 280 | * wrong location or read from wrong | ||
| 281 | * location */ | ||
| 282 | BTRFS_DEV_STAT_GENERATION_ERRS, /* an indication that blocks have not | ||
| 283 | * been written */ | ||
| 284 | |||
| 285 | BTRFS_DEV_STAT_VALUES_MAX | ||
| 286 | }; | ||
| 287 | |||
| 288 | struct btrfs_ioctl_get_dev_stats { | ||
| 289 | __u64 devid; /* in */ | ||
| 290 | __u64 nr_items; /* in/out */ | ||
| 291 | |||
| 292 | /* out values: */ | ||
| 293 | __u64 values[BTRFS_DEV_STAT_VALUES_MAX]; | ||
| 294 | |||
| 295 | __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; /* pad to 1k */ | ||
| 296 | }; | ||
| 297 | |||
| 269 | #define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \ | 298 | #define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \ |
| 270 | struct btrfs_ioctl_vol_args) | 299 | struct btrfs_ioctl_vol_args) |
| 271 | #define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \ | 300 | #define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \ |
| @@ -330,5 +359,9 @@ struct btrfs_ioctl_logical_ino_args { | |||
| 330 | struct btrfs_ioctl_ino_path_args) | 359 | struct btrfs_ioctl_ino_path_args) |
| 331 | #define BTRFS_IOC_LOGICAL_INO _IOWR(BTRFS_IOCTL_MAGIC, 36, \ | 360 | #define BTRFS_IOC_LOGICAL_INO _IOWR(BTRFS_IOCTL_MAGIC, 36, \ |
| 332 | struct btrfs_ioctl_ino_path_args) | 361 | struct btrfs_ioctl_ino_path_args) |
| 362 | #define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \ | ||
| 363 | struct btrfs_ioctl_get_dev_stats) | ||
| 364 | #define BTRFS_IOC_GET_AND_RESET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 53, \ | ||
| 365 | struct btrfs_ioctl_get_dev_stats) | ||
| 333 | 366 | ||
| 334 | #endif | 367 | #endif |
