bcache: do not check return value of debugfs_create_dir()
Greg KH suggests that normal code should not care about debugfs. Therefore no matter successful or failed of debugfs_create_dir() execution, it is unncessary to check its return value. There are two functions called debugfs_create_dir() and check the return value, which are bch_debug_init() and closure_debug_init(). This patch changes these two functions from int to void type, and ignore return values of debugfs_create_dir(). This patch does not fix exact bug, just makes things work as they should. Signed-off-by: Coly Li <colyli@suse.de> Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: stable@vger.kernel.org Cc: Kai Krakow <kai@kaishome.de> Cc: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
a12fc00b23
commit
78ac210717
|
@ -1001,7 +1001,7 @@ void bch_open_buckets_free(struct cache_set *);
|
|||
int bch_cache_allocator_start(struct cache *ca);
|
||||
|
||||
void bch_debug_exit(void);
|
||||
int bch_debug_init(struct kobject *);
|
||||
void bch_debug_init(struct kobject *kobj);
|
||||
void bch_request_exit(void);
|
||||
int bch_request_init(void);
|
||||
|
||||
|
|
|
@ -199,11 +199,16 @@ static const struct file_operations debug_ops = {
|
|||
.release = single_release
|
||||
};
|
||||
|
||||
int __init closure_debug_init(void)
|
||||
void __init closure_debug_init(void)
|
||||
{
|
||||
closure_debug = debugfs_create_file("closures",
|
||||
0400, bcache_debug, NULL, &debug_ops);
|
||||
return IS_ERR_OR_NULL(closure_debug);
|
||||
if (!IS_ERR_OR_NULL(bcache_debug))
|
||||
/*
|
||||
* it is unnecessary to check return value of
|
||||
* debugfs_create_file(), we should not care
|
||||
* about this.
|
||||
*/
|
||||
closure_debug = debugfs_create_file(
|
||||
"closures", 0400, bcache_debug, NULL, &debug_ops);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -186,13 +186,13 @@ static inline void closure_sync(struct closure *cl)
|
|||
|
||||
#ifdef CONFIG_BCACHE_CLOSURES_DEBUG
|
||||
|
||||
int closure_debug_init(void);
|
||||
void closure_debug_init(void);
|
||||
void closure_debug_create(struct closure *cl);
|
||||
void closure_debug_destroy(struct closure *cl);
|
||||
|
||||
#else
|
||||
|
||||
static inline int closure_debug_init(void) { return 0; }
|
||||
static inline void closure_debug_init(void) {}
|
||||
static inline void closure_debug_create(struct closure *cl) {}
|
||||
static inline void closure_debug_destroy(struct closure *cl) {}
|
||||
|
||||
|
|
|
@ -252,11 +252,12 @@ void bch_debug_exit(void)
|
|||
debugfs_remove_recursive(bcache_debug);
|
||||
}
|
||||
|
||||
int __init bch_debug_init(struct kobject *kobj)
|
||||
void __init bch_debug_init(struct kobject *kobj)
|
||||
{
|
||||
if (!IS_ENABLED(CONFIG_DEBUG_FS))
|
||||
return 0;
|
||||
|
||||
/*
|
||||
* it is unnecessary to check return value of
|
||||
* debugfs_create_file(), we should not care
|
||||
* about this.
|
||||
*/
|
||||
bcache_debug = debugfs_create_dir("bcache", NULL);
|
||||
return IS_ERR_OR_NULL(bcache_debug);
|
||||
}
|
||||
|
|
|
@ -2345,10 +2345,12 @@ static int __init bcache_init(void)
|
|||
goto err;
|
||||
|
||||
if (bch_request_init() ||
|
||||
bch_debug_init(bcache_kobj) || closure_debug_init() ||
|
||||
sysfs_create_files(bcache_kobj, files))
|
||||
goto err;
|
||||
|
||||
bch_debug_init(bcache_kobj);
|
||||
closure_debug_init();
|
||||
|
||||
return 0;
|
||||
err:
|
||||
bcache_exit();
|
||||
|
|
Loading…
Reference in New Issue