m/n/c/s/crypt: enable fast inline data path

Not using workqueues for de/encryption skips a lot of expensive context
switching that needs to be done for each IO operation.

Also see https://blog.cloudflare.com/speeding-up-linux-disk-encryption/
for more details on what these do.

Change-Id: I3adc9b26e297b69bde6f01e1691c06f3b2c235b4
Reviewed-on: https://review.monogon.dev/c/monogon/+/672
Reviewed-by: Leopold Schabel <leo@nexantic.com>
diff --git a/metropolis/node/core/localstorage/crypt/crypt.go b/metropolis/node/core/localstorage/crypt/crypt.go
index 613ebea..1e81efa 100644
--- a/metropolis/node/core/localstorage/crypt/crypt.go
+++ b/metropolis/node/core/localstorage/crypt/crypt.go
@@ -77,7 +77,7 @@
 		devicemapper.Target{
 			Length:     integritySectors,
 			Type:       "crypt",
-			Parameters: []string{"capi:gcm(aes)-random", hex.EncodeToString(encryptionKey), "0", integrityDevName, "0", "1", "integrity:28:aead"},
+			Parameters: []string{"capi:gcm(aes)-random", hex.EncodeToString(encryptionKey), "0", integrityDevName, "0", "1", "integrity:28:aead", "no_read_workqueue", "no_write_workqueue"},
 		},
 	})
 	if err != nil {