public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [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