]> git.proxmox.com Git - ceph.git/blob - ceph/src/common/blkdev.h
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / common / blkdev.h
1 #ifndef __CEPH_COMMON_BLKDEV_H
2 #define __CEPH_COMMON_BLKDEV_H
3
4 /* for testing purposes */
5 extern void set_block_device_sandbox_dir(const char *dir);
6
7 // from a path (e.g., "/dev/sdb")
8 extern int get_block_device_base(const char *path, char *devname, size_t len);
9
10 // from an fd
11 extern int block_device_discard(int fd, int64_t offset, int64_t len);
12 extern int get_block_device_size(int fd, int64_t *psize);
13 extern int get_device_by_fd(int fd, char* partition, char* device, size_t max);
14
15 // from a uuid
16 extern int get_device_by_uuid(uuid_d dev_uuid, const char* label,
17 char* partition, char* device);
18
19 // from a device (e.g., "sdb")
20 extern int64_t get_block_device_int_property(
21 const char *devname, const char *property);
22 extern int64_t get_block_device_string_property(
23 const char *devname, const char *property,
24 char *val, size_t maxlen);
25 extern bool block_device_support_discard(const char *devname);
26 extern bool block_device_is_rotational(const char *devname);
27 extern int block_device_model(const char *devname, char *model, size_t max);
28
29 #endif