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

Commit 334132ae authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

writeback: add missing requeue_io in writeback_inodes_wb



In "writeback: fix writeback_inodes_wb from writeback_inodes_sb" I
accidentally removed the requeue_io if we need to skip a superblock
because we can't pin it.  Add it back, otherwise we're getting spurious
lockups after multiple xfstests runs.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
parent c5444198
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -643,8 +643,10 @@ static void writeback_inodes_wb(struct bdi_writeback *wb,


			ret = writeback_sb_inodes(sb, wb, wbc);
			ret = writeback_sb_inodes(sb, wb, wbc);
		} else {
		} else {
			if (!pin_sb_for_writeback(sb))
			if (!pin_sb_for_writeback(sb)) {
				requeue_io(inode);
				continue;
				continue;
			}
			ret = writeback_sb_inodes(sb, wb, wbc);
			ret = writeback_sb_inodes(sb, wb, wbc);
			drop_super(sb);
			drop_super(sb);
		}
		}