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
..
2020-09-30 16:37:39 +02: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
2020-10-12 15:29:26 +02:00
2020-11-09 18:56:49 +01:00
2020-12-17 12:52:23 -08:00
2021-02-16 14:47:46 -08:00
2020-12-16 16:38:41 -08:00
2020-12-01 18:49:32 +01:00
2020-10-15 18:42:13 -07:00
2020-11-16 14:14:34 +02:00
2021-01-16 18:32:36 +00:00
2020-12-15 16:18:23 -08:00
2020-11-30 11:18:29 +00:00
2020-12-09 19:26:02 -06:00
2021-02-20 21:36:51 -08:00
2020-12-07 18:22:35 -08:00
2021-02-16 14:53:30 -08:00
2020-12-18 15:11:42 +01:00
2020-12-16 18:48:16 +01:00
2020-12-17 09:26:34 +01:00
2021-01-13 15:08:41 +00:00
2020-11-05 14:56:50 +01:00
2021-02-20 21:32:37 -08:00
2020-11-30 02:42:42 +01: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
2020-11-24 10:11:59 -06:00
2021-01-13 13:01:44 +01:00
2021-02-20 18:42:28 -08:00
2020-12-15 14:10:09 -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
2020-11-20 09:34:14 +00:00
2021-02-20 21:50:59 -08:00
2021-01-27 09:43:02 +00:00
2020-10-29 16:51:28 +00:00
2020-10-28 11:13:36 +00:00
2021-02-15 12:36:27 -08:00
2020-10-12 18:27:27 +02:00
2020-10-12 18:27:27 +02:00
2020-10-27 21:02:57 -04:00
2020-12-04 13:30:59 +01:00
2020-10-13 11:37:11 +02:00
2021-02-09 00:52:19 +01:00
2020-12-15 22:46:16 -08:00
2020-12-15 22:46:15 -08:00
2020-12-19 16:06:54 +01:00
2020-12-01 14:53:39 -07:00
2020-10-24 17:29:43 +02:00
2021-01-01 12:58:07 -08:00
2021-01-01 12:58:07 -08:00
2020-12-04 09:42:00 -07:00
2020-11-19 08:55:44 -05:00
2020-11-13 15:45:54 +01:00
2020-11-06 08:08:37 -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
2020-12-02 09:46:55 -07:00
2020-10-25 14:51:49 -07:00
2020-12-14 15:26:13 +01:00
2020-11-20 14:45:33 +11:00
2020-12-15 12:13:40 -08:00
2021-01-07 09:18:39 +01:00
2021-01-27 19:29:32 +01:00
2020-12-15 12:13:45 -08:00
2020-12-19 11:18:38 -08:00
2020-12-02 13:47:17 +01:00
2021-01-04 10:47:38 -08:00
2020-11-22 10:48:22 -08:00
2021-01-15 10:04:49 +00:00
2020-11-14 11:26:03 -08:00
2020-12-03 11:20:52 +01:00
2020-12-16 11:06:49 -08:00
2021-01-08 11:02:18 -08:00
2020-11-19 11:25:42 +01:00
2020-09-30 11:50:35 -07:00
2020-10-16 11:11:21 -07:00
2020-12-16 09:08:22 +00:00
2021-02-25 15:29:39 +01:00
2020-12-22 19:50:40 +01:00
2020-10-16 17:21:51 +02:00
2020-11-10 18:39:00 +01:00
2020-12-16 09:08:21 +00:00
2020-10-13 15:58:10 -07:00
2020-10-28 14:55:36 +01:00
2020-10-19 14:28:30 -07:00
2020-12-19 14:09:26 +01:00
2020-10-30 08:37:39 +01:00
2020-12-11 14:10:44 +01:00
2020-09-29 17:50:10 +09: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
2020-12-15 10:57:29 +01:00
2020-12-15 12:13:42 +01:00
2020-10-06 07:07:06 +02:00
2021-02-04 18:29:42 -08:00
2020-12-19 16:46:06 +01:00
2020-12-22 13:19:43 -08:00
2020-12-16 16:38:41 -08:00
2020-12-11 21:20:08 +05:30
2020-12-22 19:50:40 +01:00
2020-10-25 14:51:49 -07:00
2020-12-14 11:51:46 +01:00
2021-01-19 17:57:15 +01:00
2020-10-26 13:46:47 +01:00
2021-01-06 08:40:56 -05:00
2021-01-06 08:38:29 -05:00
2020-12-08 18:21:16 +01:00
2021-02-06 00:21:42 +01:00
2020-10-29 09:37:36 +01:00
2021-02-03 18:37:29 -08:00
2020-11-15 09:49:10 -05:00
2020-10-25 20:02:08 -04:00
2020-10-29 06:32:38 +01:00
2021-01-30 11:47:12 -05:00
2021-01-27 15:20:02 -08:00
2020-10-16 11:11:22 -07:00
2021-01-04 11:42:26 -05:00
2020-12-10 12:42:59 -06:00
2021-02-11 16:19:20 +01:00
2020-10-25 14:51:49 -07:00
2021-01-16 18:14:53 +00:00
2020-11-16 16:31:41 +01:00
2020-10-12 18:27:28 +02:00
2021-02-25 15:30:41 +01:00
2021-02-26 13:23:01 +01:00
2020-12-11 11:40:43 +01:00
2020-11-24 16:16:54 +00:00
2021-02-25 15:33:11 +01:00
2020-11-13 12:15:28 -05:00
2020-12-09 19:14:48 +01:00
2020-12-01 14:53:40 -07:00
2020-11-16 08:08:54 -08:00
2021-02-23 08:01:48 +01:00
2020-10-28 13:44:43 +01:00
2020-12-02 20:20:05 +01:00
2021-01-22 08:52:02 +00:00
2020-11-27 15:44:21 +01:00
2020-11-24 14:42:09 +01:00
2020-12-17 07:55:47 +01:00
2020-10-22 22:44:35 +02:00
2020-11-16 15:20:01 +01:00
2020-12-15 12:13:44 -08:00
2021-02-05 11:03:47 -08:00
2020-11-17 10:54:18 +00:00
2021-02-04 18:37:56 -08:00
2020-11-16 08:14:30 -07:00
2020-10-12 12:08:35 +02:00
2020-10-16 11:11:20 -07:00
2020-12-11 12:58:52 +01:00
2020-10-30 17:49:19 -07:00
2021-02-11 13:24:44 -08:00
2020-12-03 08:21:29 -08:00
2020-12-16 11:06:07 -08:00
2021-02-16 13:14:06 -08:00
2020-11-11 16:41:31 -08:00
2020-10-25 14:51:49 -07:00
2020-12-01 10:46:27 +01:00
2020-12-02 22:10:35 -08:00
2020-10-16 17:35:36 +02:00
2021-01-07 14:35:14 +00:00
2020-12-18 14:43:05 +01:00
2020-11-04 10:22:56 -07:00
2020-11-24 14:42:09 +01:00
2020-12-08 15:23:37 +00:00
2020-11-23 14:16:55 +00:00
2020-10-20 07:10:14 -06:00
2021-02-21 10:29:20 -08:00
2020-12-15 22:46:15 -08:00
2021-02-02 15:57:23 +01:00
2020-12-15 16:39:06 -08:00
2020-12-19 16:46:06 +01:00
2021-02-23 08:01:48 +01:00
2020-11-24 16:47:48 +01:00
2021-02-05 20:48:28 +01:00
2020-12-15 16:19:31 +01:00
2020-12-15 15:03:31 -08:00
2020-11-24 16:47:49 +01:00
2020-10-08 18:00:08 +02:00
2020-12-09 09:39:37 -05:00
2020-12-17 13:30:45 -05:00
2020-10-29 13:17:58 -05:00
2020-10-16 11:11:19 -07: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
2020-10-05 13:37:04 +02:00
2020-12-15 16:19:31 +01:00
2020-12-15 22:46:15 -08:00
2020-11-09 18:12:39 +01:00
2020-11-23 18:09:29 +00:00
2021-02-17 01:24:48 +00:00
2020-10-11 10:31:11 -07: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
2020-11-15 09:49:15 -05:00
2020-11-15 09:49:16 -05:00
2021-01-14 17:18:25 +01:00
2020-11-19 19:37:16 -08:00
2020-11-09 21:07:00 +09:00
2020-10-12 18:27:27 +02:00
2020-10-09 08:53:08 +02:00
2020-12-15 13:22:29 -08:00
2020-12-15 22:46:16 -08:00
2020-12-29 19:50:45 +00:00
2020-12-16 11:01:04 -08:00
2020-11-23 18:36:21 -05:00
2020-10-30 17:11:44 -07:00
2020-10-15 07:49:46 +02:00
2020-12-15 22:46:15 -08:00
2020-12-03 16:21:07 -07:00
2021-01-19 12:02:20 -08:00
2021-01-19 11:47:31 -08:00
2020-12-07 10:29:57 +01:00
2020-11-17 17:38:25 +02:00
2021-01-12 18:12:54 -08:00
2020-12-17 13:34:25 -08:00
2020-10-13 18:38:28 -07:00
2021-01-27 16:45:21 +05:30
2020-12-15 12:13:45 -08:00
2020-10-16 11:11:19 -07:00
2020-12-18 14:19:43 +01:00
2021-02-23 08:01:48 +01:00
2020-12-15 12:13:41 -08:00
2020-12-19 11:18:37 -08:00
2020-12-18 14:19:43 +01:00
2020-12-04 12:23:25 +01:00
2021-02-12 17:19:18 -08:00
2020-12-22 12:55:08 -08:00
2020-11-25 15:45:11 +01:00
2021-01-30 01:22:31 +01:00
2021-01-04 11:42:21 -05:00
2020-12-04 22:32:40 +01:00
2021-02-11 13:24:44 -08:00
2021-02-16 13:14:06 -08:00
2020-10-30 12:57:39 +01:00
2020-10-30 12:57:39 +01:00
2021-01-25 22:06:11 +01:00
2021-02-04 18:05:59 -08:00
2020-12-09 09:39:38 -05:00
2020-10-07 14:28:39 -04:00
2020-12-02 14:05:52 -05:00
2020-11-30 10:52:22 -05:00
2020-10-21 10:31:20 -04:00
2020-12-02 14:05:52 -05:00
2021-01-25 09:36:27 -05:00
2020-10-16 11:11:18 -07:00
2020-10-16 11:11:19 -07:00
2020-11-22 10:48:22 -08:00
2021-01-18 18:58:18 +01:00
2020-11-27 16:10:06 +01:00
2020-10-25 14:51:49 -07:00
2021-02-17 13:17:49 -08:00
2020-12-15 14:02:26 -08:00
2020-10-13 18:38:35 -07:00
2020-10-17 11:18:18 -07:00
2021-02-25 13:58:58 +00:00
2020-12-15 12:13:38 -08:00
2020-10-16 11:11:15 -07:00
2020-12-22 12:55:08 -08:00
2020-12-15 14:55:10 -08:00
2020-12-01 18:07:54 +00:00
2020-12-15 12:13:39 -08:00
2020-12-01 14:53:40 -07:00
2020-12-18 16:32:08 +01:00
2020-12-10 14:55:49 -06:00
2020-12-15 15:11:08 -06:00
2020-10-25 14:51:49 -07:00
2020-10-06 07:29:36 -06:00
2020-11-26 13:16:55 +01:00
2020-11-09 18:12:34 +01:00
2020-12-14 17:34:12 -08:00
2021-02-16 15:23:23 -08:00
2020-10-18 09:27:10 -07:00
2020-10-01 19:14:36 -07:00
2020-12-15 15:03:31 -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
2020-11-16 09:37:01 -08:00
2020-11-23 18:34:55 +01:00
2021-01-27 19:29:32 +01:00
2020-12-15 12:13:46 -08:00
2020-10-26 10:16:46 +01:00
2020-10-24 20:21:57 +02:00
2020-12-15 15:03:31 -08:00
2020-10-25 14:51:49 -07:00
2020-12-15 22:46:15 -08:00
2021-02-05 10:08:10 +01:00
2020-12-04 08:44:24 +00:00
2020-12-01 12:01:03 -08:00
2020-11-23 13:43:07 -08:00
2020-11-18 10:51:17 -08:00
2020-11-20 14:45:33 +11:00
2021-01-06 18:34:38 +01:00
2020-10-28 09:23:04 -05:00
2020-11-03 11:16:04 +01:00
2020-10-13 08:41:26 -04:00
2020-10-13 18:38:28 -07:00
2020-12-15 22:46:15 -08:00
2020-11-02 17:09:59 -08:00
2021-01-04 10:55:19 -08:00
2020-11-06 16:59:11 -08:00
2020-11-06 16:59:11 -08:00
2020-12-03 11:20:52 +01:00
2020-11-26 20:03:02 +00:00
2020-11-26 22:05:42 +11:00
2020-12-15 22:46:18 -08:00
2020-12-10 13:14:37 -06:00
2021-01-25 17:32:10 +01:00
2020-12-11 12:47:17 +01:00
2020-12-15 22:46:18 -08:00
2020-12-15 12:13:39 -08:00
2020-10-04 19:51:43 -07:00
2020-12-18 17:01:19 +01:00
2020-12-20 10:12:06 -08:00
2020-12-15 15:57:25 -08:00
2020-12-15 16:43:58 +01:00
2020-11-30 02:13:02 +01:00
2020-12-07 17:12:49 -07:00
2020-11-02 14:42:57 +01:00
2021-01-28 02:48:34 +00:00
2020-12-16 16:38:41 -08:00
2020-12-01 11:23:34 +00:00
2020-10-30 15:24:40 -07:00
2020-12-16 11:30:10 -08:00
2020-12-29 19:50:45 +00:00
2020-12-07 18:25:02 -05:00
2020-11-06 10:05:18 -08:00
2020-12-09 17:08:49 +01:00
2020-11-13 15:28:12 +01:00
2020-12-07 10:40:32 +01:00
2020-10-31 12:44:36 +01:00
2020-12-15 12:13:43 -08:00
2020-12-15 12:13:39 -08:00
2020-11-23 10:31:06 -06:00
2020-11-23 10:31:06 -06:00
2020-12-10 16:17:15 +01: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
2020-12-15 12:13:37 -08:00
2020-11-24 16:47:49 +01:00
2020-09-30 11:50:35 -07:00
2020-11-23 09:15:15 -07:00
2020-10-25 14:51:49 -07:00
2020-10-22 14:15:51 -06:00
2020-12-10 10:45:36 +01:00
2020-10-02 21:18:25 +02:00
2021-02-17 14:25:50 -08:00
2020-12-16 09:08:23 +00:00
2020-09-30 10:50:30 +02:00
2020-12-22 12:55:08 -08:00
2021-01-15 13:23:36 +00:00
2020-10-24 17:29:43 +02:00
2020-10-13 18:38:30 -07:00
2020-12-15 14:48:04 -08:00
2020-12-11 15:43:41 -05:00
2020-12-02 15:07:56 +01:00
2020-12-28 11:58:59 +01:00
2020-10-02 12:02:30 +02:00
2020-10-17 15:05:30 -06:00
2021-01-22 18:20:52 -08:00
2021-02-02 14:50:15 +01:00
2020-12-18 15:23:13 +01:00
2021-02-06 00:21:42 +01:00
2021-02-04 10:45:24 +03:00
2020-10-26 11:48:11 +01:00
2020-12-14 16:40:27 -08:00
2020-10-30 21:57:04 +01:00
2020-12-16 00:07:17 -08:00
2020-11-16 15:20:01 +01:00
2020-12-11 10:40:52 +01:00
2020-10-25 14:51:49 -07:00
2020-11-10 20:39:40 -05:00
2020-12-07 18:25:02 -05:00
2020-10-05 12:43:53 +02:00
2020-12-16 12:33:35 -08:00
2020-10-15 15:51:28 -07:00
2021-02-02 09:32:02 -05:00
2020-12-04 16:54:35 +01:00
2021-01-20 16:48:47 -08:00
2021-02-20 21:28:04 -08:00
2020-10-28 15:08:39 +01:00
2020-11-09 18:39:36 +01:00
2021-02-04 18:56:56 -08:00
2021-02-15 18:50:01 +01:00
2020-12-09 20:00:26 +01:00
2020-12-18 16:14:31 -05:00
2020-12-10 14:47:56 -07:00
2020-10-23 11:00:57 -07:00
2021-02-05 11:03:47 -08:00
2020-12-15 12:13:40 -08:00
2021-01-07 16:17:31 +01:00
2020-12-02 20:20:05 +01:00
2020-10-05 13:21:49 +02:00
2020-11-15 09:49:09 -05:00
2020-10-01 09:40:35 -04:00
2020-10-20 14:39:37 -07:00
2020-12-06 10:19:07 -08:00
2021-02-08 22:58:55 +01:00