[dm-devel] dm-thin: Why is DATA_DEV_BLOCK_SIZE_MIN_SECTORS set to 64k?

Eric Wheeler dm-devel at lists.ewheeler.net
Sat Jun 9 19:31:54 UTC 2018


On Fri, 18 May 2018, Zdenek Kabelac wrote:

> Dne 18.5.2018 v 01:36 Eric Wheeler napsal(a):
> > Hello all,
> > 
> > Is there a technical reason that DATA_DEV_BLOCK_SIZE_MIN_SECTORS is
> > limited to 64k?
> > 
> > I realize that the metadata limits the maximum mappable pool size, so it
> > needs to be bigger for big pools---but it is also the minimum COW size.
> > 
> > Looking at the code this is enforced in pool_ctr() but isn't used anywhere
> > else in the code.  Is it strictly necessary to enforce this minimum?
> > 
> 
> 
> Hi
> 
> Selection of 64k  was chosen as compromise between used space for metadada,
> locking contention, kernel memory usage and overall speed performance.

I understand the choice.  What I am asking is this: would it be safe to 
let others make their own choice about block size provided they are warned 
about the metadata-chunk-size/pool-size limit tradeoff?

If it is safe, can we relax the restriction?  For example, 16k chunks 
still enables ~4TB pools, but with 1/4th of the CoW IO overhead on heavily 
snapshotted environments.

--
Eric Wheeler



> 
> 
> Regards
> 
> Zdenek
> 
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
> 




More information about the dm-devel mailing list