CasperSecurity

Current Path : /usr/src/linux-headers-5.15.0-176/include/scsi/
Upload File :
Current File : //usr/src/linux-headers-5.15.0-176/include/scsi/scsi_tcq.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _SCSI_SCSI_TCQ_H
#define _SCSI_SCSI_TCQ_H

#include <linux/blkdev.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>

#define SCSI_NO_TAG	(-1)    /* identify no tag in use */


#ifdef CONFIG_BLOCK
/**
 * scsi_host_find_tag - find the tagged command by host
 * @shost:	pointer to scsi_host
 * @tag:	tag
 *
 * Note: for devices using multiple hardware queues tag must have been
 * generated by blk_mq_unique_tag().
 **/
static inline struct scsi_cmnd *scsi_host_find_tag(struct Scsi_Host *shost,
		int tag)
{
	struct request *req = NULL;
	u16 hwq;

	if (tag == SCSI_NO_TAG)
		return NULL;

	hwq = blk_mq_unique_tag_to_hwq(tag);
	if (hwq < shost->tag_set.nr_hw_queues) {
		req = blk_mq_tag_to_rq(shost->tag_set.tags[hwq],
					blk_mq_unique_tag_to_tag(tag));
	}

	if (!req || !blk_mq_request_started(req))
		return NULL;
	return blk_mq_rq_to_pdu(req);
}

#endif /* CONFIG_BLOCK */
#endif /* _SCSI_SCSI_TCQ_H */
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY