From: "Matias Bjørling" <mb@lightnvm.io>
To: Wenwei Tao <ww.tao0320@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org
Subject: Re: [PATCH 1/2] lightnvm: use rrpc->nr_luns to calculate the rrpc area size
Date: Thu, 31 Mar 2016 12:07:12 +0200 [thread overview]
Message-ID: <56FCF6D0.7020009@lightnvm.io> (raw)
In-Reply-To: <CACygaLBXO8ZF8GOWj1jMjYFd=2cq-noiO1tyAznbp+2pDU8wfw@mail.gmail.com>
On 03/31/2016 11:51 AM, Wenwei Tao wrote:
> This could be work, but it needs more steps when rrpc_area_init fails.
> If rrpc_area_init fail we may come to rrpc_free and call
> rrpc_area_free, we find and put the area by the rrpc->soffset value,
> this value is zero when we fail to get an area, we may put an exist
> area that really start from zero by mistake. If we move rrpc_area_init
> call under the rrpc_luns_init call instead, we need a way to avoid it.
Fair enough. How about this:
diff --git i/drivers/lightnvm/rrpc.c w/drivers/lightnvm/rrpc.c
index 3ab6495..05a0698 100644
--- i/drivers/lightnvm/rrpc.c
+++ w/drivers/lightnvm/rrpc.c
@@ -1207,10 +1207,6 @@ static int rrpc_luns_init(struct rrpc *rrpc, int
lun_begin, int lun_end)
INIT_WORK(&rlun->ws_gc, rrpc_lun_gc);
spin_lock_init(&rlun->lock);
-
- rrpc->total_blocks += dev->blks_per_lun;
- rrpc->nr_sects += dev->sec_per_lun;
-
}
return 0;
@@ -1388,6 +1384,8 @@ static void *rrpc_init(struct nvm_dev *dev, struct
gendisk *tdisk,
INIT_WORK(&rrpc->ws_requeue, rrpc_requeue);
rrpc->nr_luns = lun_end - lun_begin + 1;
+ rrpc->total_blocks = dev->blks_per_lun * rrpc->nr_luns;
+ rrpc->nr_sects = dev->sec_per_lun * rrpc->nr_luns;
/* simple round-robin strategy */
atomic_set(&rrpc->next_lun, -1);
That nr_sects is initialized and we can use it in rrpc_area_init without
moving the initialization order?
next prev parent reply other threads:[~2016-03-31 10:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-30 14:28 [PATCH 1/2] lightnvm: use rrpc->nr_luns to calculate the rrpc area size Wenwei Tao
2016-03-30 14:28 ` [PATCH 2/2] lightnvm: use relative logical address in rrpc_l2p_update Wenwei Tao
2016-03-31 9:11 ` Matias Bjørling
2016-03-31 11:09 ` Wenwei Tao
2016-03-31 8:31 ` [PATCH 1/2] lightnvm: use rrpc->nr_luns to calculate the rrpc area size Wenwei Tao
2016-03-31 8:57 ` Matias Bjørling
2016-03-31 9:51 ` Wenwei Tao
2016-03-31 10:07 ` Matias Bjørling [this message]
2016-03-31 10:26 ` Wenwei Tao
2016-03-31 13:25 ` Matias Bjørling
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=56FCF6D0.7020009@lightnvm.io \
--to=mb@lightnvm.io \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ww.tao0320@gmail.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.