Aditya Manthramurthy
8975da4e84
Add new ReadFileWithVerify storage-layer API ( #4349 )
...
This is an enhancement to the XL/distributed-XL mode. FS mode is
unaffected.
The ReadFileWithVerify storage-layer call is similar to ReadFile with
the additional functionality of performing bit-rot checking. It
accepts additional parameters for a hashing algorithm to use and the
expected hex-encoded hash string.
This patch provides significant performance improvement because:
1. combines the step of reading the file (during
erasure-decoding/reconstruction) with bit-rot verification;
2. limits the number of file-reads; and
3. avoids transferring the file over the network for bit-rot
verification.
ReadFile API is implemented as ReadFileWithVerify with empty hashing
arguments.
Credits to AB and Harsha for the algorithmic improvement.
Fixes #4236 .
2017-05-16 14:21:52 -07:00
..
2017-05-15 07:28:47 -07:00
2017-05-15 07:28:47 -07:00
2017-03-17 09:25:49 -07:00
2017-04-14 08:00:04 -07:00
2017-04-21 07:15:53 -07:00
2017-04-11 15:44:27 -07:00
2017-04-21 07:15:53 -07:00
2017-01-10 16:43:48 -08:00
2017-04-27 11:26:00 -07:00
2017-04-27 11:26:00 -07:00
2017-03-18 11:28:41 -07:00
2017-05-14 12:05:51 -07:00
2016-10-12 11:02:15 -07:00
2016-10-12 11:02:15 -07:00
2016-11-21 13:51:05 -08:00
2017-05-14 12:05:51 -07:00
2017-01-31 09:38:34 -08:00
2017-04-10 09:58:08 -07:00
2017-04-10 09:58:08 -07:00
2017-01-07 11:27:01 -08:00
2017-03-18 11:28:41 -07:00
2017-01-18 12:24:34 -08:00
2017-01-02 20:57:42 +05:30
2017-05-14 12:05:51 -07:00
2017-03-26 12:00:27 -07:00
2017-03-26 12:00:27 -07:00
2017-03-18 11:28:41 -07:00
2017-03-16 00:16:06 -07:00
2017-02-16 14:52:14 -08:00
2016-12-26 10:21:23 -08:00
2017-02-03 23:27:50 -08:00
2017-05-14 12:05:51 -07:00
2017-01-02 20:57:42 +05:30
2017-05-03 20:10:00 -07:00
2017-03-21 10:32:17 -07:00
2017-03-18 11:28:41 -07:00
2017-05-15 18:17:02 -07:00
2017-05-15 18:17:02 -07:00
2017-01-30 09:18:10 -08:00
2017-02-03 23:27:50 -08:00
2017-01-30 09:20:16 -08:00
2017-02-03 23:27:50 -08:00
2017-01-16 17:05:00 -08:00
2017-01-18 12:24:34 -08:00
2017-03-08 19:20:01 -08:00
2017-03-30 11:21:19 -07:00
2017-03-30 11:21:19 -07:00
2017-05-06 10:16:59 -07:00
2017-05-06 10:16:59 -07:00
2017-03-31 03:34:26 -07:00
2017-04-09 10:44:10 -07:00
2017-05-15 18:17:02 -07:00
2017-03-23 16:36:00 -07:00
2017-03-03 16:32:04 -08:00
2017-03-03 16:32:04 -08:00
2017-03-16 00:16:06 -07:00
2017-03-23 16:36:00 -07:00
2017-01-16 17:05:00 -08:00
2017-01-16 17:05:00 -08:00
2017-04-24 10:00:33 -07:00
2017-04-24 10:00:33 -07:00
2016-08-18 16:23:42 -07:00
2017-01-30 15:44:42 -08:00
2017-05-16 14:21:52 -07:00
2017-01-30 15:44:42 -08:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2016-08-18 16:23:42 -07:00
2017-05-16 14:21:52 -07:00
2017-02-16 14:52:14 -08:00
2017-04-11 15:44:27 -07:00
2017-05-14 12:05:51 -07:00
2017-01-16 17:05:00 -08:00
2017-01-16 17:05:00 -08:00
2016-10-29 12:44:44 -07:00
2017-03-23 16:36:00 -07:00
2017-04-11 15:44:27 -07:00
2017-05-05 08:49:09 -07:00
2017-05-14 12:05:51 -07:00
2017-02-24 09:20:40 -08:00
2017-05-09 17:46:46 -07:00
2017-05-09 17:46:46 -07:00
2017-05-14 12:05:51 -07:00
2017-05-14 12:05:51 -07:00
2017-01-26 12:51:12 -08:00
2017-05-14 12:05:51 -07:00
2017-01-18 12:24:34 -08:00
2017-02-28 18:05:52 -08:00
2017-05-14 12:05:51 -07:00
2017-05-01 10:32:18 -07:00
2017-05-15 00:52:33 -07:00
2017-05-15 00:52:33 -07:00
2017-05-15 00:52:33 -07:00
2017-05-14 12:05:51 -07:00
2017-04-11 17:44:26 -07:00
2017-05-04 10:38:48 -07:00
2017-05-04 20:03:56 -07:00
2017-05-01 10:32:18 -07:00
2017-05-15 00:52:33 -07:00
2017-05-15 00:52:33 -07:00
2017-05-15 00:52:33 -07:00
2017-03-16 12:21:58 -07:00
2017-03-30 11:21:19 -07:00
2017-02-16 14:52:14 -08:00
2017-04-27 12:40:22 -07:00
2017-05-15 18:17:02 -07:00
2017-04-03 14:50:09 -07:00
2017-05-15 18:17:02 -07:00
2016-12-19 19:32:55 -08:00
2017-04-21 07:15:53 -07:00
2016-08-18 16:23:42 -07:00
2016-08-18 16:23:42 -07:00
2017-03-16 00:16:06 -07:00
2017-03-18 11:28:41 -07:00
2017-03-18 11:28:41 -07:00
2017-04-15 11:40:01 -07:00
2017-03-18 11:28:41 -07:00
2017-04-11 10:25:21 -07:00
2017-01-02 20:57:42 +05:30
2017-04-11 15:44:27 -07:00
2017-04-11 10:25:21 -07:00
2017-04-19 10:37:56 -07:00
2017-04-11 15:44:27 -07:00
2016-12-26 10:29:55 -08:00
2017-02-01 11:17:30 -08:00
2017-04-15 11:40:01 -07:00
2017-03-23 16:36:00 -07:00
2017-04-01 01:06:06 -07:00
2016-08-18 16:23:42 -07:00
2017-03-19 14:23:05 -07:00
2016-12-10 16:15:12 -08:00
2017-05-16 07:19:17 -07:00
2017-05-16 14:21:52 -07:00
2017-04-12 09:22:35 -07:00
2017-01-02 20:57:42 +05:30
2017-04-12 09:22:35 -07:00
2017-02-09 15:20:54 -08:00
2017-03-17 09:29:17 -07:00
2016-09-16 16:44:44 -07:00
2017-03-31 14:11:27 -07:00
2017-03-31 03:34:26 -07:00
2017-03-31 14:11:27 -07:00
2017-04-19 11:26:35 -07:00
2016-11-15 18:14:23 -08:00
2017-03-31 14:11:27 -07:00
2017-03-31 04:47:40 -07:00
2017-03-31 14:11:27 -07:00
2017-03-31 14:11:27 -07:00
2017-05-04 13:43:54 -07:00
2017-05-04 13:43:54 -07:00
2017-05-14 12:05:51 -07:00
2017-04-11 15:44:27 -07:00
2017-05-14 12:05:51 -07:00
2017-05-14 12:05:51 -07:00
2017-04-27 11:26:00 -07:00
2017-01-18 12:24:34 -08:00
2017-05-09 17:46:46 -07:00
2017-05-09 14:32:24 -07:00
2017-03-31 17:55:15 -07:00
2017-05-14 12:05:51 -07:00
2017-05-14 12:05:51 -07:00
2017-02-01 11:16:17 -08:00
2017-05-14 12:05:51 -07:00
2017-04-24 18:13:46 -07:00
2017-05-14 12:05:51 -07:00
2017-05-05 08:28:08 -07:00
2017-05-14 12:05:51 -07:00
2017-05-14 12:05:51 -07:00
2017-05-16 14:21:52 -07:00
2016-08-18 16:23:42 -07:00
2016-08-18 16:23:42 -07:00
2017-01-18 12:24:34 -08:00
2017-01-18 12:24:34 -08:00
2017-02-03 23:27:50 -08:00
2017-05-02 02:35:27 -07:00
2017-05-05 08:49:09 -07:00
2017-01-18 12:24:34 -08:00
2017-05-02 02:35:27 -07:00
2017-05-02 02:35:27 -07:00
2016-08-18 16:23:42 -07:00
2016-10-27 03:30:52 -07:00
2017-05-02 02:35:27 -07:00
2017-05-16 14:21:52 -07:00
2017-05-15 18:17:02 -07:00
2017-03-13 14:41:13 -07:00
2017-03-18 11:28:41 -07:00
2016-10-07 11:15:55 -07:00
2017-04-11 15:44:27 -07:00
2017-04-11 15:44:27 -07:00
2017-04-18 10:35:17 -07:00
2017-02-07 02:16:29 -08:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2017-03-18 11:28:41 -07:00
2017-04-24 18:13:46 -07:00
2017-03-18 11:28:41 -07:00
2017-04-11 15:44:27 -07:00
2017-04-20 15:28:29 -07:00
2017-02-16 14:52:14 -08:00
2017-02-24 18:26:56 -08:00
2017-01-02 20:57:42 +05:30
2017-05-14 12:05:51 -07:00
2017-02-24 09:20:40 -08:00
2017-04-11 15:44:27 -07:00
2017-05-06 10:16:59 -07:00
2017-03-18 11:28:41 -07:00
2017-05-03 03:23:15 -07:00
2017-04-15 02:16:49 -07:00
2017-03-02 10:34:37 -08:00
2017-02-09 23:26:44 -08:00
2017-05-15 18:17:02 -07:00
2017-05-11 14:27:18 -07:00
2017-04-11 15:44:27 -07:00
2016-08-18 16:23:42 -07:00
2017-03-18 11:28:41 -07:00
2017-04-11 15:44:27 -07:00
2017-05-15 18:17:02 -07:00
2017-05-15 18:17:02 -07:00
2017-05-15 18:17:02 -07:00
2017-05-15 18:17:02 -07:00
2017-05-15 18:17:02 -07:00
2017-05-15 18:17:02 -07:00
2016-11-13 11:48:02 -08:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2017-04-11 15:44:27 -07:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2016-10-10 01:42:32 -07:00
2017-04-05 17:00:24 -07:00
2017-05-02 23:54:22 -07:00
2017-02-01 11:16:17 -08:00
2017-04-11 15:44:27 -07:00
2016-08-18 16:23:42 -07:00
2016-08-18 16:23:42 -07:00
2017-02-03 23:27:50 -08:00
2017-03-03 16:32:04 -08:00
2017-05-02 02:35:27 -07:00
2017-05-12 21:40:22 -07:00
2017-04-26 03:38:35 -07:00
2017-04-26 03:38:35 -07:00
2017-04-11 15:44:27 -07:00
2017-05-02 02:35:27 -07:00
2016-08-18 16:23:42 -07:00
2017-02-19 20:46:06 -08:00
2017-05-14 12:05:51 -07:00
2017-05-10 09:54:24 -07:00
2017-02-22 17:27:26 -08:00
2017-04-11 15:44:27 -07:00
2017-04-12 15:38:35 -07:00
2017-03-18 11:28:41 -07:00
2016-09-14 13:43:08 -07:00
2017-04-11 15:44:27 -07:00
2017-04-14 08:00:04 -07:00
2017-03-31 17:55:15 -07:00
2017-04-14 10:28:35 -07:00
2017-03-16 00:15:06 -07:00
2017-03-24 08:40:44 -07:00
2017-03-20 11:09:05 -07:00
2017-04-14 01:46:16 -07:00
2017-05-16 14:21:52 -07:00
2017-03-18 11:28:41 -07:00
2017-05-14 12:05:51 -07:00
2017-05-09 14:32:24 -07:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2017-05-16 14:21:52 -07:00
2017-04-15 02:16:49 -07:00