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

Commit d7076f21 authored by Gabriel de Perthuis's avatar Gabriel de Perthuis Committed by Jens Axboe
Browse files

bcache: allows use of register in udev to avoid "device_busy" error.

Allows to use register, not register_quiet in udev to avoid "device_busy" error.
The initial patch proposed at https://lkml.org/lkml/2013/8/26/549 by Gabriel de Perthuis
<g2p.code@gmail.com> does not unlock the mutex and hangs the kernel.

See http://thread.gmane.org/gmane.linux.kernel.bcache.devel/2594

 for the discussion.

Cc: Denis Bychkov <manover@gmail.com>
Cc: Kent Overstreet <kent.overstreet@gmail.com>
Cc: Eric Wheeler <bcache@linux.ewheeler.net>
Cc: Gabriel de Perthuis <g2p.code@gmail.com>
Cc: stable@vger.kernel.org

Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 2ecf0cdb
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1938,6 +1938,8 @@ static ssize_t register_bcache(struct kobject *k, struct kobj_attribute *attr,
			else
				err = "device busy";
			mutex_unlock(&bch_register_lock);
			if (attr == &ksysfs_register_quiet)
				goto out;
		}
		goto err;
	}
@@ -1976,7 +1978,6 @@ static ssize_t register_bcache(struct kobject *k, struct kobj_attribute *attr,
err_close:
	blkdev_put(bdev, FMODE_READ|FMODE_WRITE|FMODE_EXCL);
err:
	if (attr != &ksysfs_register_quiet)
	pr_info("error opening %s: %s", path, err);
	ret = -EINVAL;
	goto out;