Message ID | 20130509204437.GA5712@blackbox.djwong.org (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
On Thu, May 09, 2013 at 01:44:38PM -0700, Darrick J. Wong wrote: > When userspace queries dmcache for stats info, we should ensure that all the > metadata gets flushed out of memory to disk. The current code neglects to > update the disk copy of the hit/miss counters. Nack, I'm afraid. The commit is there purely to make sure the free metadata blocks reported from the status are as high as possible. [When a transaction is open we have to treat all blocks from the previous transaction as allocated to allow rollback.] -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
On Fri, May 10 2013 at 6:10am -0400, Joe Thornber <thornber@redhat.com> wrote: > On Thu, May 09, 2013 at 01:44:38PM -0700, Darrick J. Wong wrote: > > When userspace queries dmcache for stats info, we should ensure that all the > > metadata gets flushed out of memory to disk. The current code neglects to > > update the disk copy of the hit/miss counters. > > Nack, I'm afraid. The commit is there purely to make sure the free > metadata blocks reported from the status are as high as possible. > [When a transaction is open we have to treat all blocks from the > previous transaction as allocated to allow rollback.] Right the commit is about presenting a more accurate status. Darrick's patch doesn't change what is reported for hit/miss counts (they are reported from in-core counters already, so accuracy isn't a concern). So I agree with what you're saying. Thanks Joe. -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c index 1074409..4fb7b4c 100644 --- a/drivers/md/dm-cache-target.c +++ b/drivers/md/dm-cache-target.c @@ -2451,6 +2451,7 @@ static void cache_status(struct dm_target *ti, status_type_t type, case STATUSTYPE_INFO: /* Commit to ensure statistics aren't out-of-date */ if (!(status_flags & DM_STATUS_NOFLUSH_FLAG) && !dm_suspended(ti)) { + save_stats(cache); r = dm_cache_commit(cache->cmd, false); if (r) DMERR("could not commit metadata for accurate status");
When userspace queries dmcache for stats info, we should ensure that all the metadata gets flushed out of memory to disk. The current code neglects to update the disk copy of the hit/miss counters. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> --- drivers/md/dm-cache-target.c | 1 + 1 file changed, 1 insertion(+) -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel