writeback, cgroup: support switching multiple inodes at once
[sfrench/cifs-2.6.git] / include / linux / backing-dev-defs.h
index e5dc238ebe4f85de626903a152fa070f227b23b3..63f52ad2ce7a955cb7c82b055f4f493b4d4f8d71 100644 (file)
@@ -240,8 +240,9 @@ static inline void wb_get(struct bdi_writeback *wb)
 /**
  * wb_put - decrement a wb's refcount
  * @wb: bdi_writeback to put
+ * @nr: number of references to put
  */
-static inline void wb_put(struct bdi_writeback *wb)
+static inline void wb_put_many(struct bdi_writeback *wb, unsigned long nr)
 {
        if (WARN_ON_ONCE(!wb->bdi)) {
                /*
@@ -252,7 +253,16 @@ static inline void wb_put(struct bdi_writeback *wb)
        }
 
        if (wb != &wb->bdi->wb)
-               percpu_ref_put(&wb->refcnt);
+               percpu_ref_put_many(&wb->refcnt, nr);
+}
+
+/**
+ * wb_put - decrement a wb's refcount
+ * @wb: bdi_writeback to put
+ */
+static inline void wb_put(struct bdi_writeback *wb)
+{
+       wb_put_many(wb, 1);
 }
 
 /**
@@ -281,6 +291,10 @@ static inline void wb_put(struct bdi_writeback *wb)
 {
 }
 
+static inline void wb_put_many(struct bdi_writeback *wb, unsigned long nr)
+{
+}
+
 static inline bool wb_dying(struct bdi_writeback *wb)
 {
        return false;