Commit 6d61ae6d authored by dorseycolin's avatar dorseycolin Committed by Tomasz Zawadzki
Browse files

include/spdk_internal: move TAIL_Q functions from queue_extras to queue



On FreeBSD compilation errors are happening because in the nvme_tcp
file, its looking for functions defined in queue extras. Since these
functions are not exclusive for linux queues, move the functions into
queue.h

Change-Id: Iddb11f551e0475ef5a724c88d9d58f000bdcd9ef
Signed-off-by: default avatarColin Dorsey <colin.dorsey@dell.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26074


Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
parent 39df38cb
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -44,6 +44,44 @@ extern "C" {
} while (0)
#endif

/*
 * Check if an entry is on any TAILQ list.
 *
 * Should only be used on zero initalized entries or after
 * calling TAILQ_REMOVE_CLEAR() or TAILQ_ENTRY_CLEAR().
 */
#define TAILQ_ENTRY_ENQUEUED(elm, field)				\
    ((elm)->field.tqe_prev != NULL)

/*
 * Check if an entry is not on any TAILQ list.
 *
 * Should only be used on zero initalized entries or after
 * calling TAILQ_REMOVE_CLEAR() or TAILQ_ENTRY_CLEAR().
 */
#define TAILQ_ENTRY_NOT_ENQUEUED(elm, field)				\
    (!TAILQ_ENTRY_ENQUEUED(elm, field))

/*
 * Mark an entry as absent from any TAILQ list.
 *
 * Should be called once after TAILQ_REMOVE(), or on entries
 * that were not initalized to zero.
 */
#define TAILQ_ENTRY_CLEAR(elm, field) do {				\
	/* Ensure the entry was on a list before clearing */		\
	assert(TAILQ_ENTRY_ENQUEUED(elm, field));			\
	(elm)->field.tqe_prev = NULL;					\
} while (0)

/*
 * Remove entry from TAILQ list and mark it as absent.
 */
#define TAILQ_REMOVE_CLEAR(head, elm, field) do {			\
	TAILQ_REMOVE(head, elm, field);					\
	TAILQ_ENTRY_CLEAR(elm, field);					\
} while (0)

#ifdef __cplusplus
}
#endif
+0 −39
Original line number Diff line number Diff line
@@ -371,45 +371,6 @@ struct { \
	SPDK_QE_UNSUPPRESS_WARNINGS();					\
} while (0)

/*
 * Check if an entry is on any TAILQ list.
 *
 * Should only be used on zero initalized entries or after
 * calling TAILQ_REMOVE_CLEAR() or TAILQ_ENTRY_CLEAR().
 */
#define TAILQ_ENTRY_ENQUEUED(elm, field)				\
    ((elm)->field.tqe_prev != NULL)

/*
 * Check if an entry is not on any TAILQ list.
 *
 * Should only be used on zero initalized entries or after
 * calling TAILQ_REMOVE_CLEAR() or TAILQ_ENTRY_CLEAR().
 */
#define TAILQ_ENTRY_NOT_ENQUEUED(elm, field)				\
    (!TAILQ_ENTRY_ENQUEUED(elm, field))

/*
 * Mark an entry as absent from any TAILQ list.
 *
 * Should be called once after TAILQ_REMOVE(), or on entries
 * that were not initalized to zero.
 */
#define TAILQ_ENTRY_CLEAR(elm, field) do {				\
	/* Ensure the entry was on a list before clearing */		\
	assert(TAILQ_ENTRY_ENQUEUED(elm, field));			\
	(elm)->field.tqe_prev = NULL;					\
} while (0)

/*
 * Remove entry from TAILQ list and mark it as absent.
 */
#define TAILQ_REMOVE_CLEAR(head, elm, field) do {			\
	TAILQ_REMOVE(head, elm, field);					\
	TAILQ_ENTRY_CLEAR(elm, field);					\
} while (0)


#ifdef __cplusplus
}
#endif