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

Commit 4d73644b authored by Ilya Dryomov's avatar Ilya Dryomov
Browse files

rbd: don't retry watch reregistration if header object is gone



If the header object gets deleted (perhaps along with the entire pool),
there is no point in attempting to reregister the watch.  Treat this
the same as blacklisting: fail all pending and new I/Os requiring the
lock.

Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
parent 87c0fded
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3944,7 +3944,7 @@ static void rbd_reregister_watch(struct work_struct *work)
	ret = __rbd_register_watch(rbd_dev);
	if (ret) {
		rbd_warn(rbd_dev, "failed to reregister watch: %d", ret);
		if (ret == -EBLACKLISTED) {
		if (ret == -EBLACKLISTED || ret == -ENOENT) {
			set_bit(RBD_DEV_FLAG_BLACKLISTED, &rbd_dev->flags);
			need_to_wake = true;
		} else {