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

Commit ae55b9ec authored by David Sterba's avatar David Sterba
Browse files

btrfs: make find_workspace warn if there are no workspaces



Be verbose if there are no workspaces at all, ie. the module init time
preallocation failed.

Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 3b501d18
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -834,7 +834,21 @@ static struct list_head *find_workspace(int type)
		 * workspace preallocated for each type and the compression
		 * time is bounded so we get to a workspace eventually. This
		 * makes our caller's life easier.
		 *
		 * To prevent silent and low-probability deadlocks (when the
		 * initial preallocation fails), check if there are any
		 * workspaces at all.
		 */
		if (atomic_read(total_ws) == 0) {
			static DEFINE_RATELIMIT_STATE(_rs,
					/* once per minute */ 60 * HZ,
					/* no burst */ 1);

			if (__ratelimit(&_rs)) {
				printk(KERN_WARNING
			    "no compression workspaces, low memory, retrying");
			}
		}
		goto again;
	}
	return workspace;