Commit | Line | Data |
---|---|---|
b7694961 DLM |
1 | /* |
2 | * Copyright (C) 2020 Western Digital Corporation or its affiliates. | |
3 | * | |
4 | * This file is released under the GPL. | |
5 | */ | |
6 | #ifndef FIO_BLKZONED_H | |
7 | #define FIO_BLKZONED_H | |
8 | ||
9 | #include "zbd_types.h" | |
10 | ||
11 | #ifdef CONFIG_HAS_BLKZONED | |
12 | extern int blkzoned_get_zoned_model(struct thread_data *td, | |
13 | struct fio_file *f, enum zbd_zoned_model *model); | |
14 | extern int blkzoned_report_zones(struct thread_data *td, | |
15 | struct fio_file *f, uint64_t offset, | |
16 | struct zbd_zone *zones, unsigned int nr_zones); | |
17 | extern int blkzoned_reset_wp(struct thread_data *td, struct fio_file *f, | |
18 | uint64_t offset, uint64_t length); | |
d2f442bc NC |
19 | extern int blkzoned_get_max_open_zones(struct thread_data *td, struct fio_file *f, |
20 | unsigned int *max_open_zones); | |
b7694961 DLM |
21 | #else |
22 | /* | |
23 | * Define stubs for systems that do not have zoned block device support. | |
24 | */ | |
25 | static inline int blkzoned_get_zoned_model(struct thread_data *td, | |
26 | struct fio_file *f, enum zbd_zoned_model *model) | |
27 | { | |
28 | /* | |
29 | * If this is a block device file, allow zbd emulation. | |
30 | */ | |
31 | if (f->filetype == FIO_TYPE_BLOCK) { | |
32 | *model = ZBD_NONE; | |
33 | return 0; | |
34 | } | |
35 | ||
36 | return -ENODEV; | |
37 | } | |
38 | static inline int blkzoned_report_zones(struct thread_data *td, | |
39 | struct fio_file *f, uint64_t offset, | |
40 | struct zbd_zone *zones, unsigned int nr_zones) | |
41 | { | |
42 | return -EIO; | |
43 | } | |
44 | static inline int blkzoned_reset_wp(struct thread_data *td, struct fio_file *f, | |
45 | uint64_t offset, uint64_t length) | |
46 | { | |
47 | return -EIO; | |
48 | } | |
d2f442bc NC |
49 | static inline int blkzoned_get_max_open_zones(struct thread_data *td, struct fio_file *f, |
50 | unsigned int *max_open_zones) | |
51 | { | |
52 | return -EIO; | |
53 | } | |
b7694961 DLM |
54 | #endif |
55 | ||
56 | #endif /* FIO_BLKZONED_H */ |