mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 20:06:46 +00:00 
			
		
		
		
	 9fd5746fd3
			
		
	
	
		9fd5746fd3
		
	
	
	
	
		
			
			The only user of the i_cindex element in the inode structure is used is by the firewire drivers. As part of an attempt to slim down the inode structure to save memory --- since a typical Linux system will have hundreds of thousands if not millions of inodes cached, a reduction in the size inode has high leverage. The firewire driver does not need i_cindex in any fast path, so it's simple enough to calculate when it is needed, instead of wasting space in the inode structure. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Cc: krh@redhat.com Cc: stefanr@s5r6.in-berlin.de Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
		
			
				
	
	
		
			38 lines
		
	
	
		
			677 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			677 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _LINUX_CDEV_H
 | |
| #define _LINUX_CDEV_H
 | |
| 
 | |
| #include <linux/kobject.h>
 | |
| #include <linux/kdev_t.h>
 | |
| #include <linux/list.h>
 | |
| 
 | |
| struct file_operations;
 | |
| struct inode;
 | |
| struct module;
 | |
| 
 | |
| struct cdev {
 | |
| 	struct kobject kobj;
 | |
| 	struct module *owner;
 | |
| 	const struct file_operations *ops;
 | |
| 	struct list_head list;
 | |
| 	dev_t dev;
 | |
| 	unsigned int count;
 | |
| };
 | |
| 
 | |
| void cdev_init(struct cdev *, const struct file_operations *);
 | |
| 
 | |
| struct cdev *cdev_alloc(void);
 | |
| 
 | |
| void cdev_put(struct cdev *p);
 | |
| 
 | |
| int cdev_add(struct cdev *, dev_t, unsigned);
 | |
| 
 | |
| void cdev_del(struct cdev *);
 | |
| 
 | |
| int cdev_index(struct inode *inode);
 | |
| 
 | |
| void cd_forget(struct inode *);
 | |
| 
 | |
| extern struct backing_dev_info directly_mappable_cdev_bdi;
 | |
| 
 | |
| #endif
 |