From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Bolle Subject: Re: [PATCH 2/5 v2] blk-mq: Support for Open-Channel SSDs Date: Thu, 16 Apr 2015 11:10:08 +0200 Message-ID: <1429175408.16771.45.camel@x220> References: <1429101284-19490-1-git-send-email-m@bjorling.me> <1429101284-19490-3-git-send-email-m@bjorling.me> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: hch@infradead.org, axboe@fb.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, javier@paletta.io, keith.busch@intel.com To: Matias =?ISO-8859-1?Q?Bj=F8rling?= Return-path: In-Reply-To: <1429101284-19490-3-git-send-email-m@bjorling.me> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org A few things I spotted (while actually fiddling with 3/5). On Wed, 2015-04-15 at 14:34 +0200, Matias Bj=C3=B8rling wrote: > index f3dd028..58a8a71 100644 > --- a/block/blk-mq.c > +++ b/block/blk-mq.c > @@ -221,6 +221,9 @@ static void blk_mq_rq_ctx_init(struct request_que= ue *q, struct blk_mq_ctx *ctx, > rq->end_io =3D NULL; > rq->end_io_data =3D NULL; > rq->next_rq =3D NULL; > +#if CONFIG_BLK_DEV_NVM I think you meant #ifdef CONFIG_BLK_DEV_NVM > + rq->phys_sector =3D 0; > +#endif > =20 > ctx->rq_dispatched[rw_is_sync(rw_flags)]++; > } > --- /dev/null > +++ b/block/blk-nvm.c > +int nvm_register_target(struct nvm_target_type *tt) > +{ > + int ret =3D 0; > + > + down_write(&_lock); > + if (nvm_find_target_type(tt->name)) > + ret =3D -EEXIST; > + else > + list_add(&tt->list, &_targets); > + up_write(&_lock); > + > + return ret; > +} > + > +void nvm_unregister_target(struct nvm_target_type *tt) > +{ > + if (!tt) > + return; > + > + down_write(&_lock); > + list_del(&tt->list); > + up_write(&_lock); > +} Trying to build rrpc.ko I saw this WARNING: "nvm_unregister_target" [[...]/drivers/lightnvm/rrpc.ko] u= ndefined! WARNING: "nvm_register_target" [[...]/drivers/lightnvm/rrpc.ko] und= efined! So I guess you need to export these two functions too. > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -209,6 +209,9 @@ struct request { > =20 > /* for bidi */ > struct request *next_rq; > +#if CONFIG_BLK_DEV_NVM Again, I think #ifdef CONFIG_BLK_DEV_NVM > + sector_t phys_sector; > +#endif > }; > =20 > static inline unsigned short req_get_ioprio(struct request *req) Paul Bolle