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