---
name: "blk_queue_start_tag"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/blk_queue_start_tag"
---

# blk\_queue\_start\_tag(9)

find a free tag and assign it

## NAME

blk\_queue\_start\_tag - find a free tag and assign it

## SYNOPSIS

**int blk\_queue\_start\_tag(struct request\_queue \*** *q***, struct request \*** *rq***);**

## ARGUMENTS

*q*

the request queue for the device

*rq*

the block request that needs tagging

## DESCRIPTION

This can either be used as a stand-alone helper, or possibly be assigned as the queue prep\_rq\_fn (in which case struct request automagically gets a tag assigned). Note that this function assumes that any type of request can be queued! if this is not true for your device, you must check the request type before calling this function. The request will also be removed from the request queue, so it's the drivers responsibility to readd it if it should need to be restarted for some reason.

## NOTES

queue lock must be held.

## COPYRIGHT
