btrfs: avoid blocking on space revervation when doing nowait dio writes
[linux-2.6-block.git] / fs / btrfs / qgroup.h
index 880e9df0dac1d74d5905de08c13bfe5e7339351f..0c4dd2a9af96b07ec93f445a7ca60a2a4ce854f7 100644 (file)
@@ -364,19 +364,23 @@ int btrfs_qgroup_free_data(struct btrfs_inode *inode,
 int btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes,
                              enum btrfs_qgroup_rsv_type type, bool enforce);
 int __btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes,
-                               enum btrfs_qgroup_rsv_type type, bool enforce);
+                               enum btrfs_qgroup_rsv_type type, bool enforce,
+                               bool noflush);
 /* Reserve metadata space for pertrans and prealloc type */
 static inline int btrfs_qgroup_reserve_meta_pertrans(struct btrfs_root *root,
                                int num_bytes, bool enforce)
 {
        return __btrfs_qgroup_reserve_meta(root, num_bytes,
-                       BTRFS_QGROUP_RSV_META_PERTRANS, enforce);
+                                          BTRFS_QGROUP_RSV_META_PERTRANS,
+                                          enforce, false);
 }
 static inline int btrfs_qgroup_reserve_meta_prealloc(struct btrfs_root *root,
-                               int num_bytes, bool enforce)
+                                                    int num_bytes, bool enforce,
+                                                    bool noflush)
 {
        return __btrfs_qgroup_reserve_meta(root, num_bytes,
-                       BTRFS_QGROUP_RSV_META_PREALLOC, enforce);
+                                          BTRFS_QGROUP_RSV_META_PREALLOC,
+                                          enforce, noflush);
 }
 
 void __btrfs_qgroup_free_meta(struct btrfs_root *root, int num_bytes,