mirror of
https://github.com/versity/scoutfs.git
synced 2026-02-08 03:30:46 +00:00
scoutfs: add item deletion tracing
Add some traces for item deletion functions with their return values. Signed-off-by: Zach Brown <zab@versity.com>
This commit is contained in:
@@ -1343,7 +1343,7 @@ int scoutfs_item_delete(struct super_block *sb, struct scoutfs_key *key,
|
||||
(ret = scoutfs_manifest_read_items(sb, key, &lock->start,
|
||||
&lock->end)) == 0);
|
||||
|
||||
trace_scoutfs_item_delete_ret(sb, ret);
|
||||
trace_scoutfs_item_delete(sb, key, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1404,12 +1404,16 @@ int scoutfs_item_delete_save(struct super_block *sb,
|
||||
bool was_dirty;
|
||||
int ret;
|
||||
|
||||
if (WARN_ON_ONCE(!lock_coverage(lock, key, DLM_LOCK_EX)))
|
||||
return -EINVAL;
|
||||
if (WARN_ON_ONCE(!lock_coverage(lock, key, DLM_LOCK_EX))) {
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
del = alloc_item(sb, key, NULL);
|
||||
if (!del)
|
||||
return -ENOMEM;
|
||||
if (!del) {
|
||||
ret = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
do {
|
||||
spin_lock_irqsave(&cac->lock, flags);
|
||||
@@ -1440,7 +1444,8 @@ int scoutfs_item_delete_save(struct super_block *sb,
|
||||
&lock->end)) == 0);
|
||||
|
||||
free_item(sb, del);
|
||||
|
||||
out:
|
||||
trace_scoutfs_item_delete_save(sb, key, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -227,22 +227,34 @@ TRACE_EVENT(scoutfs_dec_end_io,
|
||||
__entry->args, __entry->in_flight, __entry->err)
|
||||
);
|
||||
|
||||
TRACE_EVENT(scoutfs_item_delete_ret,
|
||||
TP_PROTO(struct super_block *sb, int ret),
|
||||
DECLARE_EVENT_CLASS(scoutfs_key_ret_class,
|
||||
TP_PROTO(struct super_block *sb, struct scoutfs_key *key, int ret),
|
||||
|
||||
TP_ARGS(sb, ret),
|
||||
TP_ARGS(sb, key, ret),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(__u64, fsid)
|
||||
__field_struct(struct scoutfs_key, key)
|
||||
__field(int, ret)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->fsid = FSID_ARG(sb);
|
||||
__entry->key = *key;
|
||||
__entry->ret = ret;
|
||||
),
|
||||
|
||||
TP_printk(FSID_FMT" ret %d", __entry->fsid, __entry->ret)
|
||||
TP_printk("fsid "FSID_FMT" key "SK_FMT" ret %d",
|
||||
__entry->fsid, SK_ARG(&__entry->key), __entry->ret)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(scoutfs_key_ret_class, scoutfs_item_delete,
|
||||
TP_PROTO(struct super_block *sb, struct scoutfs_key *key, int ret),
|
||||
TP_ARGS(sb, key, ret)
|
||||
);
|
||||
DEFINE_EVENT(scoutfs_key_ret_class, scoutfs_item_delete_save,
|
||||
TP_PROTO(struct super_block *sb, struct scoutfs_key *key, int ret),
|
||||
TP_ARGS(sb, key, ret)
|
||||
);
|
||||
|
||||
TRACE_EVENT(scoutfs_item_dirty_ret,
|
||||
|
||||
Reference in New Issue
Block a user