static struct request *
sio_choose_expired_request(struct sio_data *sd)
{
	struct request *rq;

	/*
	 * Check expired requests.
	 * Asynchronous requests have priority over synchronous.
	 * Write requests have priority over read.
	 */
	rq = sio_expired_request(sd, ASYNC, WRITE);
	if (rq)
		return rq;
	rq = sio_expired_request(sd, ASYNC, READ);
	if (rq)
		return rq;

	rq = sio_expired_request(sd, SYNC, WRITE);
	if (rq)
		return rq;
	rq = sio_expired_request(sd, SYNC, READ);
	if (rq)
		return rq;


	return NULL;
}
static struct request *
sio_choose_expired_request(struct sio_data *sd)
{
struct request *sync = sio_expired_request(sd, SYNC);
struct request *async = sio_expired_request(sd, ASYNC);

/*
* Check expired requests. Asynchronous requests have
* priority over synchronous.
*/
if (sync && async)
return async;
if (sync)
return sync;

return async;

}
static struct request *
sio_choose_expired_request(struct sio_data *sd)
{
	struct request *rq;
	rq = sio_expired_request(sd, ASYNC, WRITE);
	if (rq)
		return rq;
	rq = sio_expired_request(sd, ASYNC, READ);
	if (rq)
		return rq;

	rq = sio_expired_request(sd, SYNC, WRITE);
	if (rq)
		return rq;
	rq = sio_expired_request(sd, SYNC, READ);
	if (rq)
		return rq;

	return NULL;
}