Re: [PATCH 13/14] dm_thin: commit just before processing a pool target info request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 19, 2012 at 02:00:12PM +0000, Alasdair G Kergon wrote:
> On Fri, Mar 16, 2012 at 03:22:36PM +0000, Joe Thornber wrote:
> > This makes the free block counts more accurate.
>  
> I'm not keen on this one: deferring it.
> 
> > --- a/drivers/md/dm-thin.c
> > +++ b/drivers/md/dm-thin.c
> > @@ -2305,6 +2305,15 @@ static int pool_status(struct dm_target *ti, status_type_t type,
> 
> (Used by dmsetup status and wait.)
> 
> > +		/*
> > +		 * If we're in the middle of a transaction the free block
> > +		 * counts can be quite out of date, so we do a quick
> > +		 * commit.
> > +		 */
> > +		r = dm_pool_commit_metadata(pool->pmd);
> > +		if (r)
> > +			return r;
> > +
> 
> 1) If commit fails (repeatedly?) we still need to get the status.
> 
> 2) Could the commit ever be too slow?  (Or re-use NOFLUSH flag to skip it?)

Agreed.  The correct solution is to switch to a read-only mode if the
commit fails, and thus never commit again.  Commit does some io
obviously; not sure what constitutes 'too slow'.

- Joe

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel


[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux