[LU-13127] make Lustre error when hash algo is not available Created: 13/Jan/20  Updated: 12/Sep/20  Resolved: 12/Sep/20

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.14.0

Type: Improvement Priority: Critical
Reporter: Alex Zhuravlev Assignee: Alex Zhuravlev
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-12477 Remove obsolete config checks Resolved
Rank (Obsolete): 9223372036854775807

 Description   

If CRC32 is missing in the kernel, then early replies don't work properly and Lustre makes no noise about this.



 Comments   
Comment by Gerrit Updater [ 13/Jan/20 ]

Alex Zhuravlev (bzzz@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/37214
Subject: LU-13127 libcfs: make noise to console if CRC32 is missing
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: deb05cb042b716a93a8105ffd1f2ffd221df84c1

Comment by Andreas Dilger [ 03/Apr/20 ]

While printing an error message is OK for debugging, it doesn't really help users if this breaks important Lustre functionality when missing.

Should this instead be a configure check that is an error? Is this a kernel you built yourself, or a distro kernel that is missing CRC32? If it is a kernel you built, then failing the configure check is fine. If it is a distro kernel, then we would need to restore the CRC32 replacement code in Lustre because we can't ask users to recompile distro kernels on the client.

This was removed in patch https://review.whamcloud.com/35342 "LU-12477 libcfs: Remove obsolete config checks" which only landed as commit v2_13_50-191-gc4c17fa4a3, so now is the time to fix this before 2.14 is released.

Comment by James A Simmons [ 03/Apr/20 ]

To my understanding CRC32 is always enabled for ext4 support. How is this possible?

Comment by Andreas Dilger [ 03/Apr/20 ]

I see that ext4 depends on CRC32*C* but not CRC32:

config EXT4_FS
        tristate "The Extended 4 (ext4) filesystem"
        select CRYPTO_CRC32C
Comment by Gerrit Updater [ 14/Apr/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37214/
Subject: LU-13127 libcfs: make noise to console if CRC32 is missing
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: e1a0f602a60855d90c7947b06fb248d66e178945

Comment by Peter Jones [ 14/Apr/20 ]

Landed for 2.14

Comment by Gerrit Updater [ 27/Jun/20 ]

Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39201
Subject: LU-13127 ptlrpc: don't require CONFIG_CRYPTO_CRC32
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 4bbfc5f8a66fa99bf26e176a97cbd2bb5b3841cf

Comment by Gerrit Updater [ 11/Aug/20 ]

Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39614
Subject: LU-13127 ptlrpc: prefer crc32_le() over CryptoAPI
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 0df38b392cfcf2e4259525c7b4c93b35b9df8b1c

Comment by Gerrit Updater [ 13/Aug/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39201/
Subject: LU-13127 ptlrpc: don't require CONFIG_CRYPTO_CRC32
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 726897c87c42c1a74cae46795acda1a88ef43605

Comment by Mikhail Pershin [ 14/Aug/20 ]

The latest change https://review.whamcloud.com/39201/ causes compile failure if CONFIG_CRYPTO_CRC32 is enabled:

pack_generic.c:1391:3: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
   unsigned int hsize = 4;
Comment by Gerrit Updater [ 14/Aug/20 ]

Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39677
Subject: LU-13127 ptlrpc: avoid ISO C90 mixed declaration
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 0482502845ff1f01e1cb3e3846e6b8e174feee70

Comment by Gerrit Updater [ 01/Sep/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39614/
Subject: LU-13127 ptlrpc: prefer crc32_le() over CryptoAPI
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 1dda0ef6a70b2c1f6b01054d851ace22e99bb048

Comment by Gerrit Updater [ 12/Sep/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39677/
Subject: LU-13127 ptlrpc: avoid ISO C90 mixed declaration
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 4a9ea62c6ac8d0f1ae8807aed78415adef4edc58

Comment by Peter Jones [ 12/Sep/20 ]

Looks like everything has landed

Generated at Sat Feb 10 02:58:36 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.