s390/hypfs: factor out filesystem code
authorHeiko Carstens <hca@linux.ibm.com>
Tue, 4 Jul 2023 13:47:13 +0000 (15:47 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 24 Jul 2023 10:12:22 +0000 (12:12 +0200)
commit3325b4d85799957aa53514e69bed5c9df7771caf
tree3c47e58f6881eccf4f7d5817b744b297302bfad8
parentb7857acc1b1105da5f088fe2593f1a6e3a3d47ce
s390/hypfs: factor out filesystem code

The s390_hypfs filesystem is deprecated and shouldn't be used due to its
rather odd semantics. It creates a whole directory structure with static
file contents so a user can read a consistent state while within that
directory.
Writing to its update attribute will remove and rebuild nearly the whole
filesystem, so that again a user can read a consistent state, even if
multiple files need to be read.

Given that this wastes a lot of CPU cycles, and involves a lot of code,
binary interfaces have been added quite a couple of years ago, which simply
pass the binary data to user space, and let user space decode the data.
This is the preferred and only way how the data should be retrieved.

The assumption is that there are no users of the s390_hypfs filesystem.
However instead of just removing the code, and having to revert in case
there are actually users, factor the filesystem code out and make it only
available via a new config option.

This config option is supposed to be disabled. If it turns out there are no
complaints the filesystem code can be removed probably in a couple of
years.

Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
12 files changed:
arch/s390/Kbuild
arch/s390/Kconfig
arch/s390/hypfs/Makefile
arch/s390/hypfs/hypfs.h
arch/s390/hypfs/hypfs_dbfs.c
arch/s390/hypfs/hypfs_diag.c
arch/s390/hypfs/hypfs_diag.h [new file with mode: 0644]
arch/s390/hypfs/hypfs_diag_fs.c [new file with mode: 0644]
arch/s390/hypfs/hypfs_vm.c
arch/s390/hypfs/hypfs_vm.h [new file with mode: 0644]
arch/s390/hypfs/hypfs_vm_fs.c [new file with mode: 0644]
arch/s390/hypfs/inode.c