diff options
author | Theodore Ts'o <tytso@mit.edu> | 2009-05-21 16:01:00 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-06-11 21:36:09 -0400 |
commit | 9fd5746fd3d7838bf6ff991d50f1257057d1156f (patch) | |
tree | e0afe14ea9415b0e54c40703bb44acfec100a4b3 /drivers/ieee1394/dv1394.c | |
parent | ebc1ac164560a241d9bf1b7519062910c3f90a01 (diff) |
fs: Remove i_cindex from struct inode
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>
Diffstat (limited to 'drivers/ieee1394/dv1394.c')
-rw-r--r-- | drivers/ieee1394/dv1394.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ieee1394/dv1394.c b/drivers/ieee1394/dv1394.c index 823a6297a1af..2cd00b5b45b4 100644 --- a/drivers/ieee1394/dv1394.c +++ b/drivers/ieee1394/dv1394.c | |||
@@ -1789,12 +1789,13 @@ static int dv1394_open(struct inode *inode, struct file *file) | |||
1789 | } else { | 1789 | } else { |
1790 | /* look up the card by ID */ | 1790 | /* look up the card by ID */ |
1791 | unsigned long flags; | 1791 | unsigned long flags; |
1792 | int idx = ieee1394_file_to_instance(file); | ||
1792 | 1793 | ||
1793 | spin_lock_irqsave(&dv1394_cards_lock, flags); | 1794 | spin_lock_irqsave(&dv1394_cards_lock, flags); |
1794 | if (!list_empty(&dv1394_cards)) { | 1795 | if (!list_empty(&dv1394_cards)) { |
1795 | struct video_card *p; | 1796 | struct video_card *p; |
1796 | list_for_each_entry(p, &dv1394_cards, list) { | 1797 | list_for_each_entry(p, &dv1394_cards, list) { |
1797 | if ((p->id) == ieee1394_file_to_instance(file)) { | 1798 | if ((p->id) == idx) { |
1798 | video = p; | 1799 | video = p; |
1799 | break; | 1800 | break; |
1800 | } | 1801 | } |
@@ -1803,7 +1804,7 @@ static int dv1394_open(struct inode *inode, struct file *file) | |||
1803 | spin_unlock_irqrestore(&dv1394_cards_lock, flags); | 1804 | spin_unlock_irqrestore(&dv1394_cards_lock, flags); |
1804 | 1805 | ||
1805 | if (!video) { | 1806 | if (!video) { |
1806 | debug_printk("dv1394: OHCI card %d not found", ieee1394_file_to_instance(file)); | 1807 | debug_printk("dv1394: OHCI card %d not found", idx); |
1807 | return -ENODEV; | 1808 | return -ENODEV; |
1808 | } | 1809 | } |
1809 | 1810 | ||