* [Patch] vfs: use {set,get}_max_files()
@ 2009-09-25 7:37 Amerigo Wang
0 siblings, 0 replies; only message in thread
From: Amerigo Wang @ 2009-09-25 7:37 UTC (permalink / raw)
To: linux-kernel; +Cc: akpm, Al Viro, Amerigo Wang
Use the wrapper functions, {get,set}_max_files().
Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
---
diff --git a/fs/file_table.c b/fs/file_table.c
index 8eb4404..840f71d 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -70,6 +70,11 @@ int get_max_files(void)
}
EXPORT_SYMBOL_GPL(get_max_files);
+static void set_max_files(int new_value)
+{
+ files_stat.max_files = new_value;
+}
+
/*
* Handle nr_files sysctl
*/
@@ -107,12 +112,12 @@ struct file *get_empty_filp(void)
/*
* Privileged users can go above max_files
*/
- if (get_nr_files() >= files_stat.max_files && !capable(CAP_SYS_ADMIN)) {
+ if (get_nr_files() >= get_max_files() && !capable(CAP_SYS_ADMIN)) {
/*
* percpu_counters are inaccurate. Do an expensive check before
* we go and fail.
*/
- if (percpu_counter_sum_positive(&nr_files) >= files_stat.max_files)
+ if (percpu_counter_sum_positive(&nr_files) >= get_max_files())
goto over;
}
@@ -450,9 +455,9 @@ void __init files_init(unsigned long mempages)
*/
n = (mempages * (PAGE_SIZE / 1024)) / 10;
- files_stat.max_files = n;
- if (files_stat.max_files < NR_FILE)
- files_stat.max_files = NR_FILE;
+ set_max_files(n);
+ if (get_max_files() < NR_FILE)
+ set_max_files(NR_FILE);
files_defer_init();
percpu_counter_init(&nr_files, 0);
}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2009-09-25 7:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-25 7:37 [Patch] vfs: use {set,get}_max_files() Amerigo Wang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox