On Tue, 2016-01-12 at 16:11 +0100, Christoph Hellwig wrote: > > +struct se_session * > > +target_alloc_session(struct se_portal_group *tpg, > > + unsigned int tag_num, unsigned int tag_size, > > + enum target_prot_op prot_op, > > + const char *initiatorname, void *private, > > + int (*callback)(struct se_portal_group *, > > + struct se_session *, void *)) > > +{ > > I'd much rather have the fabrics drivers call transport_alloc_session_tags > directly from the callback than growing even more arguments here. > What's the point..? Only vhost-scsi currently needs to allocate extra resources for se_session percpu-ida tag pre-allocation. The rest of the consumers can just use this common code. > > + struct se_session *sess; > > + > > + if (tag_num != 0 && !tag_size) { > > + pr_err("target_alloc_session called with percpu-ida tag_num:" > > + " %u, but zero tag_size\n", tag_num); > > + return ERR_PTR(-EINVAL); > > + } > > + if (!tag_num && tag_size) { > > + pr_err("target_alloc_session called with percpu-ida tag_size:" > > + " %u, but zero tag_num\n", tag_size); > > + return ERR_PTR(-EINVAL); > > + } > > These checks should be in transport_alloc_session_tags. > Done. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html