From: Richard Weinberger <richard@nod.at> To: miklos@szeredi.hu Cc: miquel.raynal@bootlin.com, vigneshr@ti.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, Richard Weinberger <richard@nod.at> Subject: [PATCH 5/7] fuse: Add MUSE specific defines FUSE interface Date: Fri, 27 Nov 2020 00:32:58 +0100 [thread overview] Message-ID: <20201126233300.10714-6-richard@nod.at> (raw) In-Reply-To: <20201126233300.10714-1-richard@nod.at> Raise the FUSE API minor version to 33 and add all MUSE specific operations and data structures. MUSE_INIT: Initialize a new connection and install the MTD MUSE_ERASE: Erase a block MUSE_READ: Read a page MUSE_WRITE: Write a page MUSE_MARKBAD: Mark a block as bad MUSE_ISBAD: Check whether a block is bad MUSE_SYNC: Flush all cached data Signed-off-by: Richard Weinberger <richard@nod.at> --- include/uapi/linux/fuse.h | 73 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h index 7233502ea991..2f7cbe5ce434 100644 --- a/include/uapi/linux/fuse.h +++ b/include/uapi/linux/fuse.h @@ -175,6 +175,10 @@ * * 7.32 * - add flags to fuse_attr, add FUSE_ATTR_SUBMOUNT, add FUSE_SUBMOUNTS + * + * 7.33 + * - add support for MUSE: MUSE_INIT, MUSE_ERASE, MUSE_READ, MUSE_WRITE, + * MUSE_MARKBAD, MUSE_ISBAD and MUSE_SYNC */ #ifndef _LINUX_FUSE_H @@ -210,7 +214,7 @@ #define FUSE_KERNEL_VERSION 7 /** Minor version number of this interface */ -#define FUSE_KERNEL_MINOR_VERSION 32 +#define FUSE_KERNEL_MINOR_VERSION 33 /** The node ID of the root inode */ #define FUSE_ROOT_ID 1 @@ -483,6 +487,15 @@ enum fuse_opcode { /* CUSE specific operations */ CUSE_INIT = 4096, + /* MUSE specific operations */ + MUSE_INIT = 8192, + MUSE_ERASE = 8193, + MUSE_READ = 8194, + MUSE_WRITE = 8195, + MUSE_MARKBAD = 8196, + MUSE_ISBAD = 8197, + MUSE_SYNC = 8198, + /* Reserved opcodes: helpful to detect structure endian-ness */ CUSE_INIT_BSWAP_RESERVED = 1048576, /* CUSE_INIT << 8 */ FUSE_INIT_BSWAP_RESERVED = 436207616, /* FUSE_INIT << 24 */ @@ -936,4 +949,62 @@ struct fuse_removemapping_one { #define FUSE_REMOVEMAPPING_MAX_ENTRY \ (PAGE_SIZE / sizeof(struct fuse_removemapping_one)) +#define MUSE_INIT_INFO_MAX 4096 + +struct muse_init_in { + uint32_t fuse_major; + uint32_t fuse_minor; +}; + +struct muse_init_out { + uint32_t fuse_major; + uint32_t fuse_minor; + uint32_t max_read; + uint32_t max_write; +}; + +struct muse_erase_in { + uint64_t addr; + uint64_t len; +}; + +struct muse_read_in { + uint64_t dataaddr; + uint64_t datalen; + uint32_t flags; + uint32_t padding; +}; + +struct muse_read_out { + uint64_t datalen; + uint32_t soft_error; + uint32_t padding; +}; + +struct muse_write_in { + uint64_t dataaddr; + uint64_t datalen; + uint32_t flags; + uint32_t padding; +}; + +struct muse_write_out { + uint64_t datalen; + uint32_t soft_error; + uint32_t padding; +}; + +struct muse_markbad_in { + uint64_t addr; +}; + +struct muse_isbad_in { + uint64_t addr; +}; + +struct muse_isbad_out { + uint32_t result; + uint32_t padding; +}; + #endif /* _LINUX_FUSE_H */ -- 2.26.2
WARNING: multiple messages have this Message-ID (diff)
From: Richard Weinberger <richard@nod.at> To: miklos@szeredi.hu Cc: vigneshr@ti.com, Richard Weinberger <richard@nod.at>, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org, miquel.raynal@bootlin.com, linux-fsdevel@vger.kernel.org Subject: [PATCH 5/7] fuse: Add MUSE specific defines FUSE interface Date: Fri, 27 Nov 2020 00:32:58 +0100 [thread overview] Message-ID: <20201126233300.10714-6-richard@nod.at> (raw) In-Reply-To: <20201126233300.10714-1-richard@nod.at> Raise the FUSE API minor version to 33 and add all MUSE specific operations and data structures. MUSE_INIT: Initialize a new connection and install the MTD MUSE_ERASE: Erase a block MUSE_READ: Read a page MUSE_WRITE: Write a page MUSE_MARKBAD: Mark a block as bad MUSE_ISBAD: Check whether a block is bad MUSE_SYNC: Flush all cached data Signed-off-by: Richard Weinberger <richard@nod.at> --- include/uapi/linux/fuse.h | 73 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h index 7233502ea991..2f7cbe5ce434 100644 --- a/include/uapi/linux/fuse.h +++ b/include/uapi/linux/fuse.h @@ -175,6 +175,10 @@ * * 7.32 * - add flags to fuse_attr, add FUSE_ATTR_SUBMOUNT, add FUSE_SUBMOUNTS + * + * 7.33 + * - add support for MUSE: MUSE_INIT, MUSE_ERASE, MUSE_READ, MUSE_WRITE, + * MUSE_MARKBAD, MUSE_ISBAD and MUSE_SYNC */ #ifndef _LINUX_FUSE_H @@ -210,7 +214,7 @@ #define FUSE_KERNEL_VERSION 7 /** Minor version number of this interface */ -#define FUSE_KERNEL_MINOR_VERSION 32 +#define FUSE_KERNEL_MINOR_VERSION 33 /** The node ID of the root inode */ #define FUSE_ROOT_ID 1 @@ -483,6 +487,15 @@ enum fuse_opcode { /* CUSE specific operations */ CUSE_INIT = 4096, + /* MUSE specific operations */ + MUSE_INIT = 8192, + MUSE_ERASE = 8193, + MUSE_READ = 8194, + MUSE_WRITE = 8195, + MUSE_MARKBAD = 8196, + MUSE_ISBAD = 8197, + MUSE_SYNC = 8198, + /* Reserved opcodes: helpful to detect structure endian-ness */ CUSE_INIT_BSWAP_RESERVED = 1048576, /* CUSE_INIT << 8 */ FUSE_INIT_BSWAP_RESERVED = 436207616, /* FUSE_INIT << 24 */ @@ -936,4 +949,62 @@ struct fuse_removemapping_one { #define FUSE_REMOVEMAPPING_MAX_ENTRY \ (PAGE_SIZE / sizeof(struct fuse_removemapping_one)) +#define MUSE_INIT_INFO_MAX 4096 + +struct muse_init_in { + uint32_t fuse_major; + uint32_t fuse_minor; +}; + +struct muse_init_out { + uint32_t fuse_major; + uint32_t fuse_minor; + uint32_t max_read; + uint32_t max_write; +}; + +struct muse_erase_in { + uint64_t addr; + uint64_t len; +}; + +struct muse_read_in { + uint64_t dataaddr; + uint64_t datalen; + uint32_t flags; + uint32_t padding; +}; + +struct muse_read_out { + uint64_t datalen; + uint32_t soft_error; + uint32_t padding; +}; + +struct muse_write_in { + uint64_t dataaddr; + uint64_t datalen; + uint32_t flags; + uint32_t padding; +}; + +struct muse_write_out { + uint64_t datalen; + uint32_t soft_error; + uint32_t padding; +}; + +struct muse_markbad_in { + uint64_t addr; +}; + +struct muse_isbad_in { + uint64_t addr; +}; + +struct muse_isbad_out { + uint32_t result; + uint32_t padding; +}; + #endif /* _LINUX_FUSE_H */ -- 2.26.2 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
next prev parent reply other threads:[~2020-11-26 23:33 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-11-26 23:32 [PATCH 0/7] [RFC] MUSE: Userspace backed MTD v2 Richard Weinberger 2020-11-26 23:32 ` Richard Weinberger 2020-11-26 23:32 ` [PATCH 1/7] fuse: Export fuse_simple_request Richard Weinberger 2020-11-26 23:32 ` Richard Weinberger 2020-11-26 23:32 ` [PATCH 2/7] fuse: Export IO helpers Richard Weinberger 2020-11-26 23:32 ` Richard Weinberger 2020-11-26 23:32 ` [PATCH 3/7] fuse: Make cuse_parse_one a common helper Richard Weinberger 2020-11-26 23:32 ` Richard Weinberger 2020-11-26 23:32 ` [PATCH 4/7] mtd: Add MTD_MUSE flag Richard Weinberger 2020-11-26 23:32 ` Richard Weinberger 2020-11-26 23:32 ` Richard Weinberger [this message] 2020-11-26 23:32 ` [PATCH 5/7] fuse: Add MUSE specific defines FUSE interface Richard Weinberger 2020-11-26 23:32 ` [PATCH 6/7] fuse: Implement MUSE: MTD in userspace Richard Weinberger 2020-11-26 23:32 ` Richard Weinberger 2020-11-26 23:33 ` [PATCH 7/7] MAINTAINERS: Add entry for MUSE Richard Weinberger 2020-11-26 23:33 ` Richard Weinberger
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201126233300.10714-6-richard@nod.at \ --to=richard@nod.at \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mtd@lists.infradead.org \ --cc=miklos@szeredi.hu \ --cc=miquel.raynal@bootlin.com \ --cc=vigneshr@ti.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.