summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2010-04-02 09:46:55 +0200
committerJens Axboe <jens.axboe@oracle.com>2010-04-02 09:46:55 +0200
commit144214537370b4f133a735446ebe86e90cfb2501 (patch)
tree840f26c5a83d4730c28b5c46ec000a76e89adcc9 /mm
parenta506aedc51093544ff0f9610af6066d18cb6abbe (diff)
downloadlinux-3.10-144214537370b4f133a735446ebe86e90cfb2501.tar.gz
linux-3.10-144214537370b4f133a735446ebe86e90cfb2501.tar.bz2
linux-3.10-144214537370b4f133a735446ebe86e90cfb2501.zip
backing-dev: Handle class_create() failure
I hit this when we had a bug in IDR for a few days. Basically sysfs would fail to create new inodes since it uses an IDR and therefore class_create would fail. While we are unlikely to see this fail we may as well handle it instead of oopsing. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'mm')
-rw-r--r--mm/backing-dev.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mm/backing-dev.c b/mm/backing-dev.c
index 0e8ca034770..f13e067e146 100644
--- a/mm/backing-dev.c
+++ b/mm/backing-dev.c
@@ -227,6 +227,9 @@ static struct device_attribute bdi_dev_attrs[] = {
static __init int bdi_class_init(void)
{
bdi_class = class_create(THIS_MODULE, "bdi");
+ if (IS_ERR(bdi_class))
+ return PTR_ERR(bdi_class);
+
bdi_class->dev_attrs = bdi_dev_attrs;
bdi_debug_init();
return 0;