Eric Biggers
bc2933702d
FROMLIST: fscrypt: Add functions for direct I/O support
...
Introduce fscrypt_dio_supported() to check whether a direct I/O request
is unsupported due to encryption constraints.
Also introduce fscrypt_limit_io_blocks() to limit how many blocks can be
added to a bio being prepared for direct I/O. This is needed for
filesystems that use the iomap direct I/O implementation to avoid DUN
wraparound in the middle of a bio (which is possible with the
IV_INO_LBLK_32 IV generation method). Elsewhere fscrypt_mergeable_bio()
is used for this, but iomap operates on logical ranges directly, so
filesystems using iomap won't have a chance to call fscrypt_mergeable_bio()
on every block added to a bio. So we need this function which limits a
logical range in one go.
Signed-off-by: Eric Biggers <ebiggers@google.com >
Co-developed-by: Satya Tangirala <satyat@google.com >
Signed-off-by: Satya Tangirala <satyat@google.com >
Bug: 162255927
Link: https://lore.kernel.org/r/20200724184501.1651378-2-satyat@google.com
Change-Id: I1dbd4f382d510d9b779d5e44a77fadf7040cf077
Signed-off-by: Eric Biggers <ebiggers@google.com >
2021-02-26 13:23:01 +01:00
..
2021-01-27 10:01:46 +01:00
2020-12-28 20:34:33 +01:00
2021-01-05 18:00:09 +01:00
2021-02-16 14:47:46 -08:00
2021-01-16 18:32:36 +00:00
2021-02-20 21:36:51 -08:00
2021-02-16 14:53:30 -08:00
2021-01-13 15:08:41 +00:00
2021-02-20 21:32:37 -08:00
2021-01-28 21:24:40 -08:00
2021-01-21 12:35:42 +00:00
2021-01-09 13:51:36 -08:00
2021-01-13 13:01:44 +01:00
2021-02-20 18:42:28 -08:00
2021-01-26 19:21:49 +01:00
2021-02-08 13:23:42 +02:00
2021-02-21 10:22:20 -08:00
2021-02-24 09:33:24 +01:00
2021-02-20 21:50:59 -08:00
2021-01-27 09:43:02 +00:00
2021-02-15 12:36:27 -08:00
2021-02-09 00:52:19 +01:00
2021-01-01 12:58:07 -08:00
2021-01-01 12:58:07 -08:00
2021-02-12 17:37:23 -08:00
2021-01-27 18:18:15 -08:00
2021-02-11 17:44:41 -08:00
2021-02-16 15:23:23 -08:00
2021-01-12 17:24:30 -08:00
2020-12-29 15:36:49 -08:00
2021-01-14 19:29:58 -08:00
2021-01-07 09:18:39 +01:00
2021-01-27 19:29:32 +01:00
2021-01-04 10:47:38 -08:00
2021-01-15 10:04:49 +00:00
2021-01-08 11:02:18 -08:00
2021-02-25 15:29:39 +01:00
2020-12-22 19:50:40 +01:00
2021-02-04 16:36:28 +05:30
2021-02-17 01:24:48 +00:00
2021-01-21 20:12:40 +01:00
2021-01-08 15:57:29 -05:00
2021-02-04 18:29:42 -08:00
2020-12-22 13:19:43 -08:00
2020-12-22 19:50:40 +01:00
2021-01-19 17:57:15 +01:00
2021-01-06 08:40:56 -05:00
2021-01-06 08:38:29 -05:00
2021-02-06 00:21:42 +01:00
2021-02-03 18:37:29 -08:00
2021-01-30 11:47:12 -05:00
2021-01-27 15:20:02 -08:00
2021-01-04 11:42:26 -05:00
2021-02-11 16:19:20 +01:00
2021-01-16 18:14:53 +00:00
2021-02-25 15:30:41 +01:00
2021-02-26 13:23:01 +01:00
2021-02-25 15:33:11 +01:00
2021-02-23 08:01:48 +01:00
2021-01-22 08:52:02 +00:00
2021-02-05 11:03:47 -08:00
2021-02-04 18:37:56 -08:00
2021-02-11 13:24:44 -08:00
2021-02-16 13:14:06 -08:00
2021-01-07 14:35:14 +00:00
2021-02-21 10:29:20 -08:00
2021-02-02 15:57:23 +01:00
2021-02-23 08:01:48 +01:00
2021-02-05 20:48:28 +01:00
2020-12-22 12:55:08 -08:00
2021-02-05 11:03:47 -08:00
2021-01-07 16:17:31 +01:00
2021-01-07 14:17:29 +01:00
2020-12-29 15:36:49 -08:00
2021-02-17 01:24:48 +00:00
2021-01-29 15:39:48 -05:00
2021-01-22 15:09:42 +01:00
2021-01-12 21:13:01 +01:00
2021-01-14 17:18:25 +01:00
2020-12-29 19:50:45 +00:00
2021-01-19 12:02:20 -08:00
2021-01-19 11:47:31 -08:00
2021-01-12 18:12:54 -08:00
2021-01-27 16:45:21 +05:30
2021-02-23 08:01:48 +01:00
2021-02-12 17:19:18 -08:00
2020-12-22 12:55:08 -08:00
2021-01-30 01:22:31 +01:00
2021-01-04 11:42:21 -05:00
2021-02-11 13:24:44 -08:00
2021-02-16 13:14:06 -08:00
2021-01-25 22:06:11 +01:00
2021-02-04 18:05:59 -08:00
2021-01-25 09:36:27 -05:00
2021-01-18 18:58:18 +01:00
2021-02-17 13:17:49 -08:00
2021-02-25 13:58:58 +00:00
2020-12-22 12:55:08 -08:00
2021-02-16 15:23:23 -08:00
2021-01-27 18:45:29 +01:00
2021-01-22 17:08:28 +01:00
2021-02-04 16:30:14 +05:30
2021-01-27 19:29:32 +01:00
2021-02-05 10:08:10 +01:00
2021-01-06 18:34:38 +01:00
2021-01-04 10:55:19 -08:00
2021-01-25 17:32:10 +01:00
2021-01-28 02:48:34 +00:00
2020-12-29 19:50:45 +00:00
2020-12-29 15:36:49 -08:00
2021-02-13 14:32:04 -08:00
2021-01-28 00:35:03 +01:00
2021-02-17 14:25:50 -08:00
2020-12-22 12:55:08 -08:00
2021-01-15 13:23:36 +00:00
2020-12-28 11:58:59 +01:00
2021-01-22 18:20:52 -08:00
2021-02-02 14:50:15 +01:00
2021-02-06 00:21:42 +01:00
2021-02-04 10:45:24 +03:00
2021-02-02 09:32:02 -05:00
2021-01-20 16:48:47 -08:00
2021-02-20 21:28:04 -08:00
2021-02-04 18:56:56 -08:00
2021-02-15 18:50:01 +01:00
2021-02-05 11:03:47 -08:00
2021-01-07 16:17:31 +01:00
2021-02-08 22:58:55 +01:00