]> err.no Git - linux-2.6/blobdiff - include/linux/backing-dev.h
mm: bdi: allow setting a maximum for the bdi dirty limit
[linux-2.6] / include / linux / backing-dev.h
index b66fa2bdfd9c80afee7179cc498fa264c5fda634..ad3271d1e90a4061caf159acbd6e60d3479acd05 100644 (file)
 #include <linux/percpu_counter.h>
 #include <linux/log2.h>
 #include <linux/proportions.h>
+#include <linux/kernel.h>
 #include <asm/atomic.h>
 
 struct page;
+struct device;
 
 /*
  * Bits in backing_dev_info.state
@@ -48,11 +50,21 @@ struct backing_dev_info {
 
        struct prop_local_percpu completions;
        int dirty_exceeded;
+
+       unsigned int min_ratio;
+       unsigned int max_ratio, max_prop_frac;
+
+       struct device *dev;
 };
 
 int bdi_init(struct backing_dev_info *bdi);
 void bdi_destroy(struct backing_dev_info *bdi);
 
+int bdi_register(struct backing_dev_info *bdi, struct device *parent,
+               const char *fmt, ...);
+int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev);
+void bdi_unregister(struct backing_dev_info *bdi);
+
 static inline void __add_bdi_stat(struct backing_dev_info *bdi,
                enum bdi_stat_item item, s64 amount)
 {
@@ -128,6 +140,9 @@ static inline unsigned long bdi_stat_error(struct backing_dev_info *bdi)
 #endif
 }
 
+int bdi_set_min_ratio(struct backing_dev_info *bdi, unsigned int min_ratio);
+int bdi_set_max_ratio(struct backing_dev_info *bdi, unsigned int max_ratio);
+
 /*
  * Flags in backing_dev_info::capability
  * - The first two flags control whether dirty pages will contribute to the