Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78ac2107 authored by Coly Li's avatar Coly Li Committed by Jens Axboe
Browse files

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: default avatarColy Li <colyli@suse.de>
Suggested-by: default avatarGreg 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: default avatarJens Axboe <axboe@kernel.dk>
parent a12fc00b
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1001,7 +1001,7 @@ void bch_open_buckets_free(struct cache_set *);
int bch_cache_allocator_start(struct cache *ca);
int bch_cache_allocator_start(struct cache *ca);


void bch_debug_exit(void);
void bch_debug_exit(void);
int bch_debug_init(struct kobject *);
void bch_debug_init(struct kobject *kobj);
void bch_request_exit(void);
void bch_request_exit(void);
int bch_request_init(void);
int bch_request_init(void);


+9 −4
Original line number Original line Diff line number Diff line
@@ -199,11 +199,16 @@ static const struct file_operations debug_ops = {
	.release	= single_release
	.release	= single_release
};
};


int __init closure_debug_init(void)
void  __init closure_debug_init(void)
{
{
	closure_debug = debugfs_create_file("closures",
	if (!IS_ERR_OR_NULL(bcache_debug))
				0400, bcache_debug, NULL, &debug_ops);
		/*
	return IS_ERR_OR_NULL(closure_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
#endif


+2 −2
Original line number Original line Diff line number Diff line
@@ -186,13 +186,13 @@ static inline void closure_sync(struct closure *cl)


#ifdef CONFIG_BCACHE_CLOSURES_DEBUG
#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_create(struct closure *cl);
void closure_debug_destroy(struct closure *cl);
void closure_debug_destroy(struct closure *cl);


#else
#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_create(struct closure *cl) {}
static inline void closure_debug_destroy(struct closure *cl) {}
static inline void closure_debug_destroy(struct closure *cl) {}


+6 −5
Original line number Original line Diff line number Diff line
@@ -252,11 +252,12 @@ void bch_debug_exit(void)
		debugfs_remove_recursive(bcache_debug);
		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);
	bcache_debug = debugfs_create_dir("bcache", NULL);
	return IS_ERR_OR_NULL(bcache_debug);
}
}
+3 −1
Original line number Original line Diff line number Diff line
@@ -2345,10 +2345,12 @@ static int __init bcache_init(void)
		goto err;
		goto err;


	if (bch_request_init() ||
	if (bch_request_init() ||
	    bch_debug_init(bcache_kobj) || closure_debug_init() ||
	    sysfs_create_files(bcache_kobj, files))
	    sysfs_create_files(bcache_kobj, files))
		goto err;
		goto err;


	bch_debug_init(bcache_kobj);
	closure_debug_init();

	return 0;
	return 0;
err:
err:
	bcache_exit();
	bcache_exit();