| Thomas Maier | 3269485 | 2006-12-08 02:36:12 -0800 | [diff] [blame] | 1 | What:           /sys/class/pktcdvd/ | 
 | 2 | Date:           Oct. 2006 | 
| Thomas Maier | 83f3aa3 | 2007-02-10 01:45:11 -0800 | [diff] [blame] | 3 | KernelVersion:  2.6.20 | 
| Thomas Maier | 3269485 | 2006-12-08 02:36:12 -0800 | [diff] [blame] | 4 | Contact:        Thomas Maier <balagi@justmail.de> | 
 | 5 | Description: | 
 | 6 |  | 
 | 7 | sysfs interface | 
 | 8 | --------------- | 
 | 9 |  | 
 | 10 | The pktcdvd module (packet writing driver) creates | 
 | 11 | these files in the sysfs: | 
 | 12 | (<devid> is in format  major:minor ) | 
 | 13 |  | 
 | 14 | /sys/class/pktcdvd/ | 
 | 15 |     add            (0200)  Write a block device id (major:minor) | 
 | 16 |                            to create a new pktcdvd device and map | 
 | 17 |                            it to the block device. | 
 | 18 |  | 
 | 19 |     remove         (0200)  Write the pktcdvd device id (major:minor) | 
 | 20 |                            to it to remove the pktcdvd device. | 
 | 21 |  | 
 | 22 |     device_map     (0444)  Shows the device mapping in format: | 
 | 23 |                              pktcdvd[0-7] <pktdevid> <blkdevid> | 
 | 24 |  | 
 | 25 | /sys/class/pktcdvd/pktcdvd[0-7]/ | 
 | 26 |     dev                   (0444) Device id | 
 | 27 |     uevent                (0200) To send an uevent. | 
 | 28 |  | 
 | 29 | /sys/class/pktcdvd/pktcdvd[0-7]/stat/ | 
 | 30 |     packets_started       (0444) Number of started packets. | 
 | 31 |     packets_finished      (0444) Number of finished packets. | 
 | 32 |  | 
 | 33 |     kb_written            (0444) kBytes written. | 
 | 34 |     kb_read               (0444) kBytes read. | 
 | 35 |     kb_read_gather        (0444) kBytes read to fill write packets. | 
 | 36 |  | 
 | 37 |     reset                 (0200) Write any value to it to reset | 
 | 38 |                                  pktcdvd device statistic values, like | 
 | 39 |                                  bytes read/written. | 
 | 40 |  | 
 | 41 | /sys/class/pktcdvd/pktcdvd[0-7]/write_queue/ | 
 | 42 |     size                  (0444) Contains the size of the bio write | 
 | 43 |                                  queue. | 
 | 44 |  | 
 | 45 |     congestion_off        (0644) If bio write queue size is below | 
 | 46 |                                  this mark, accept new bio requests | 
 | 47 |                                  from the block layer. | 
 | 48 |  | 
 | 49 |     congestion_on         (0644) If bio write queue size is higher | 
 | 50 |                                  as this mark, do no longer accept | 
 | 51 |                                  bio write requests from the block | 
 | 52 |                                  layer and wait till the pktcdvd | 
 | 53 |                                  device has processed enough bio's | 
 | 54 |                                  so that bio write queue size is | 
 | 55 |                                  below congestion off mark. | 
 | 56 |                                  A value of <= 0 disables congestion | 
 | 57 |                                  control. | 
 | 58 |  | 
 | 59 |  | 
 | 60 | Example: | 
 | 61 | -------- | 
 | 62 | To use the pktcdvd sysfs interface directly, you can do: | 
 | 63 |  | 
 | 64 | # create a new pktcdvd device mapped to /dev/hdc | 
 | 65 | echo "22:0" >/sys/class/pktcdvd/add | 
 | 66 | cat /sys/class/pktcdvd/device_map | 
 | 67 | # assuming device pktcdvd0 was created, look at stat's | 
 | 68 | cat /sys/class/pktcdvd/pktcdvd0/stat/kb_written | 
 | 69 | # print the device id of the mapped block device | 
 | 70 | fgrep pktcdvd0 /sys/class/pktcdvd/device_map | 
 | 71 | # remove device, using pktcdvd0 device id   253:0 | 
 | 72 | echo "253:0" >/sys/class/pktcdvd/remove |