block: rbd: update sysfs interface

The existing sysfs interface has been updated to be in the same format
as described in Documentation/ABI/README. This will be useful for
scripting and tracking changes in the ABI. Attributes have been grouped
by functionality and/or the date on which they were added.

There are a couple of more changes:
- The attributes have been annotated with file permissions RO/RW/WO.
- Added description of the bus attribute supported_features

Signed-off-by: Aishwarya Pant <aishpant@gmail.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Aishwarya Pant 2018-02-23 15:49:59 +05:30 коммит произвёл Jonathan Corbet
Родитель 3b7ea9f015
Коммит bd15134a73
1 изменённых файлов: 120 добавлений и 79 удалений

Просмотреть файл

@ -1,121 +1,162 @@
What: /sys/bus/rbd/ What: /sys/bus/rbd/add
Date: November 2010 Date: Oct, 2010
Contact: Yehuda Sadeh <yehuda@newdream.net>, KernelVersion: v2.6.37
Sage Weil <sage@newdream.net> Contact: Sage Weil <sage@newdream.net>
Description: Description:
(WO) Add rbd block device.
Being used for adding and removing rbd block devices. Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>]
Usage: <mon ip addr> <options> <pool name> <rbd image name> [<snap name>] $ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add
$ echo "192.168.0.1 name=admin rbd foo" > /sys/bus/rbd/add The snapshot name can be "-" or omitted to map the image
read/write. A <dev-id> will be assigned for any registered block
device. If snapshot is used, it will be mapped read-only.
The snapshot name can be "-" or omitted to map the image read/write. A <dev-id>
will be assigned for any registered block device. If snapshot is used, it will
be mapped read-only.
Usage: <dev-id> [force] What: /sys/bus/rbd/remove
Date: Oct, 2010
KernelVersion: v2.6.37
Contact: Sage Weil <sage@newdream.net>
Description:
(WO) Remove rbd block device.
$ echo 2 > /sys/bus/rbd/remove Usage: <dev-id> [force]
$ echo 2 > /sys/bus/rbd/remove
Optional "force" argument which when passed will wait for
running requests and then unmap the image. Requests sent to the
driver after initiating the removal will be failed. (August
2016, since 4.9.)
Optional "force" argument which when passed will wait for running requests and
then unmap the image. Requests sent to the driver after initiating the removal
will be failed. (August 2016, since 4.9.)
What: /sys/bus/rbd/add_single_major What: /sys/bus/rbd/add_single_major
Date: December 2013 Date: Dec, 2013
KernelVersion: 3.14 KernelVersion: v3.14
Contact: Sage Weil <sage@inktank.com> Contact: Sage Weil <sage@newdream.net>
Description: Available only if rbd module is inserted with single_major Description:
(WO) Available only if rbd module is inserted with single_major
parameter set to true. parameter set to true.
Usage is the same as for /sys/bus/rbd/add. If present,
Usage is the same as for /sys/bus/rbd/add. If present, this
should be used instead of the latter: any attempts to use should be used instead of the latter: any attempts to use
/sys/bus/rbd/add if /sys/bus/rbd/add_single_major is /sys/bus/rbd/add if /sys/bus/rbd/add_single_major is available
available will fail for backwards compatibility reasons. will fail for backwards compatibility reasons.
What: /sys/bus/rbd/remove_single_major What: /sys/bus/rbd/remove_single_major
Date: December 2013 Date: Dec, 2013
KernelVersion: 3.14 KernelVersion: v3.14
Contact: Sage Weil <sage@inktank.com> Contact: Sage Weil <sage@newdream.net>
Description: Available only if rbd module is inserted with single_major Description:
(WO) Available only if rbd module is inserted with single_major
parameter set to true. parameter set to true.
Usage is the same as for /sys/bus/rbd/remove. If present,
Usage is the same as for /sys/bus/rbd/remove. If present, this
should be used instead of the latter: any attempts to use should be used instead of the latter: any attempts to use
/sys/bus/rbd/remove if /sys/bus/rbd/remove_single_major is /sys/bus/rbd/remove if /sys/bus/rbd/remove_single_major is
available will fail for backwards compatibility reasons. available will fail for backwards compatibility reasons.
Entries under /sys/bus/rbd/devices/<dev-id>/
--------------------------------------------
client_addr What: /sys/bus/rbd/supported_features
Date: Mar, 2017
KernelVersion: v4.11
Contact: Sage Weil <sage@newdream.net>
Description:
(RO) Displays the features supported by the rbd module so that
userspace can generate meaningful error messages and spell out
unsupported features that need to be disabled.
The ceph unique client entity_addr_t (address + nonce).
The format is <address>:<port>/<nonce>: '1.2.3.4:1234/5678' or
'[1:2:3:4:5:6:7:8]:1234/5678'. (August 2016, since 4.9.)
client_id What: /sys/bus/rbd/devices/<dev-id>/size
What: /sys/bus/rbd/devices/<dev-id>/major
What: /sys/bus/rbd/devices/<dev-id>/client_id
What: /sys/bus/rbd/devices/<dev-id>/pool
What: /sys/bus/rbd/devices/<dev-id>/name
What: /sys/bus/rbd/devices/<dev-id>/refresh
What: /sys/bus/rbd/devices/<dev-id>/current_snap
Date: Oct, 2010
KernelVersion: v2.6.37
Contact: Sage Weil <sage@newdream.net>
Description:
size: (RO) The size (in bytes) of the mapped block
device.
The ceph unique client id that was assigned for this specific session. major: (RO) The block device major number.
cluster_fsid client_id: (RO) The ceph unique client id that was assigned
for this specific session.
The ceph cluster UUID. (August 2016, since 4.9.) pool: (RO) The name of the storage pool where this rbd
image resides. An rbd image name is unique
within its pool.
config_info name: (RO) The name of the rbd image.
The string written into /sys/bus/rbd/add{,_single_major}. (August refresh: (WO) Writing to this file will reread the image
2016, since 4.9.) header data and set all relevant data structures
accordingly.
features current_snap: (RO) The current snapshot for which the device
is mapped.
A hexadecimal encoding of the feature bits for this image.
major What: /sys/bus/rbd/devices/<dev-id>/pool_id
Date: Jul, 2012
KernelVersion: v3.6
Contact: Sage Weil <sage@newdream.net>
Description:
(RO) The unique identifier for the rbd image's pool. This is a
permanent attribute of the pool. A pool's id will never change.
The block device major number.
minor What: /sys/bus/rbd/devices/<dev-id>/image_id
What: /sys/bus/rbd/devices/<dev-id>/features
Date: Oct, 2012
KernelVersion: v3.7
Contact: Sage Weil <sage@newdream.net>
Description:
image_id: (RO) The unique id for the rbd image. (For rbd
image format 1 this is empty.)
The block device minor number. (December 2013, since 3.14.) features: (RO) A hexadecimal encoding of the feature bits
for this image.
name
The name of the rbd image. What: /sys/bus/rbd/devices/<dev-id>/parent
Date: Nov, 2012
KernelVersion: v3.8
Contact: Sage Weil <sage@newdream.net>
Description:
(RO) Information identifying the chain of parent images in a
layered rbd image. Entries are separated by empty lines.
image_id
The unique id for the rbd image. (For rbd image format 1 What: /sys/bus/rbd/devices/<dev-id>/minor
this is empty.) Date: Dec, 2013
KernelVersion: v3.14
Contact: Sage Weil <sage@newdream.net>
Description:
(RO) The block device minor number.
pool
The name of the storage pool where this rbd image resides. What: /sys/bus/rbd/devices/<dev-id>/snap_id
An rbd image name is unique within its pool. What: /sys/bus/rbd/devices/<dev-id>/config_info
What: /sys/bus/rbd/devices/<dev-id>/cluster_fsid
What: /sys/bus/rbd/devices/<dev-id>/client_addr
Date: Aug, 2016
KernelVersion: v4.9
Contact: Sage Weil <sage@newdream.net>
Description:
snap_id: (RO) The current snapshot's id.
pool_id config_info: (RO) The string written into
/sys/bus/rbd/add{,_single_major}.
The unique identifier for the rbd image's pool. This is cluster_fsid: (RO) The ceph cluster UUID.
a permanent attribute of the pool. A pool's id will never
change.
size client_addr: (RO) The ceph unique client
entity_addr_t (address + nonce). The format is
The size (in bytes) of the mapped block device. <address>:<port>/<nonce>: '1.2.3.4:1234/5678' or
'[1:2:3:4:5:6:7:8]:1234/5678'.
refresh
Writing to this file will reread the image header data and set
all relevant datastructures accordingly.
current_snap
The current snapshot for which the device is mapped.
snap_id
The current snapshot's id. (August 2016, since 4.9.)
parent
Information identifying the chain of parent images in a layered rbd
image. Entries are separated by empty lines.