[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20200619045519.GA29997@intel.com>
Date: Fri, 19 Jun 2020 12:55:20 +0800
From: kernel test robot <lkp@...el.com>
To: Keith Busch <keith.busch@...el.com>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
Jens Axboe <axboe@...nel.dk>, Christoph Hellwig <hch@....de>
Subject: include/linux/blk-mq.h:300:29: error: 'MQ_RQ_IN_FLIGHT' undeclared
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5e857ce6eae7ca21b2055cca4885545e29228fe2
commit: 0fc09f920983f61be625658c62cc40ac25a7b3a5 blk-mq: export setting request completion state
config: powerpc64-randconfig-m031-20200618 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
In file included from include/scsi/scsi_cmnd.h:11,
from drivers/ata/libata-core.c:65:
include/scsi/scsi_device.h:433:4: error: unknown type name 'req_flags_t'; did you mean 'vm_flags_t'?
433 | req_flags_t rq_flags, int *resid);
| ^~~~~~~~~~~
| vm_flags_t
include/scsi/scsi_device.h: In function 'scsi_execute_req':
include/scsi/scsi_device.h:439:9: error: implicit declaration of function 'scsi_execute'; did you mean 'scsi_execute_req'? [-Werror=implicit-function-declaration]
439 | return scsi_execute(sdev, cmd, data_direction, buffer,
| ^~~~~~~~~~~~
| scsi_execute_req
In file included from include/scsi/scsi_request.h:5,
from include/scsi/scsi_cmnd.h:12,
from drivers/ata/libata-core.c:65:
include/linux/blk-mq.h: At top level:
include/linux/blk-mq.h:142:2: error: unknown type name 'softirq_done_fn'
142 | softirq_done_fn *complete;
| ^~~~~~~~~~~~~~~
In file included from arch/powerpc/include/asm/atomic.h:11,
from include/linux/atomic.h:5,
from include/linux/debug_locks.h:6,
from include/linux/lockdep.h:28,
from include/linux/spinlock_types.h:18,
from include/linux/spinlock.h:82,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:10,
from drivers/ata/libata-core.c:44:
include/linux/blk-mq.h: In function 'blk_mq_mark_complete':
include/linux/blk-mq.h:300:20: error: dereferencing pointer to incomplete type 'struct request'
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~
arch/powerpc/include/asm/cmpxchg.h:483:19: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^~~
>> include/linux/blk-mq.h:300:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:483:32: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^
include/linux/blk-mq.h:300:29: note: each undeclared identifier is reported only once for each function it appears in
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:483:32: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^
>> include/linux/blk-mq.h:300:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function); did you mean 'COMMAND_COMPLETE'?
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:484:32: note: in definition of macro 'cmpxchg'
484 | __typeof__(*(ptr)) _n_ = (n); \
| ^
In file included from include/scsi/scsi_request.h:5,
from include/scsi/scsi_cmnd.h:12,
from drivers/ata/libata-core.c:65:
include/linux/blk-mq.h: In function 'blk_mq_rq_from_pdu':
include/linux/blk-mq.h:310:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
310 | return pdu - sizeof(struct request);
| ^~~~~~
include/linux/blk-mq.h: In function 'blk_mq_rq_to_pdu':
include/linux/blk-mq.h:314:12: error: invalid use of undefined type 'struct request'
314 | return rq + 1;
| ^
In file included from drivers/ata/libata-core.c:65:
include/scsi/scsi_cmnd.h: In function 'scsi_bidi_cmnd':
include/scsi/scsi_cmnd.h:215:9: error: implicit declaration of function 'blk_bidi_rq' [-Werror=implicit-function-declaration]
215 | return blk_bidi_rq(cmd->request) &&
| ^~~~~~~~~~~
include/scsi/scsi_cmnd.h: In function 'scsi_get_lba':
include/scsi/scsi_cmnd.h:308:9: error: implicit declaration of function 'blk_rq_pos' [-Werror=implicit-function-declaration]
308 | return blk_rq_pos(scmd->request);
| ^~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from include/scsi/scsi_host.h:11,
from drivers/ata/libata-scsi.c:42:
include/linux/blk-mq.h:98:9: error: type defaults to 'int' in declaration of 'blk_status_t' [-Werror=implicit-int]
98 | typedef blk_status_t (queue_rq_fn)(struct blk_mq_hw_ctx *,
| ^~~~~~~~~~~~
include/linux/blk-mq.h:98:9: error: 'blk_status_t' declared as function returning a function
include/linux/blk-mq.h:99:16: warning: parameter names (without types) in function declaration
99 | const struct blk_mq_queue_data *);
| ^~~~~~~~~~~~~~~~~
include/linux/blk-mq.h:121:2: error: unknown type name 'queue_rq_fn'
121 | queue_rq_fn *queue_rq;
| ^~~~~~~~~~~
include/linux/blk-mq.h:142:2: error: unknown type name 'softirq_done_fn'
142 | softirq_done_fn *complete;
| ^~~~~~~~~~~~~~~
include/linux/blk-mq.h:217:31: error: 'blk_mq_req_flags_t' undeclared here (not in a function); did you mean 'blk_mq_free_tag_set'?
217 | BLK_MQ_REQ_NOWAIT = (__force blk_mq_req_flags_t)(1 << 0),
| ^~~~~~~~~~~~~~~~~~
| blk_mq_free_tag_set
include/linux/blk-mq.h:227:3: error: expected declaration specifiers or '...' before 'blk_mq_req_flags_t'
227 | blk_mq_req_flags_t flags);
| ^~~~~~~~~~~~~~~~~~
include/linux/blk-mq.h:229:20: error: expected declaration specifiers or '...' before 'blk_mq_req_flags_t'
229 | unsigned int op, blk_mq_req_flags_t flags,
| ^~~~~~~~~~~~~~~~~~
In file included from arch/powerpc/include/asm/atomic.h:11,
from include/linux/atomic.h:5,
from include/linux/debug_locks.h:6,
from include/linux/lockdep.h:28,
from include/linux/spinlock_types.h:18,
from include/linux/spinlock.h:82,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from drivers/ata/libata-scsi.c:36:
include/linux/blk-mq.h: In function 'blk_mq_mark_complete':
include/linux/blk-mq.h:300:20: error: dereferencing pointer to incomplete type 'struct request'
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~
arch/powerpc/include/asm/cmpxchg.h:483:19: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^~~
>> include/linux/blk-mq.h:300:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:483:32: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^
include/linux/blk-mq.h:300:29: note: each undeclared identifier is reported only once for each function it appears in
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:483:32: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^
>> include/linux/blk-mq.h:300:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function); did you mean 'COMMAND_COMPLETE'?
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:484:32: note: in definition of macro 'cmpxchg'
484 | __typeof__(*(ptr)) _n_ = (n); \
| ^
In file included from include/scsi/scsi_host.h:11,
from drivers/ata/libata-scsi.c:42:
include/linux/blk-mq.h: In function 'blk_mq_rq_from_pdu':
include/linux/blk-mq.h:310:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
310 | return pdu - sizeof(struct request);
| ^~~~~~
include/linux/blk-mq.h: In function 'blk_mq_rq_to_pdu':
include/linux/blk-mq.h:314:12: error: invalid use of undefined type 'struct request'
314 | return rq + 1;
| ^
In file included from include/scsi/scsi_cmnd.h:11,
from drivers/ata/libata-scsi.c:43:
include/scsi/scsi_device.h: At top level:
include/scsi/scsi_device.h:433:4: error: unknown type name 'req_flags_t'; did you mean 'vm_flags_t'?
433 | req_flags_t rq_flags, int *resid);
| ^~~~~~~~~~~
| vm_flags_t
include/scsi/scsi_device.h: In function 'scsi_execute_req':
include/scsi/scsi_device.h:439:9: error: implicit declaration of function 'scsi_execute'; did you mean 'scsi_execute_req'? [-Werror=implicit-function-declaration]
439 | return scsi_execute(sdev, cmd, data_direction, buffer,
| ^~~~~~~~~~~~
| scsi_execute_req
In file included from drivers/ata/libata-scsi.c:43:
include/scsi/scsi_cmnd.h: In function 'scsi_bidi_cmnd':
include/scsi/scsi_cmnd.h:215:9: error: implicit declaration of function 'blk_bidi_rq' [-Werror=implicit-function-declaration]
215 | return blk_bidi_rq(cmd->request) &&
| ^~~~~~~~~~~
include/scsi/scsi_cmnd.h: In function 'scsi_get_lba':
include/scsi/scsi_cmnd.h:308:9: error: implicit declaration of function 'blk_rq_pos' [-Werror=implicit-function-declaration]
308 | return blk_rq_pos(scmd->request);
| ^~~~~~~~~~
In file included from include/linux/writeback.h:13,
from include/linux/memcontrol.h:31,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from drivers/ata/libata-scsi.c:51:
include/linux/blk_types.h: At top level:
include/linux/blk_types.h:29:22: error: conflicting types for 'blk_status_t'
29 | typedef u8 __bitwise blk_status_t;
| ^~~~~~~~~~~~
In file included from include/scsi/scsi_host.h:11,
from drivers/ata/libata-scsi.c:42:
include/linux/blk-mq.h:98:9: note: previous declaration of 'blk_status_t' was here
98 | typedef blk_status_t (queue_rq_fn)(struct blk_mq_hw_ctx *,
| ^~~~~~~~~~~~
drivers/ata/libata-scsi.c: In function 'ata_scsi_qc_new':
drivers/ata/libata-scsi.c:876:32: error: 'RQF_QUIET' undeclared (first use in this function); did you mean 'BIO_QUIET'?
876 | if (cmd->request->rq_flags & RQF_QUIET)
| ^~~~~~~~~
| BIO_QUIET
In file included from include/asm-generic/bug.h:5,
from arch/powerpc/include/asm/bug.h:128,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/ata/libata-scsi.c:36:
drivers/ata/libata-scsi.c: In function 'atapi_drain_needed':
drivers/ata/libata-scsi.c:1260:14: error: implicit declaration of function 'blk_rq_is_passthrough' [-Werror=implicit-function-declaration]
1260 | if (likely(!blk_rq_is_passthrough(rq)))
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:33:34: note: in definition of macro '__branch_check__'
33 | ______r = __builtin_expect(!!(x), expect); \
| ^
drivers/ata/libata-scsi.c:1260:6: note: in expansion of macro 'likely'
1260 | if (likely(!blk_rq_is_passthrough(rq)))
| ^~~~~~
drivers/ata/libata-scsi.c:1263:7: error: implicit declaration of function 'blk_rq_bytes' [-Werror=implicit-function-declaration]
1263 | if (!blk_rq_bytes(rq) || op_is_write(req_op(rq)))
| ^~~~~~~~~~~~
drivers/ata/libata-scsi.c: In function 'ata_scsi_dev_config':
drivers/ata/libata-scsi.c:1278:2: error: implicit declaration of function 'blk_queue_max_hw_sectors' [-Werror=implicit-function-declaration]
1278 | blk_queue_max_hw_sectors(q, dev->max_sectors);
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1286:3: error: implicit declaration of function 'blk_queue_update_dma_pad' [-Werror=implicit-function-declaration]
1286 | blk_queue_update_dma_pad(q, ATA_DMA_PAD_SZ - 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1289:35: error: dereferencing pointer to incomplete type 'struct request_queue'
1289 | buf = kmalloc(ATAPI_MAX_DRAIN, q->bounce_gfp | GFP_KERNEL);
| ^~
drivers/ata/libata-scsi.c:1295:3: error: implicit declaration of function 'blk_queue_dma_drain' [-Werror=implicit-function-declaration]
1295 | blk_queue_dma_drain(q, atapi_drain_needed, buf, ATAPI_MAX_DRAIN);
| ^~~~~~~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1313:2: error: implicit declaration of function 'blk_queue_update_dma_alignment' [-Werror=implicit-function-declaration]
1313 | blk_queue_update_dma_alignment(q, sdev->sector_size - 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/ata/libata-scsi.c:1326:2: error: implicit declaration of function 'blk_queue_flush_queueable' [-Werror=implicit-function-declaration]
1326 | blk_queue_flush_queueable(q, false);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/fs.h:39,
from include/linux/huge_mm.h:7,
from include/linux/mm.h:479,
from include/linux/scatterlist.h:8,
from include/scsi/scsi.h:10,
from drivers/ata/libata-scsi.c:41:
--
In file included from include/scsi/scsi_host.h:11,
from drivers/ata/libata-eh.c:40:
include/linux/blk-mq.h:98:9: error: type defaults to 'int' in declaration of 'blk_status_t' [-Werror=implicit-int]
98 | typedef blk_status_t (queue_rq_fn)(struct blk_mq_hw_ctx *,
| ^~~~~~~~~~~~
include/linux/blk-mq.h:98:9: error: 'blk_status_t' declared as function returning a function
include/linux/blk-mq.h:99:16: warning: parameter names (without types) in function declaration
99 | const struct blk_mq_queue_data *);
| ^~~~~~~~~~~~~~~~~
include/linux/blk-mq.h:121:2: error: unknown type name 'queue_rq_fn'
121 | queue_rq_fn *queue_rq;
| ^~~~~~~~~~~
include/linux/blk-mq.h:142:2: error: unknown type name 'softirq_done_fn'
142 | softirq_done_fn *complete;
| ^~~~~~~~~~~~~~~
include/linux/blk-mq.h:217:31: error: 'blk_mq_req_flags_t' undeclared here (not in a function); did you mean 'blk_mq_free_tag_set'?
217 | BLK_MQ_REQ_NOWAIT = (__force blk_mq_req_flags_t)(1 << 0),
| ^~~~~~~~~~~~~~~~~~
| blk_mq_free_tag_set
include/linux/blk-mq.h:227:3: error: expected declaration specifiers or '...' before 'blk_mq_req_flags_t'
227 | blk_mq_req_flags_t flags);
| ^~~~~~~~~~~~~~~~~~
include/linux/blk-mq.h:229:20: error: expected declaration specifiers or '...' before 'blk_mq_req_flags_t'
229 | unsigned int op, blk_mq_req_flags_t flags,
| ^~~~~~~~~~~~~~~~~~
In file included from arch/powerpc/include/asm/atomic.h:11,
from include/linux/atomic.h:5,
from include/linux/rcupdate.h:38,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/blkdev.h:5,
from drivers/ata/libata-eh.c:36:
include/linux/blk-mq.h: In function 'blk_mq_mark_complete':
include/linux/blk-mq.h:300:20: error: dereferencing pointer to incomplete type 'struct request'
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~
arch/powerpc/include/asm/cmpxchg.h:483:19: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^~~
>> include/linux/blk-mq.h:300:29: error: 'MQ_RQ_IN_FLIGHT' undeclared (first use in this function)
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:483:32: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^
include/linux/blk-mq.h:300:29: note: each undeclared identifier is reported only once for each function it appears in
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:483:32: note: in definition of macro 'cmpxchg'
483 | __typeof__(*(ptr)) _o_ = (o); \
| ^
>> include/linux/blk-mq.h:300:46: error: 'MQ_RQ_COMPLETE' undeclared (first use in this function); did you mean 'COMMAND_COMPLETE'?
300 | return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/cmpxchg.h:484:32: note: in definition of macro 'cmpxchg'
484 | __typeof__(*(ptr)) _n_ = (n); \
| ^
In file included from include/scsi/scsi_host.h:11,
from drivers/ata/libata-eh.c:40:
include/linux/blk-mq.h: In function 'blk_mq_rq_from_pdu':
include/linux/blk-mq.h:310:22: error: invalid application of 'sizeof' to incomplete type 'struct request'
310 | return pdu - sizeof(struct request);
| ^~~~~~
include/linux/blk-mq.h: In function 'blk_mq_rq_to_pdu':
include/linux/blk-mq.h:314:12: error: invalid use of undefined type 'struct request'
314 | return rq + 1;
| ^
In file included from include/scsi/scsi_cmnd.h:11,
from include/scsi/scsi_eh.h:7,
from drivers/ata/libata-eh.c:41:
include/scsi/scsi_device.h: At top level:
include/scsi/scsi_device.h:433:4: error: unknown type name 'req_flags_t'; did you mean 'vm_flags_t'?
433 | req_flags_t rq_flags, int *resid);
| ^~~~~~~~~~~
| vm_flags_t
include/scsi/scsi_device.h: In function 'scsi_execute_req':
include/scsi/scsi_device.h:439:9: error: implicit declaration of function 'scsi_execute'; did you mean 'scsi_execute_req'? [-Werror=implicit-function-declaration]
439 | return scsi_execute(sdev, cmd, data_direction, buffer,
| ^~~~~~~~~~~~
| scsi_execute_req
In file included from include/scsi/scsi_eh.h:7,
from drivers/ata/libata-eh.c:41:
include/scsi/scsi_cmnd.h: In function 'scsi_bidi_cmnd':
include/scsi/scsi_cmnd.h:215:9: error: implicit declaration of function 'blk_bidi_rq' [-Werror=implicit-function-declaration]
215 | return blk_bidi_rq(cmd->request) &&
| ^~~~~~~~~~~
include/scsi/scsi_cmnd.h: In function 'scsi_get_lba':
include/scsi/scsi_cmnd.h:308:9: error: implicit declaration of function 'blk_rq_pos' [-Werror=implicit-function-declaration]
308 | return blk_rq_pos(scmd->request);
| ^~~~~~~~~~
In file included from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/ktime.h:24,
from include/linux/rcutiny.h:28,
from include/linux/rcupdate.h:210,
from include/linux/rculist.h:11,
from include/linux/pid.h:5,
from include/linux/sched.h:14,
from include/linux/blkdev.h:5,
from drivers/ata/libata-eh.c:36:
drivers/ata/libata-eh.c: In function 'ata_qc_schedule_eh':
drivers/ata/libata-eh.c:937:21: error: dereferencing pointer to incomplete type 'struct request_queue'
937 | spin_lock_irqsave(q->queue_lock, flags);
| ^~
include/linux/spinlock.h:222:34: note: in definition of macro 'raw_spin_lock_irqsave'
222 | flags = _raw_spin_lock_irqsave(lock); \
| ^~~~
drivers/ata/libata-eh.c:937:2: note: in expansion of macro 'spin_lock_irqsave'
937 | spin_lock_irqsave(q->queue_lock, flags);
| ^~~~~~~~~~~~~~~~~
drivers/ata/libata-eh.c:938:2: error: implicit declaration of function 'blk_abort_request'; did you mean 'blk_mq_end_request'? [-Werror=implicit-function-declaration]
938 | blk_abort_request(qc->scsicmd->request);
| ^~~~~~~~~~~~~~~~~
| blk_mq_end_request
drivers/ata/libata-eh.c: In function 'ata_eh_quiet':
drivers/ata/libata-eh.c:2119:39: error: 'RQF_QUIET' undeclared (first use in this function)
2119 | qc->scsicmd->request->rq_flags & RQF_QUIET)
| ^~~~~~~~~
cc1: some warnings being treated as errors
..
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0fc09f920983f61be625658c62cc40ac25a7b3a5
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 0fc09f920983f61be625658c62cc40ac25a7b3a5
vim +/MQ_RQ_IN_FLIGHT +300 include/linux/blk-mq.h
4f084b41a0c04a Ming Lei 2017-06-06 289
0fc09f920983f6 Keith Busch 2018-07-23 290 /**
0fc09f920983f6 Keith Busch 2018-07-23 291 * blk_mq_mark_complete() - Set request state to complete
0fc09f920983f6 Keith Busch 2018-07-23 292 * @rq: request to set to complete state
0fc09f920983f6 Keith Busch 2018-07-23 293 *
0fc09f920983f6 Keith Busch 2018-07-23 294 * Returns true if request state was successfully set to complete. If
0fc09f920983f6 Keith Busch 2018-07-23 295 * successful, the caller is responsibile for seeing this request is ended, as
0fc09f920983f6 Keith Busch 2018-07-23 296 * blk_mq_complete_request will not work again.
0fc09f920983f6 Keith Busch 2018-07-23 297 */
0fc09f920983f6 Keith Busch 2018-07-23 298 static inline bool blk_mq_mark_complete(struct request *rq)
0fc09f920983f6 Keith Busch 2018-07-23 299 {
0fc09f920983f6 Keith Busch 2018-07-23 @300 return cmpxchg(&rq->state, MQ_RQ_IN_FLIGHT, MQ_RQ_COMPLETE) ==
0fc09f920983f6 Keith Busch 2018-07-23 301 MQ_RQ_IN_FLIGHT;
0fc09f920983f6 Keith Busch 2018-07-23 302 }
0fc09f920983f6 Keith Busch 2018-07-23 303
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (30748 bytes)
Powered by blists - more mailing lists