]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Btrfs: show useful info in space reservation tracepoint
authorLiu Bo <liubo2009@cn.fujitsu.com>
Thu, 29 Mar 2012 13:57:44 +0000 (09:57 -0400)
committerChris Mason <chris.mason@oracle.com>
Thu, 29 Mar 2012 13:57:44 +0000 (09:57 -0400)
o For space info, the type of space info is useful for debug.
o For transaction handle, its transid is useful.

Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/extent-tree.c
fs/btrfs/inode-map.c
fs/btrfs/transaction.c

index 8fe517bd85219f4cf5fbc1918f52d893f8b2e71b..7c233407beee068c1d28773a5962fd3a08091d46 100644 (file)
@@ -3363,8 +3363,7 @@ commit_trans:
        }
        data_sinfo->bytes_may_use += bytes;
        trace_btrfs_space_reservation(root->fs_info, "space_info",
-                                     (u64)(unsigned long)data_sinfo,
-                                     bytes, 1);
+                                     data_sinfo->flags, bytes, 1);
        spin_unlock(&data_sinfo->lock);
 
        return 0;
@@ -3385,8 +3384,7 @@ void btrfs_free_reserved_data_space(struct inode *inode, u64 bytes)
        spin_lock(&data_sinfo->lock);
        data_sinfo->bytes_may_use -= bytes;
        trace_btrfs_space_reservation(root->fs_info, "space_info",
-                                     (u64)(unsigned long)data_sinfo,
-                                     bytes, 0);
+                                     data_sinfo->flags, bytes, 0);
        spin_unlock(&data_sinfo->lock);
 }
 
@@ -3751,9 +3749,7 @@ again:
                if (used + orig_bytes <= space_info->total_bytes) {
                        space_info->bytes_may_use += orig_bytes;
                        trace_btrfs_space_reservation(root->fs_info,
-                                             "space_info",
-                                             (u64)(unsigned long)space_info,
-                                             orig_bytes, 1);
+                               "space_info", space_info->flags, orig_bytes, 1);
                        ret = 0;
                } else {
                        /*
@@ -3822,9 +3818,7 @@ again:
                if (used + num_bytes < space_info->total_bytes + avail) {
                        space_info->bytes_may_use += orig_bytes;
                        trace_btrfs_space_reservation(root->fs_info,
-                                             "space_info",
-                                             (u64)(unsigned long)space_info,
-                                             orig_bytes, 1);
+                               "space_info", space_info->flags, orig_bytes, 1);
                        ret = 0;
                } else {
                        wait_ordered = true;
@@ -3970,8 +3964,7 @@ static void block_rsv_release_bytes(struct btrfs_fs_info *fs_info,
                        spin_lock(&space_info->lock);
                        space_info->bytes_may_use -= num_bytes;
                        trace_btrfs_space_reservation(fs_info, "space_info",
-                                             (u64)(unsigned long)space_info,
-                                             num_bytes, 0);
+                                       space_info->flags, num_bytes, 0);
                        space_info->reservation_progress++;
                        spin_unlock(&space_info->lock);
                }
@@ -4189,14 +4182,14 @@ static void update_global_block_rsv(struct btrfs_fs_info *fs_info)
                block_rsv->reserved += num_bytes;
                sinfo->bytes_may_use += num_bytes;
                trace_btrfs_space_reservation(fs_info, "space_info",
-                                     (u64)(unsigned long)sinfo, num_bytes, 1);
+                                     sinfo->flags, num_bytes, 1);
        }
 
        if (block_rsv->reserved >= block_rsv->size) {
                num_bytes = block_rsv->reserved - block_rsv->size;
                sinfo->bytes_may_use -= num_bytes;
                trace_btrfs_space_reservation(fs_info, "space_info",
-                                     (u64)(unsigned long)sinfo, num_bytes, 0);
+                                     sinfo->flags, num_bytes, 0);
                sinfo->reservation_progress++;
                block_rsv->reserved = block_rsv->size;
                block_rsv->full = 1;
@@ -4250,8 +4243,7 @@ void btrfs_trans_release_metadata(struct btrfs_trans_handle *trans,
                return;
 
        trace_btrfs_space_reservation(root->fs_info, "transaction",
-                                     (u64)(unsigned long)trans,
-                                     trans->bytes_reserved, 0);
+                                     trans->transid, trans->bytes_reserved, 0);
        btrfs_block_rsv_release(root, trans->block_rsv, trans->bytes_reserved);
        trans->bytes_reserved = 0;
 }
@@ -4770,9 +4762,8 @@ static int btrfs_update_reserved_bytes(struct btrfs_block_group_cache *cache,
                        space_info->bytes_reserved += num_bytes;
                        if (reserve == RESERVE_ALLOC) {
                                trace_btrfs_space_reservation(cache->fs_info,
-                                             "space_info",
-                                             (u64)(unsigned long)space_info,
-                                             num_bytes, 0);
+                                               "space_info", space_info->flags,
+                                               num_bytes, 0);
                                space_info->bytes_may_use -= num_bytes;
                        }
                }
index 7ca46e6e11aeda9d1c03ab1d58bcccc71f6fa289..b1a1c929ba8047553aa36773cafaf692b75eb2f7 100644 (file)
@@ -439,8 +439,7 @@ int btrfs_save_ino_cache(struct btrfs_root *root,
        if (ret)
                goto out;
        trace_btrfs_space_reservation(root->fs_info, "ino_cache",
-                                     (u64)(unsigned long)trans,
-                                     trans->bytes_reserved, 1);
+                                     trans->transid, trans->bytes_reserved, 1);
 again:
        inode = lookup_free_ino_inode(root, path);
        if (IS_ERR(inode) && (PTR_ERR(inode) != -ENOENT || retry)) {
@@ -507,8 +506,7 @@ out_put:
        iput(inode);
 out_release:
        trace_btrfs_space_reservation(root->fs_info, "ino_cache",
-                                     (u64)(unsigned long)trans,
-                                     trans->bytes_reserved, 0);
+                                     trans->transid, trans->bytes_reserved, 0);
        btrfs_block_rsv_release(root, trans->block_rsv, trans->bytes_reserved);
 out:
        trans->block_rsv = rsv;
index 63f835aa9788168bb4ed8877dd858f64d01262d5..8da29e8e4de15999397f137825bb378c2e983ede 100644 (file)
@@ -337,8 +337,7 @@ again:
 
        if (num_bytes) {
                trace_btrfs_space_reservation(root->fs_info, "transaction",
-                                             (u64)(unsigned long)h,
-                                             num_bytes, 1);
+                                             h->transid, num_bytes, 1);
                h->block_rsv = &root->fs_info->trans_block_rsv;
                h->bytes_reserved = num_bytes;
        }