On Mon, 22 Nov 2021 at 23:58, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:Yes, you are correct.
NTFS_RW code allocates page size dependent arrays on the stack. This
results in build failures if the page size is 64k, which is now the
default for PPC.
It became the default for PPC_BOOK3S_64, which doesn't include all of
PPC, in f22969a66041 ("powerpc/64s: Default to 64K pages for 64 bit
You might want to add a mention of this commit in your commit message.
fs/ntfs/aops.c: In function 'ntfs_write_mst_block':
the frame size of 2240 bytes is larger than 2048 bytes
Increasing the maximum frame size for PPC just to silence this error does
not really help. It would have to be set to a really large value for 256k
pages. Such a large frame size could potentially result in stack overruns
in this code and elsewhere and is therefore not desirable. Disable NTFS_RW
for PPC instead.
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
v2: Introduce new configuration flag DISABLE_NTFS_RW and use it to disable NTFS_RW
fs/ntfs/Kconfig | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/fs/ntfs/Kconfig b/fs/ntfs/Kconfig
index 1667a7e590d8..324224febb6a 100644
@@ -49,8 +49,13 @@ config NTFS_DEBUG
When reporting bugs, please try to have available a full dump of
debugging messages while the misbehaviour was occurring.
+ default y if PPC
PPC_64K_PAGES would be more accurate.
I think arm64 was seeing a similar build error, so you could include
ARM64_64K_PAGES as well?
bool "NTFS write support"
+ depends on !DISABLE_NTFS_RW
depends on NTFS_FS
This enables the partial, but safe, write support in the NTFS driver.