diff options
-rw-r--r-- | fs/btrfs/ctree.h | 2 | ||||
-rw-r--r-- | fs/btrfs/disk-io.c | 2 | ||||
-rw-r--r-- | fs/btrfs/qgroup.c | 10 |
3 files changed, 7 insertions, 7 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index f03c2f285eb1..660d485b6e8b 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h | |||
@@ -1258,7 +1258,7 @@ struct btrfs_root { | |||
1258 | atomic_t will_be_snapshoted; | 1258 | atomic_t will_be_snapshoted; |
1259 | 1259 | ||
1260 | /* For qgroup metadata space reserve */ | 1260 | /* For qgroup metadata space reserve */ |
1261 | atomic_t qgroup_meta_rsv; | 1261 | atomic64_t qgroup_meta_rsv; |
1262 | }; | 1262 | }; |
1263 | static inline u32 btrfs_inode_sectorsize(const struct inode *inode) | 1263 | static inline u32 btrfs_inode_sectorsize(const struct inode *inode) |
1264 | { | 1264 | { |
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index 73fdc6bdaea9..982c56f79515 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c | |||
@@ -1342,7 +1342,7 @@ static void __setup_root(struct btrfs_root *root, struct btrfs_fs_info *fs_info, | |||
1342 | atomic_set(&root->orphan_inodes, 0); | 1342 | atomic_set(&root->orphan_inodes, 0); |
1343 | atomic_set(&root->refs, 1); | 1343 | atomic_set(&root->refs, 1); |
1344 | atomic_set(&root->will_be_snapshoted, 0); | 1344 | atomic_set(&root->will_be_snapshoted, 0); |
1345 | atomic_set(&root->qgroup_meta_rsv, 0); | 1345 | atomic64_set(&root->qgroup_meta_rsv, 0); |
1346 | root->log_transid = 0; | 1346 | root->log_transid = 0; |
1347 | root->log_transid_committed = -1; | 1347 | root->log_transid_committed = -1; |
1348 | root->last_log_commit = 0; | 1348 | root->last_log_commit = 0; |
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c index a5da750c1087..a59801dc2a34 100644 --- a/fs/btrfs/qgroup.c +++ b/fs/btrfs/qgroup.c | |||
@@ -2948,20 +2948,20 @@ int btrfs_qgroup_reserve_meta(struct btrfs_root *root, int num_bytes, | |||
2948 | ret = qgroup_reserve(root, num_bytes, enforce); | 2948 | ret = qgroup_reserve(root, num_bytes, enforce); |
2949 | if (ret < 0) | 2949 | if (ret < 0) |
2950 | return ret; | 2950 | return ret; |
2951 | atomic_add(num_bytes, &root->qgroup_meta_rsv); | 2951 | atomic64_add(num_bytes, &root->qgroup_meta_rsv); |
2952 | return ret; | 2952 | return ret; |
2953 | } | 2953 | } |
2954 | 2954 | ||
2955 | void btrfs_qgroup_free_meta_all(struct btrfs_root *root) | 2955 | void btrfs_qgroup_free_meta_all(struct btrfs_root *root) |
2956 | { | 2956 | { |
2957 | struct btrfs_fs_info *fs_info = root->fs_info; | 2957 | struct btrfs_fs_info *fs_info = root->fs_info; |
2958 | int reserved; | 2958 | u64 reserved; |
2959 | 2959 | ||
2960 | if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) || | 2960 | if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) || |
2961 | !is_fstree(root->objectid)) | 2961 | !is_fstree(root->objectid)) |
2962 | return; | 2962 | return; |
2963 | 2963 | ||
2964 | reserved = atomic_xchg(&root->qgroup_meta_rsv, 0); | 2964 | reserved = atomic64_xchg(&root->qgroup_meta_rsv, 0); |
2965 | if (reserved == 0) | 2965 | if (reserved == 0) |
2966 | return; | 2966 | return; |
2967 | btrfs_qgroup_free_refroot(fs_info, root->objectid, reserved); | 2967 | btrfs_qgroup_free_refroot(fs_info, root->objectid, reserved); |
@@ -2976,8 +2976,8 @@ void btrfs_qgroup_free_meta(struct btrfs_root *root, int num_bytes) | |||
2976 | return; | 2976 | return; |
2977 | 2977 | ||
2978 | BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize)); | 2978 | BUG_ON(num_bytes != round_down(num_bytes, fs_info->nodesize)); |
2979 | WARN_ON(atomic_read(&root->qgroup_meta_rsv) < num_bytes); | 2979 | WARN_ON(atomic64_read(&root->qgroup_meta_rsv) < num_bytes); |
2980 | atomic_sub(num_bytes, &root->qgroup_meta_rsv); | 2980 | atomic64_sub(num_bytes, &root->qgroup_meta_rsv); |
2981 | btrfs_qgroup_free_refroot(fs_info, root->objectid, num_bytes); | 2981 | btrfs_qgroup_free_refroot(fs_info, root->objectid, num_bytes); |
2982 | } | 2982 | } |
2983 | 2983 | ||