summaryrefslogtreecommitdiffstats
path: root/fs/internal.h
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2010-10-23 11:03:02 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2010-10-26 03:26:09 +0200
commitcffbc8aa334f55c9ed42d25202eb3ebf3a97c195 (patch)
treedab046695754e2cec1a7ab7a64b236e976d94360 /fs/internal.h
parentvfs: fix infinite loop caused by clone_mnt race (diff)
downloadlinux-cffbc8aa334f55c9ed42d25202eb3ebf3a97c195.tar.xz
linux-cffbc8aa334f55c9ed42d25202eb3ebf3a97c195.zip
fs: Convert nr_inodes and nr_unused to per-cpu counters
The number of inodes allocated does not need to be tied to the addition or removal of an inode to/from a list. If we are not tied to a list lock, we could update the counters when inodes are initialised or destroyed, but to do that we need to convert the counters to be per-cpu (i.e. independent of a lock). This means that we have the freedom to change the list/locking implementation without needing to care about the counters. Based on a patch originally from Eric Dumazet. [AV: cleaned up a bit, fixed build breakage on weird configs Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/internal.h')
-rw-r--r--fs/internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/internal.h b/fs/internal.h
index f6dce46d80dc..4cc67eb6ed56 100644
--- a/fs/internal.h
+++ b/fs/internal.h
@@ -105,4 +105,5 @@ extern void release_open_intent(struct nameidata *);
/*
* inode.c
*/
+extern int get_nr_dirty_inodes(void);
extern int invalidate_inodes(struct super_block *);