Fuse allocates a separate bdi for each filesystem, and registers them in sysfs with "MAJOR:MINOR" of sb->s_dev (st_dev). This works fine for anon devices normally used by fuse, but can conflict with an already registered BDI for "fuseblk" filesystems, where sb->s_dev represents a real block device. In particularl this happens if a non-partitioned device is being mounted. Fix by registering with a different name for "fuseblk" filesystems. Thanks to Ioan Ionita for the bug report. Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> Reported-by: Ioan Ionita <opslynx@gmail.com> Tested-by: Ioan Ionita <opslynx@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| What:		/sys/class/bdi/<bdi>/
 | |
| Date:		January 2008
 | |
| Contact:	Peter Zijlstra <a.p.zijlstra@chello.nl>
 | |
| Description:
 | |
| 
 | |
| Provide a place in sysfs for the backing_dev_info object.  This allows
 | |
| setting and retrieving various BDI specific variables.
 | |
| 
 | |
| The <bdi> identifier can be either of the following:
 | |
| 
 | |
| MAJOR:MINOR
 | |
| 
 | |
| 	Device number for block devices, or value of st_dev on
 | |
| 	non-block filesystems which provide their own BDI, such as NFS
 | |
| 	and FUSE.
 | |
| 
 | |
| MAJOR:MINOR-fuseblk
 | |
| 
 | |
| 	Value of st_dev on fuseblk filesystems.
 | |
| 
 | |
| default
 | |
| 
 | |
| 	The default backing dev, used for non-block device backed
 | |
| 	filesystems which do not provide their own BDI.
 | |
| 
 | |
| Files under /sys/class/bdi/<bdi>/
 | |
| ---------------------------------
 | |
| 
 | |
| read_ahead_kb (read-write)
 | |
| 
 | |
| 	Size of the read-ahead window in kilobytes
 | |
| 
 | |
| min_ratio (read-write)
 | |
| 
 | |
| 	Under normal circumstances each device is given a part of the
 | |
| 	total write-back cache that relates to its current average
 | |
| 	writeout speed in relation to the other devices.
 | |
| 
 | |
| 	The 'min_ratio' parameter allows assigning a minimum
 | |
| 	percentage of the write-back cache to a particular device.
 | |
| 	For example, this is useful for providing a minimum QoS.
 | |
| 
 | |
| max_ratio (read-write)
 | |
| 
 | |
| 	Allows limiting a particular device to use not more than the
 | |
| 	given percentage of the write-back cache.  This is useful in
 | |
| 	situations where we want to avoid one device taking all or
 | |
| 	most of the write-back cache.  For example in case of an NFS
 | |
| 	mount that is prone to get stuck, or a FUSE mount which cannot
 | |
| 	be trusted to play fair.
 |