/* Returns NULL if a new cfqq should be allocated, or the old cfqq if this was the last process referring to said cfqq.  */
static struct cfq_queue* split_cfqq(struct cfq_io_context *cic, struct cfq_queue *cfqq)
/* Returns NULL if a new cfqq should be allocated, or the old cfqq if this was the last process referring to said cfqq.  */
static struct cfq_queue* split_cfqq(struct cfq_io_context *cic, struct cfq_queue *cfqq)
{
	if (cfqq_process_refs(cfqq) == 1) {
		cfqq->pid = current->pid;
		cfq_clear_cfqq_coop(cfqq);
		cfq_clear_cfqq_split_coop(cfqq);
		return cfqq;
	}
	cic_set_cfqq(cic, NULL, 1);
	cfq_put_queue(cfqq);
	return NULL;
}