Re: [PATCH mdadm v2 1/2] mdadm: Add --discard option for Create

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

 



On Wed, 14 Sep 2022 10:29:53 -0600
Logan Gunthorpe <logang@xxxxxxxxxxxx> wrote:

> On 2022-09-14 06:01, Mariusz Tkaczyk wrote:
> >>>> As I understand it the offset and size will give the bounds of the
> >>>> data region on the disk. Do you not think it works for zoned raid0?    
> >>>
> >>> mdadm operates on 512B, so using 4K data regions could be destructive.
> >>> Also left shift causes that size value is increasing. We can't clear more
> >>> that user requested. We need to use 512b sectors as mdadm does.    
> >>
> >> I don't really follow this.  
> > 
> > I understand that you want left shit is used to round size to data region
> > and I assumed that data_region is 4K and that is probably wrong.
> > You are right I has no sense, my apologizes.
> > 
> > Let's imagine that our size is for example, 2687 sectors. Left shit will
> > cause that we will get 2751488 and that will be passed as a size to
> > function. Similar for data_offset. That is much more than we want to clear.
> > Do I miss something? I guess that ioctl operates on sectors too but please
> > correct me if that is wrong.  
> 
> The BLKDISCARD ioctl assumes bytes for the range, not sectors. Though it
> does have to be sector aligned.
> 
> dv->data_offset is then in sectors, so we shift by 9.
> 
> s->size is in KB, so we shift by 10.
> 
Got it!
I will be thankful if you can create #defines for that. For Example:
KIB_TO_BYTES(s->size)
SEC_TO_BYTES(dv->offset)

We could reuse them later in other places.
Thanks,
Mariusz



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux