Unverified Commit 854e8df2 authored by Rasmus Villemoes's avatar Rasmus Villemoes Committed by Christian Brauner
Browse files

fs/pipe: stop duplicating union pipe_index declaration



Now that we build with -fms-extensions, union pipe_index can be
included as an anonymous member in struct pipe_inode_info, avoiding
the duplication.

Signed-off-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
Link: https://patch.msgid.link/20251023082142.2104456-1-linux@rasmusvillemoes.dk


Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent aa70b9cf
Loading
Loading
Loading
Loading
+7 −16
Original line number Diff line number Diff line
@@ -44,11 +44,11 @@ typedef unsigned int pipe_index_t;
typedef unsigned short pipe_index_t;
#endif

/*
 * We have to declare this outside 'struct pipe_inode_info',
 * but then we can't use 'union pipe_index' for an anonymous
 * union, so we end up having to duplicate this declaration
 * below. Annoying.
/**
 *	struct pipe_index - pipe indeces
 *	@head: The point of buffer production
 *	@tail: The point of buffer consumption
 *	@head_tail: unsigned long union of @head and @tail
 */
union pipe_index {
	unsigned long head_tail;
@@ -63,9 +63,7 @@ union pipe_index {
 *	@mutex: mutex protecting the whole thing
 *	@rd_wait: reader wait point in case of empty pipe
 *	@wr_wait: writer wait point in case of full pipe
 *	@head: The point of buffer production
 *	@tail: The point of buffer consumption
 *	@head_tail: unsigned long union of @head and @tail
 *	@pipe_index: the pipe indeces
 *	@note_loss: The next read() should insert a data-lost message
 *	@max_usage: The maximum number of slots that may be used in the ring
 *	@ring_size: total number of buffers (should be a power of 2)
@@ -87,14 +85,7 @@ struct pipe_inode_info {
	struct mutex mutex;
	wait_queue_head_t rd_wait, wr_wait;

	/* This has to match the 'union pipe_index' above */
	union {
		unsigned long head_tail;
		struct {
			pipe_index_t head;
			pipe_index_t tail;
		};
	};
	union pipe_index;

	unsigned int max_usage;
	unsigned int ring_size;