[PATCH 05/11] UAPI: coda: Don't use internal kernel structs in UAPI

From: David Howells
Date: Wed Sep 05 2018 - 11:55:14 EST


The size and layout of internal kernel structures may not be relied upon
outside of the kernel and may even change in a containerised environment if
a container image is frozen and shifted to another machine.

Excise these from Coda's upc_req struct.

Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
cc: Jan Harkes <jaharkes@xxxxxxxxxx>
cc: coda@xxxxxxxxxx
cc: codalist@xxxxxxxxxxxxxxx
cc: linux-fsdevel@xxxxxxxxxxxxxxx
---

include/uapi/linux/coda_psdev.h | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/include/uapi/linux/coda_psdev.h b/include/uapi/linux/coda_psdev.h
index aa6623efd2dd..9c3acde393cd 100644
--- a/include/uapi/linux/coda_psdev.h
+++ b/include/uapi/linux/coda_psdev.h
@@ -10,14 +10,18 @@

/* messages between coda filesystem in kernel and Venus */
struct upc_req {
+#ifdef __KERNEL__
struct list_head uc_chain;
+#endif
caddr_t uc_data;
u_short uc_flags;
u_short uc_inSize; /* Size is at most 5000 bytes */
u_short uc_outSize;
u_short uc_opcode; /* copied from data to save lookup */
int uc_unique;
+#ifdef __KERNEL__
wait_queue_head_t uc_sleep; /* process' wait queue */
+#endif
};

#define CODA_REQ_ASYNC 0x1