| 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 |