* [PATCH] loop: Call loop_config_discard() only after new config is applied.
@ 2020-03-31 11:41 Martijn Coenen
2020-04-14 8:13 ` Martijn Coenen
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Martijn Coenen @ 2020-03-31 11:41 UTC (permalink / raw)
To: axboe, hch
Cc: ming.lei, bvanassche, Chaitanya.Kulkarni, linux-block,
linux-kernel, kernel-team, Martijn Coenen
loop_set_status() calls loop_config_discard() to configure discard for
the loop device; however, the discard configuration depends on whether
the loop device uses encryption, and when we call it the encryption
configuration has not been updated yet. Move the call down so we apply
the correct discard configuration based on the new configuration.
Signed-off-by: Martijn Coenen <maco@android.com>
---
drivers/block/loop.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 739b372a5112..7c9dcb6007a6 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -1312,8 +1312,6 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
}
}
- loop_config_discard(lo);
-
memcpy(lo->lo_file_name, info->lo_file_name, LO_NAME_SIZE);
memcpy(lo->lo_crypt_name, info->lo_crypt_name, LO_NAME_SIZE);
lo->lo_file_name[LO_NAME_SIZE-1] = 0;
@@ -1337,6 +1335,8 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
lo->lo_key_owner = uid;
}
+ loop_config_discard(lo);
+
/* update dio if lo_offset or transfer is changed */
__loop_update_dio(lo, lo->use_dio);
--
2.26.0.rc2.310.g2932bb562d-goog
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] loop: Call loop_config_discard() only after new config is applied.
2020-03-31 11:41 [PATCH] loop: Call loop_config_discard() only after new config is applied Martijn Coenen
@ 2020-04-14 8:13 ` Martijn Coenen
2020-04-14 8:16 ` Christoph Hellwig
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Martijn Coenen @ 2020-04-14 8:13 UTC (permalink / raw)
To: Jens Axboe, Christoph Hellwig
Cc: Ming Lei, Bart Van Assche, Chaitanya Kulkarni, linux-block, LKML,
kernel-team
Folks, any thoughts about this one?
Thanks,
Martijn
On Tue, Mar 31, 2020 at 1:41 PM Martijn Coenen <maco@android.com> wrote:
>
> loop_set_status() calls loop_config_discard() to configure discard for
> the loop device; however, the discard configuration depends on whether
> the loop device uses encryption, and when we call it the encryption
> configuration has not been updated yet. Move the call down so we apply
> the correct discard configuration based on the new configuration.
>
> Signed-off-by: Martijn Coenen <maco@android.com>
> ---
> drivers/block/loop.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/block/loop.c b/drivers/block/loop.c
> index 739b372a5112..7c9dcb6007a6 100644
> --- a/drivers/block/loop.c
> +++ b/drivers/block/loop.c
> @@ -1312,8 +1312,6 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
> }
> }
>
> - loop_config_discard(lo);
> -
> memcpy(lo->lo_file_name, info->lo_file_name, LO_NAME_SIZE);
> memcpy(lo->lo_crypt_name, info->lo_crypt_name, LO_NAME_SIZE);
> lo->lo_file_name[LO_NAME_SIZE-1] = 0;
> @@ -1337,6 +1335,8 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
> lo->lo_key_owner = uid;
> }
>
> + loop_config_discard(lo);
> +
> /* update dio if lo_offset or transfer is changed */
> __loop_update_dio(lo, lo->use_dio);
>
> --
> 2.26.0.rc2.310.g2932bb562d-goog
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] loop: Call loop_config_discard() only after new config is applied.
2020-03-31 11:41 [PATCH] loop: Call loop_config_discard() only after new config is applied Martijn Coenen
2020-04-14 8:13 ` Martijn Coenen
@ 2020-04-14 8:16 ` Christoph Hellwig
2020-04-17 0:19 ` Bob Liu
2020-04-18 15:46 ` Bart Van Assche
3 siblings, 0 replies; 6+ messages in thread
From: Christoph Hellwig @ 2020-04-14 8:16 UTC (permalink / raw)
To: Martijn Coenen
Cc: axboe, hch, ming.lei, bvanassche, Chaitanya.Kulkarni,
linux-block, linux-kernel, kernel-team
On Tue, Mar 31, 2020 at 01:41:16PM +0200, Martijn Coenen wrote:
> loop_set_status() calls loop_config_discard() to configure discard for
> the loop device; however, the discard configuration depends on whether
> the loop device uses encryption, and when we call it the encryption
> configuration has not been updated yet. Move the call down so we apply
> the correct discard configuration based on the new configuration.
>
> Signed-off-by: Martijn Coenen <maco@android.com>
Looks good,
Reviewed-by: Christoph Hellwig <hch@lst.de>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] loop: Call loop_config_discard() only after new config is applied.
2020-03-31 11:41 [PATCH] loop: Call loop_config_discard() only after new config is applied Martijn Coenen
2020-04-14 8:13 ` Martijn Coenen
2020-04-14 8:16 ` Christoph Hellwig
@ 2020-04-17 0:19 ` Bob Liu
2020-04-18 15:46 ` Bart Van Assche
3 siblings, 0 replies; 6+ messages in thread
From: Bob Liu @ 2020-04-17 0:19 UTC (permalink / raw)
To: Martijn Coenen, axboe, hch
Cc: ming.lei, bvanassche, Chaitanya.Kulkarni, linux-block,
linux-kernel, kernel-team
On 3/31/20 7:41 PM, Martijn Coenen wrote:
> loop_set_status() calls loop_config_discard() to configure discard for
> the loop device; however, the discard configuration depends on whether
> the loop device uses encryption, and when we call it the encryption
> configuration has not been updated yet. Move the call down so we apply
> the correct discard configuration based on the new configuration.
>
> Signed-off-by: Martijn Coenen <maco@android.com>
Looks fine to me.
Reviewed-by: Bob Liu <bob.liu@oracle.com>
> ---
> drivers/block/loop.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/block/loop.c b/drivers/block/loop.c
> index 739b372a5112..7c9dcb6007a6 100644
> --- a/drivers/block/loop.c
> +++ b/drivers/block/loop.c
> @@ -1312,8 +1312,6 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
> }
> }
>
> - loop_config_discard(lo);
> -
> memcpy(lo->lo_file_name, info->lo_file_name, LO_NAME_SIZE);
> memcpy(lo->lo_crypt_name, info->lo_crypt_name, LO_NAME_SIZE);
> lo->lo_file_name[LO_NAME_SIZE-1] = 0;
> @@ -1337,6 +1335,8 @@ loop_set_status(struct loop_device *lo, const struct loop_info64 *info)
> lo->lo_key_owner = uid;
> }
>
> + loop_config_discard(lo);
> +
> /* update dio if lo_offset or transfer is changed */
> __loop_update_dio(lo, lo->use_dio);
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] loop: Call loop_config_discard() only after new config is applied.
2020-03-31 11:41 [PATCH] loop: Call loop_config_discard() only after new config is applied Martijn Coenen
` (2 preceding siblings ...)
2020-04-17 0:19 ` Bob Liu
@ 2020-04-18 15:46 ` Bart Van Assche
2020-05-04 19:32 ` Martijn Coenen
3 siblings, 1 reply; 6+ messages in thread
From: Bart Van Assche @ 2020-04-18 15:46 UTC (permalink / raw)
To: Martijn Coenen, axboe, hch
Cc: ming.lei, Chaitanya.Kulkarni, linux-block, linux-kernel, kernel-team
On 2020-03-31 04:41, Martijn Coenen wrote:
> loop_set_status() calls loop_config_discard() to configure discard for
> the loop device; however, the discard configuration depends on whether
> the loop device uses encryption, and when we call it the encryption
> configuration has not been updated yet. Move the call down so we apply
> the correct discard configuration based on the new configuration.
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] loop: Call loop_config_discard() only after new config is applied.
2020-04-18 15:46 ` Bart Van Assche
@ 2020-05-04 19:32 ` Martijn Coenen
0 siblings, 0 replies; 6+ messages in thread
From: Martijn Coenen @ 2020-05-04 19:32 UTC (permalink / raw)
To: Jens Axboe
Cc: Christoph Hellwig, Ming Lei, Chaitanya Kulkarni, linux-block,
LKML, kernel-team, Bart Van Assche
Hi Jens,
Are you ok with this one? One of my later series depends on it, but so
far I've kept it separate because it's a bug fix.
Thanks,
Martijn
On Sat, Apr 18, 2020 at 5:46 PM Bart Van Assche <bvanassche@acm.org> wrote:
>
> On 2020-03-31 04:41, Martijn Coenen wrote:
> > loop_set_status() calls loop_config_discard() to configure discard for
> > the loop device; however, the discard configuration depends on whether
> > the loop device uses encryption, and when we call it the encryption
> > configuration has not been updated yet. Move the call down so we apply
> > the correct discard configuration based on the new configuration.
>
> Reviewed-by: Bart Van Assche <bvanassche@acm.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-05-04 19:33 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-31 11:41 [PATCH] loop: Call loop_config_discard() only after new config is applied Martijn Coenen
2020-04-14 8:13 ` Martijn Coenen
2020-04-14 8:16 ` Christoph Hellwig
2020-04-17 0:19 ` Bob Liu
2020-04-18 15:46 ` Bart Van Assche
2020-05-04 19:32 ` Martijn Coenen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).