Re: DISCARD support in kernel driver

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

 



Hi Greg,

Thanks for your answer. I did

 $ mount -t ext4 -o discard /dev/rbd1 /mnt
 # did not see any DISCARD op after that
 $ fstrim /mnt
 # neither

Maybe missing something there ? I expected '-o discard' to be enough ?

On 01/30/14 16:24, Gregory Farnum wrote:
On Thu, Jan 30, 2014 at 1:31 AM, Jean-Tiare LE BIGOT
<jean-tiare.le-bigot@xxxxxxx> 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 ?

I don't know anything about the relevant kernel internal interfaces
here, but don't most FSes need to be told explicitly to do trimming?
Did you do that?
-Greg
Software Engineer #42 @ http://inktank.com | http://ceph.com


--
Jean-Tiare, shared-hosting team


--
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