4b83e99ee7
This reverts commit f40eb99897
.
There are apparently still users out there of this driver. While we'd
love to remove it to ease the maintenance burden, let's reinstate it
for now until better (userspace) solutions can be developed.
Link: https://lore.kernel.org/lkml/20230104190115.ceglfefco475ev6c@pali/
Reported-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
98 lines
3.2 KiB
Plaintext
98 lines
3.2 KiB
Plaintext
sysfs interface
|
|
---------------
|
|
The pktcdvd module (packet writing driver) creates the following files in the
|
|
sysfs: (<devid> is in the format major:minor)
|
|
|
|
What: /sys/class/pktcdvd/add
|
|
What: /sys/class/pktcdvd/remove
|
|
What: /sys/class/pktcdvd/device_map
|
|
Date: Oct. 2006
|
|
KernelVersion: 2.6.20
|
|
Contact: Thomas Maier <balagi@justmail.de>
|
|
Description:
|
|
|
|
========== ==============================================
|
|
add (WO) Write a block device id (major:minor) to
|
|
create a new pktcdvd device and map it to the
|
|
block device.
|
|
|
|
remove (WO) Write the pktcdvd device id (major:minor)
|
|
to remove the pktcdvd device.
|
|
|
|
device_map (RO) Shows the device mapping in format:
|
|
pktcdvd[0-7] <pktdevid> <blkdevid>
|
|
========== ==============================================
|
|
|
|
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/dev
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/uevent
|
|
Date: Oct. 2006
|
|
KernelVersion: 2.6.20
|
|
Contact: Thomas Maier <balagi@justmail.de>
|
|
Description:
|
|
dev: (RO) Device id
|
|
|
|
uevent: (WO) To send a uevent
|
|
|
|
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/packets_started
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/packets_finished
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_written
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_read
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/kb_read_gather
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/stat/reset
|
|
Date: Oct. 2006
|
|
KernelVersion: 2.6.20
|
|
Contact: Thomas Maier <balagi@justmail.de>
|
|
Description:
|
|
packets_started: (RO) Number of started packets.
|
|
|
|
packets_finished: (RO) Number of finished packets.
|
|
|
|
kb_written: (RO) kBytes written.
|
|
|
|
kb_read: (RO) kBytes read.
|
|
|
|
kb_read_gather: (RO) kBytes read to fill write packets.
|
|
|
|
reset: (WO) Write any value to it to reset
|
|
pktcdvd device statistic values, like
|
|
bytes read/written.
|
|
|
|
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/write_queue/size
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/write_queue/congestion_off
|
|
What: /sys/class/pktcdvd/pktcdvd[0-7]/write_queue/congestion_on
|
|
Date: Oct. 2006
|
|
KernelVersion: 2.6.20
|
|
Contact: Thomas Maier <balagi@justmail.de>
|
|
Description:
|
|
============== ================================================
|
|
size (RO) Contains the size of the bio write queue.
|
|
|
|
congestion_off (RW) If bio write queue size is below this mark,
|
|
accept new bio requests from the block layer.
|
|
|
|
congestion_on (RW) If bio write queue size is higher as this
|
|
mark, do no longer accept bio write requests
|
|
from the block layer and wait till the pktcdvd
|
|
device has processed enough bio's so that bio
|
|
write queue size is below congestion off mark.
|
|
A value of <= 0 disables congestion control.
|
|
============== ================================================
|
|
|
|
|
|
Example:
|
|
--------
|
|
To use the pktcdvd sysfs interface directly, you can do::
|
|
|
|
# create a new pktcdvd device mapped to /dev/hdc
|
|
echo "22:0" >/sys/class/pktcdvd/add
|
|
cat /sys/class/pktcdvd/device_map
|
|
# assuming device pktcdvd0 was created, look at stat's
|
|
cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written
|
|
# print the device id of the mapped block device
|
|
fgrep pktcdvd0 /sys/class/pktcdvd/device_map
|
|
# remove device, using pktcdvd0 device id 253:0
|
|
echo "253:0" >/sys/class/pktcdvd/remove
|