mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
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