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
 |