aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fscache-cache.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2009-11-19 13:11:01 -0500
committerDavid Howells <dhowells@redhat.com>2009-11-19 13:11:01 -0500
commit440f0affe247e9990c8f8778f1861da4fd7d5e50 (patch)
tree0012732ac8af0245005403d9a3b0a2b1209edf32 /include/linux/fscache-cache.h
parent3bde31a4ac225cb5805be02eff6eaaf7e0766ccd (diff)
FS-Cache: Annotate slow-work runqueue proc lines for FS-Cache work items
Annotate slow-work runqueue proc lines for FS-Cache work items. Objects include the object ID and the state. Operations include the object ID, the operation ID and the operation type and state. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'include/linux/fscache-cache.h')
-rw-r--r--include/linux/fscache-cache.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/fscache-cache.h b/include/linux/fscache-cache.h
index 84d3532dd3ea..7a9847ccd192 100644
--- a/include/linux/fscache-cache.h
+++ b/include/linux/fscache-cache.h
@@ -102,6 +102,16 @@ struct fscache_operation {
102 102
103 /* operation releaser */ 103 /* operation releaser */
104 fscache_operation_release_t release; 104 fscache_operation_release_t release;
105
106#ifdef CONFIG_SLOW_WORK_PROC
107 const char *name; /* operation name */
108 const char *state; /* operation state */
109#define fscache_set_op_name(OP, N) do { (OP)->name = (N); } while(0)
110#define fscache_set_op_state(OP, S) do { (OP)->state = (S); } while(0)
111#else
112#define fscache_set_op_name(OP, N) do { } while(0)
113#define fscache_set_op_state(OP, S) do { } while(0)
114#endif
105}; 115};
106 116
107extern atomic_t fscache_op_debug_id; 117extern atomic_t fscache_op_debug_id;
@@ -125,6 +135,7 @@ static inline void fscache_operation_init(struct fscache_operation *op,
125 op->debug_id = atomic_inc_return(&fscache_op_debug_id); 135 op->debug_id = atomic_inc_return(&fscache_op_debug_id);
126 op->release = release; 136 op->release = release;
127 INIT_LIST_HEAD(&op->pend_link); 137 INIT_LIST_HEAD(&op->pend_link);
138 fscache_set_op_state(op, "Init");
128} 139}
129 140
130/** 141/**
@@ -337,6 +348,7 @@ struct fscache_object {
337 FSCACHE_OBJECT_RECYCLING, /* retiring object */ 348 FSCACHE_OBJECT_RECYCLING, /* retiring object */
338 FSCACHE_OBJECT_WITHDRAWING, /* withdrawing object */ 349 FSCACHE_OBJECT_WITHDRAWING, /* withdrawing object */
339 FSCACHE_OBJECT_DEAD, /* object is now dead */ 350 FSCACHE_OBJECT_DEAD, /* object is now dead */
351 FSCACHE_OBJECT__NSTATES
340 } state; 352 } state;
341 353
342 int debug_id; /* debugging ID */ 354 int debug_id; /* debugging ID */