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

Commit 255eac20 authored by Mike Snitzer's avatar Mike Snitzer
Browse files

dm cache: display 'needs_check' in status if it is set



There is currently no way to see that the needs_check flag has been set
in the metadata.  Display 'needs_check' in the cache status if it is set
in the cache metadata.

Also, update cache documentation.

Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent e4c78e21
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -258,6 +258,12 @@ cache metadata mode : ro if read-only, rw if read-write
	no further I/O will be permitted and the status will just
	contain the string 'Fail'.  The userspace recovery tools
	should then be used.
needs_check		 : 'needs_check' if set, '-' if not set
	A metadata operation has failed, resulting in the needs_check
	flag being set in the metadata's superblock.  The metadata
	device must be deactivated and checked/repaired before the
	cache can be made fully operational again.  '-' indicates
	needs_check is not set.

Messages
--------
+7 −2
Original line number Diff line number Diff line
@@ -3496,7 +3496,7 @@ static void cache_resume(struct dm_target *ti)
 * <#demotions> <#promotions> <#dirty>
 * <#features> <features>*
 * <#core args> <core args>
 * <policy name> <#policy args> <policy args>* <cache metadata mode>
 * <policy name> <#policy args> <policy args>* <cache metadata mode> <needs_check>
 */
static void cache_status(struct dm_target *ti, status_type_t type,
			 unsigned status_flags, char *result, unsigned maxlen)
@@ -3582,6 +3582,11 @@ static void cache_status(struct dm_target *ti, status_type_t type,
		else
			DMEMIT("rw ");

		if (dm_cache_metadata_needs_check(cache->cmd))
			DMEMIT("needs_check ");
		else
			DMEMIT("- ");

		break;

	case STATUSTYPE_TABLE:
@@ -3820,7 +3825,7 @@ static void cache_io_hints(struct dm_target *ti, struct queue_limits *limits)

static struct target_type cache_target = {
	.name = "cache",
	.version = {1, 7, 0},
	.version = {1, 8, 0},
	.module = THIS_MODULE,
	.ctr = cache_ctr,
	.dtr = cache_dtr,