|
@@ -1114,6 +1114,11 @@ static int rrpc_luns_init(struct rrpc *rrpc, int lun_begin, int lun_end)
|
|
struct rrpc_lun *rlun;
|
|
struct rrpc_lun *rlun;
|
|
int i, j;
|
|
int i, j;
|
|
|
|
|
|
|
|
+ if (dev->pgs_per_blk > MAX_INVALID_PAGES_STORAGE * BITS_PER_LONG) {
|
|
|
|
+ pr_err("rrpc: number of pages per block too high.");
|
|
|
|
+ return -EINVAL;
|
|
|
|
+ }
|
|
|
|
+
|
|
spin_lock_init(&rrpc->rev_lock);
|
|
spin_lock_init(&rrpc->rev_lock);
|
|
|
|
|
|
rrpc->luns = kcalloc(rrpc->nr_luns, sizeof(struct rrpc_lun),
|
|
rrpc->luns = kcalloc(rrpc->nr_luns, sizeof(struct rrpc_lun),
|
|
@@ -1125,12 +1130,6 @@ static int rrpc_luns_init(struct rrpc *rrpc, int lun_begin, int lun_end)
|
|
for (i = 0; i < rrpc->nr_luns; i++) {
|
|
for (i = 0; i < rrpc->nr_luns; i++) {
|
|
struct nvm_lun *lun = dev->mt->get_lun(dev, lun_begin + i);
|
|
struct nvm_lun *lun = dev->mt->get_lun(dev, lun_begin + i);
|
|
|
|
|
|
- if (dev->pgs_per_blk >
|
|
|
|
- MAX_INVALID_PAGES_STORAGE * BITS_PER_LONG) {
|
|
|
|
- pr_err("rrpc: number of pages per block too high.");
|
|
|
|
- goto err;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
rlun = &rrpc->luns[i];
|
|
rlun = &rrpc->luns[i];
|
|
rlun->rrpc = rrpc;
|
|
rlun->rrpc = rrpc;
|
|
rlun->parent = lun;
|
|
rlun->parent = lun;
|