Re: DISCARD support in kernel driver

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

 



Jean-Tiare LE BIGOT wrote:

> Hi,
> 
> I started to implement 'DISCARD' support in RBD kernel driver as
> described on http://tracker.ceph.com/issues/190
> 
> This first (easy) step was to add at the end of
> drivers/block/rbd.c:rbd_init_disk
> 
>      /* Advertise discard support for aligned blocks */
>      queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, q);
>      disk->queue->limits.discard_granularity = segment_size;
>      disk->queue->limits.discard_alignment = segment_size;
> 
> With this both 'mount -o discard' and 'fstrim' stopped to complain about
> missing 'DISCARD' support. Good !
> 
> Next step was to add support on `rbd_request_fn` which I did (sort of).
> But here I'm stuck. If I understood well FS drivers uses `REQ_DISCARD`
> flag of `rq->cmd_flags` to notify the driver of the discard operation.
> But the problem is that (rq->cmd_flags & REQ_DISCARD) never appears to
> be set.
> 
> I tried copying then removing large files, lots of small files, forcing
> fstrim. But I never got it. I must be missing something obvious but I
> can't manage to find what ? Do you have any clue what could be wrong ?
> 
> Thanks,
> 

Well, you can use the "blkdiscard" command to force a discard of an 
arbitrary portion of a block device directly. You can used dd or ddrescue to 
copy test patterns (maybe 0xFF) to and from RBD device, and use blkdiscard 
to trim parts of that.

If that doesn't work, then the error must be elsewhere.

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux