mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
![Theodore Ts'o](/assets/img/avatar_default.png)
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>
37 lines
677 B
C
37 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
|