From: Joe Thornber <thornber@redhat.com>
To: device-mapper development <dm-devel@redhat.com>
Cc: Lukas Czerner <lczerner@redhat.com>
Subject: Re: [PATCH] dm-thin: Export proper discard_granularity
Date: Thu, 12 Jun 2014 09:54:55 +0100 [thread overview]
Message-ID: <20140612085454.GA905@debian> (raw)
In-Reply-To: <1402489929-16466-1-git-send-email-lczerner@redhat.com>
ack
On Wed, Jun 11, 2014 at 02:32:09PM +0200, Lukas Czerner wrote:
> Currently if the underlying device is discard capable and the
> discard_passdown is enabled, the discard_granularity will be inherited
> from that device.
>
> This will pose a problem in the case that the device discard_granularity
> is smaller than thin volume chunk size, because in that case discard
> requests will not be chunk size aligned so it will be ignored by
> dm-thin.
>
> Fix this by setting thin volume discard granularity to the bigger of the
> two max(device discard_granularity, thin volume chunk size). Strictly
> speaking it is not necessary to get the bigger of the two, because
> the thin volume chunk size will always be >= device discard_granularity.
> However I believe that the reason for this is only because dm-thin can
> not handle discard requests bigger than chunk size which is hopefully
> going to change soon. This way it is future proof.
>
> RHBZ: 1106856
>
> Reported-by: Zdenek Kabelac <zkabelac@fedoraproject.org>
> Signed-off-by: Lukas Czerner <lczerner@redhat.com>
> ---
> drivers/md/dm-thin.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
> index 242ac2e..fdd7089 100644
> --- a/drivers/md/dm-thin.c
> +++ b/drivers/md/dm-thin.c
> @@ -3068,7 +3068,9 @@ static void set_discard_limits(struct pool_c *pt, struct queue_limits *limits)
> */
> if (pt->adjusted_pf.discard_passdown) {
> data_limits = &bdev_get_queue(pt->data_dev->bdev)->limits;
> - limits->discard_granularity = data_limits->discard_granularity;
> + limits->discard_granularity =
> + max(data_limits->discard_granularity,
> + pool->sectors_per_block << SECTOR_SHIFT);
> } else
> limits->discard_granularity = pool->sectors_per_block << SECTOR_SHIFT;
> }
> --
> 1.8.3.1
>
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
prev parent reply other threads:[~2014-06-12 8:54 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-11 12:32 [PATCH] dm-thin: Export proper discard_granularity Lukas Czerner
2014-06-11 21:31 ` Mike Snitzer
2014-06-12 8:54 ` Joe Thornber [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140612085454.GA905@debian \
--to=thornber@redhat.com \
--cc=dm-devel@redhat.com \
--cc=lczerner@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.