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 |