> On Thu, Dec 02, 2010 at 01:12:13PM +0100, Kevin Wolf wrote: > > > DEFINE_PROP_UINT16("physical_block_size", _state, > > > \ > > > > > > _conf.physical_block_size, 512), > > > \ > > > > > > DEFINE_PROP_UINT16("min_io_size", _state, _conf.min_io_size, 0), > > > \ > > > > > > - DEFINE_PROP_UINT32("opt_io_size", _state, _conf.opt_io_size, 0) > > > + DEFINE_PROP_UINT32("opt_io_size", _state, _conf.opt_io_size, 0), \ > > > + DEFINE_PROP_UINT32("discard_granularity", _state, \ > > > + _conf.discard_granularity, 0) > > > > Is there no way to get this value automatically? > > > > At least for non-raw images (and it should be trivial to implement this > > in qcow2) I guess we'll want to set it to the cluster size of the image > > instead of requiring the user to set this value. > > It's guest visible state, so it must not change due to migrations. For > the current implementation all values for it work anyway - if it's > smaller than the block size we'll zero out the remainder of the block.
That sounds wrong. Surely we should leave partial blocks untouched. Paul