Message ID | 87d2f9ds17.fsf@elisp.net (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
On Tue, May 20, 2014 at 12:53:56PM +0900, naota@elisp.net wrote: > In era_ctr(), era->md remain NULL until it's set after metadata_open(). > On the other hand, era_destroy() assume era->md is non-NULL and it is > called by era_ctr() before initializing the value. Thanks. This change went into my tree on the 11th March, I'll chase and see why it's not upstream yet. - Joe -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
diff --git a/drivers/md/dm-era-target.c b/drivers/md/dm-era-target.c index 414dad4..ad913cd 100644 --- a/drivers/md/dm-era-target.c +++ b/drivers/md/dm-era-target.c @@ -1391,7 +1391,8 @@ static int era_is_congested(struct dm_target_callbacks *cb, int bdi_bits) static void era_destroy(struct era *era) { - metadata_close(era->md); + if (era->md) + metadata_close(era->md); if (era->wq) destroy_workqueue(era->wq);
In era_ctr(), era->md remain NULL until it's set after metadata_open(). On the other hand, era_destroy() assume era->md is non-NULL and it is called by era_ctr() before initializing the value. This patch just checks if era->md is non-NULL. Signed-off-by: Naohiro Aota <naota@elisp.net> --- drivers/md/dm-era-target.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)