diff mbox series

[9/9] pstore/blk: don't depend on CONFIG_BLOCK

Message ID 20201016132047.3068029-10-hch@lst.de
State Not Applicable
Headers show
Series [1/9] pstore/zone: cap the maximum device size | expand

Commit Message

Christoph Hellwig Oct. 16, 2020, 1:20 p.m. UTC
pstore-blk contains of two different layers:

 a) a tiny layer of sugar coating ontop of pstore-zone.  This part has
    no dependencies on the block layer, and can be used e.g. by mtd
 b) an implementation of a default fallback pstore zone backend for
    block devices

Add an ifdef for the latter so that pstore-blk itself does not have to
depend on CONFIG_BLOCK.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/pstore/Kconfig | 2 +-
 fs/pstore/blk.c   | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

Comments

Kees Cook Dec. 1, 2020, 7:53 p.m. UTC | #1
On Fri, Oct 16, 2020 at 03:20:47PM +0200, Christoph Hellwig wrote:
> pstore-blk contains of two different layers:
> 
>  a) a tiny layer of sugar coating ontop of pstore-zone.  This part has
>     no dependencies on the block layer, and can be used e.g. by mtd
>  b) an implementation of a default fallback pstore zone backend for
>     block devices
> 
> Add an ifdef for the latter so that pstore-blk itself does not have to
> depend on CONFIG_BLOCK.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

AFAIU, this can't be done until the read/write changes from patch 8 are
adopted, so, for now, I'm not taking this either.

-Kees

> ---
>  fs/pstore/Kconfig | 2 +-
>  fs/pstore/blk.c   | 2 ++
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/pstore/Kconfig b/fs/pstore/Kconfig
> index e16a49ebfe546d..6eadb538316e52 100644
> --- a/fs/pstore/Kconfig
> +++ b/fs/pstore/Kconfig
> @@ -164,7 +164,7 @@ config PSTORE_ZONE
>  config PSTORE_BLK
>  	tristate "Log panic/oops to a block device"
>  	depends on PSTORE
> -	depends on BLOCK
> +	depends on BLOCK || !BLOCK
>  	select PSTORE_ZONE
>  	default n
>  	help
> diff --git a/fs/pstore/blk.c b/fs/pstore/blk.c
> index bd4eadfc9bd795..d3d25edb943cdd 100644
> --- a/fs/pstore/blk.c
> +++ b/fs/pstore/blk.c
> @@ -182,6 +182,7 @@ void unregister_pstore_device(const struct pstore_zone_ops *ops)
>  }
>  EXPORT_SYMBOL_GPL(unregister_pstore_device);
>  
> +#ifdef CONFIG_BLOCK
>  static struct file *psblk_file;
>  
>  static ssize_t psblk_generic_blk_read(char *buf, size_t bytes, loff_t pos)
> @@ -269,6 +270,7 @@ void __init pstore_blk_early_init(void)
>  	__pstore_blk_init(devname);
>  }
>  #endif /* MODULE */
> +#endif /* CONFIG_BLOCK */
>  
>  /* get information of pstore/blk */
>  int pstore_blk_get_config(struct pstore_blk_config *info)
> -- 
> 2.28.0
>
diff mbox series

Patch

diff --git a/fs/pstore/Kconfig b/fs/pstore/Kconfig
index e16a49ebfe546d..6eadb538316e52 100644
--- a/fs/pstore/Kconfig
+++ b/fs/pstore/Kconfig
@@ -164,7 +164,7 @@  config PSTORE_ZONE
 config PSTORE_BLK
 	tristate "Log panic/oops to a block device"
 	depends on PSTORE
-	depends on BLOCK
+	depends on BLOCK || !BLOCK
 	select PSTORE_ZONE
 	default n
 	help
diff --git a/fs/pstore/blk.c b/fs/pstore/blk.c
index bd4eadfc9bd795..d3d25edb943cdd 100644
--- a/fs/pstore/blk.c
+++ b/fs/pstore/blk.c
@@ -182,6 +182,7 @@  void unregister_pstore_device(const struct pstore_zone_ops *ops)
 }
 EXPORT_SYMBOL_GPL(unregister_pstore_device);
 
+#ifdef CONFIG_BLOCK
 static struct file *psblk_file;
 
 static ssize_t psblk_generic_blk_read(char *buf, size_t bytes, loff_t pos)
@@ -269,6 +270,7 @@  void __init pstore_blk_early_init(void)
 	__pstore_blk_init(devname);
 }
 #endif /* MODULE */
+#endif /* CONFIG_BLOCK */
 
 /* get information of pstore/blk */
 int pstore_blk_get_config(struct pstore_blk_config *info)