scst: Remove the exec_sync flag

Since all device handlers have at least one asynchronous mode, remove
the exec_sync flag.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@7919 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2019-02-12 03:07:54 +00:00
parent c63c44e4f0
commit 70150cb912
4 changed files with 5 additions and 20 deletions
+2 -8
View File
@@ -563,8 +563,6 @@ struct scst_dev_type
unsigned no_proc:1;
unsigned exec_sync:1;
unsigned pr_cmds_notifications:1;
int threads_num;
@@ -607,9 +605,6 @@ execution in the atomic (non-sleeping) context.
<item> <bf/no_proc/ - true, if no /proc files should be automatically
created by SCST for this dev handler
<item> <bf/exec_sync/ - should be true, if exec() is synchronous. This
is a hint to SCST core to optimize commands order management.
<item> <bf/pr_cmds_notifications/ - should be set if the device wants to
receive notification of Persistent Reservation commands (PR OUT only)
Note: The notifications will not be sent if the command failed.
@@ -682,9 +677,8 @@ Returns:
mid-level.
</itemize>
If this function provides sync execution, you should set
exec_sync flag and consider to setup dedicated threads by
setting <it/threads_num/ > 0.
If this function provides sync execution, you should consider to setup
dedicated threads by setting <it/threads_num/ > 0.
Optional, if not set, the commands will be sent directly to SCSI
device.
+2 -9
View File
@@ -1381,12 +1381,6 @@ struct scst_dev_type {
unsigned no_proc:1;
#endif
/*
* Should be true, if exec() is synchronous. This is a hint to SCST core
* to optimize commands order management.
*/
unsigned exec_sync:1;
/*
* Should be set if the device wants to receive notification of
* Persistent Reservation commands (PR OUT only)
@@ -1454,9 +1448,8 @@ struct scst_dev_type {
* - SCST_EXEC_NOT_COMPLETED - the cmd should be sent to SCSI
* mid-level.
*
* If this function provides sync execution, you should set
* exec_sync flag and consider to setup dedicated threads by
* setting threads_num > 0.
* If this function provides sync execution, you should to set up
* dedicated threads by setting threads_num > 0.
*
* Dev handlers implementing internal queuing in their exec() callback
* should call scst_check_local_events() just before the actual
-2
View File
@@ -760,7 +760,6 @@ static vdisk_op_fn nullio_ops[256];
static struct scst_dev_type vdisk_file_devtype = {
.name = "vdisk_fileio",
.type = TYPE_DISK,
.exec_sync = 1,
.threads_num = -1,
.parse_atomic = 1,
.dev_done_atomic = 1,
@@ -922,7 +921,6 @@ static struct scst_dev_type vdisk_null_devtype = {
static struct scst_dev_type vcdrom_devtype = {
.name = "vcdrom",
.type = TYPE_ROM,
.exec_sync = 1,
.threads_num = -1,
.parse_atomic = 1,
.dev_done_atomic = 1,
+1 -1
View File
@@ -953,7 +953,7 @@ int scst_pre_parse(struct scst_cmd *cmd)
#ifdef CONFIG_SCST_STRICT_SERIALIZING
cmd->inc_expected_sn_on_done = 1;
#else
cmd->inc_expected_sn_on_done = devt->exec_sync || cmd->cmd_naca ||
cmd->inc_expected_sn_on_done = cmd->cmd_naca ||
(!dev->has_own_order_mgmt &&
(dev->queue_alg == SCST_QUEUE_ALG_0_RESTRICTED_REORDER ||
cmd->queue_type == SCST_CMD_QUEUE_ORDERED));