fscache: Add tracepoints
Add some tracepoints to fscache: (*) fscache_cookie - Tracks a cookie's usage count. (*) fscache_netfs - Logs registration of a network filesystem, including the pointer to the cookie allocated. (*) fscache_acquire - Logs cookie acquisition. (*) fscache_relinquish - Logs cookie relinquishment. (*) fscache_enable - Logs enablement of a cookie. (*) fscache_disable - Logs disablement of a cookie. (*) fscache_osm - Tracks execution of states in the object state machine. and cachefiles: (*) cachefiles_ref - Tracks a cachefiles object's usage count. (*) cachefiles_lookup - Logs result of lookup_one_len(). (*) cachefiles_mkdir - Logs result of vfs_mkdir(). (*) cachefiles_create - Logs result of vfs_create(). (*) cachefiles_unlink - Logs calls to vfs_unlink(). (*) cachefiles_rename - Logs calls to vfs_rename(). (*) cachefiles_mark_active - Logs an object becoming active. (*) cachefiles_wait_active - Logs a wait for an old object to be destroyed. (*) cachefiles_mark_inactive - Logs an object becoming inactive. (*) cachefiles_mark_buried - Logs the burial of an object. Signed-off-by: David Howells <dhowells@redhat.com>
This commit is contained in:
@@ -29,6 +29,18 @@ struct fscache_cache_ops;
|
||||
struct fscache_object;
|
||||
struct fscache_operation;
|
||||
|
||||
enum fscache_obj_ref_trace {
|
||||
fscache_obj_get_add_to_deps,
|
||||
fscache_obj_get_queue,
|
||||
fscache_obj_put_alloc_fail,
|
||||
fscache_obj_put_attach_fail,
|
||||
fscache_obj_put_drop_obj,
|
||||
fscache_obj_put_enq_dep,
|
||||
fscache_obj_put_queue,
|
||||
fscache_obj_put_work,
|
||||
fscache_obj_ref__nr_traces
|
||||
};
|
||||
|
||||
/*
|
||||
* cache tag definition
|
||||
*/
|
||||
@@ -231,7 +243,8 @@ struct fscache_cache_ops {
|
||||
void (*lookup_complete)(struct fscache_object *object);
|
||||
|
||||
/* increment the usage count on this object (may fail if unmounting) */
|
||||
struct fscache_object *(*grab_object)(struct fscache_object *object);
|
||||
struct fscache_object *(*grab_object)(struct fscache_object *object,
|
||||
enum fscache_obj_ref_trace why);
|
||||
|
||||
/* pin an object in the cache */
|
||||
int (*pin_object)(struct fscache_object *object);
|
||||
@@ -254,7 +267,8 @@ struct fscache_cache_ops {
|
||||
void (*drop_object)(struct fscache_object *object);
|
||||
|
||||
/* dispose of a reference to an object */
|
||||
void (*put_object)(struct fscache_object *object);
|
||||
void (*put_object)(struct fscache_object *object,
|
||||
enum fscache_obj_ref_trace why);
|
||||
|
||||
/* sync a cache */
|
||||
void (*sync_cache)(struct fscache_cache *cache);
|
||||
|
Reference in New Issue
Block a user