Commit e02e7e0
committed
sstable: always use target buffer for CompressAndChecksum
Currently `CompressAndChecksum` can alias the original data buffer if
we do not compress the data (either because compression is disabled,
or the data was not compressible enough). In most cases, we write out
the resulting data which can mangle the buffer. This leads most
callers to check if the buffer is not compressed and make a copy.
This change moves the copy into `CompressAndChecksum`; we always use
the dst buffer, even if we don't compress. This simplifies the callers
and makes things less fragile.1 parent 310fac7 commit e02e7e0
File tree
4 files changed
+22
-82
lines changed- sstable
- block
4 files changed
+22
-82
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
212 | 212 | | |
213 | 213 | | |
214 | 214 | | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | 215 | | |
228 | 216 | | |
229 | 217 | | |
| |||
247 | 235 | | |
248 | 236 | | |
249 | 237 | | |
250 | | - | |
251 | | - | |
252 | | - | |
| 238 | + | |
| 239 | + | |
253 | 240 | | |
254 | 241 | | |
255 | | - | |
256 | | - | |
| 242 | + | |
| 243 | + | |
257 | 244 | | |
258 | | - | |
| 245 | + | |
259 | 246 | | |
| 247 | + | |
260 | 248 | | |
261 | 249 | | |
262 | 250 | | |
263 | 251 | | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
| 252 | + | |
| 253 | + | |
272 | 254 | | |
273 | 255 | | |
274 | 256 | | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
275 | 265 | | |
276 | 266 | | |
277 | | - | |
278 | | - | |
| 267 | + | |
| 268 | + | |
279 | 269 | | |
280 | 270 | | |
281 | 271 | | |
| |||
375 | 365 | | |
376 | 366 | | |
377 | 367 | | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | 368 | | |
390 | | - | |
| 369 | + | |
391 | 370 | | |
392 | 371 | | |
393 | 372 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
667 | 667 | | |
668 | 668 | | |
669 | 669 | | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | 670 | | |
679 | 671 | | |
680 | 672 | | |
| |||
1164 | 1156 | | |
1165 | 1157 | | |
1166 | 1158 | | |
1167 | | - | |
1168 | | - | |
1169 | | - | |
1170 | | - | |
1171 | | - | |
1172 | | - | |
1173 | | - | |
1174 | | - | |
1175 | 1159 | | |
1176 | 1160 | | |
1177 | 1161 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | 21 | | |
23 | 22 | | |
24 | 23 | | |
| |||
675 | 674 | | |
676 | 675 | | |
677 | 676 | | |
678 | | - | |
679 | | - | |
| 677 | + | |
680 | 678 | | |
681 | 679 | | |
682 | 680 | | |
| |||
692 | 690 | | |
693 | 691 | | |
694 | 692 | | |
695 | | - | |
696 | | - | |
697 | 693 | | |
698 | 694 | | |
699 | 695 | | |
| |||
716 | 712 | | |
717 | 713 | | |
718 | 714 | | |
719 | | - | |
720 | | - | |
721 | 715 | | |
722 | 716 | | |
723 | 717 | | |
724 | 718 | | |
725 | 719 | | |
726 | 720 | | |
727 | 721 | | |
728 | | - | |
729 | | - | |
730 | 722 | | |
731 | 723 | | |
732 | 724 | | |
| |||
735 | 727 | | |
736 | 728 | | |
737 | 729 | | |
738 | | - | |
739 | | - | |
740 | 730 | | |
741 | 731 | | |
742 | 732 | | |
743 | 733 | | |
744 | | - | |
745 | 734 | | |
746 | 735 | | |
747 | 736 | | |
| |||
770 | 759 | | |
771 | 760 | | |
772 | 761 | | |
773 | | - | |
| 762 | + | |
774 | 763 | | |
775 | 764 | | |
776 | 765 | | |
777 | 766 | | |
778 | 767 | | |
779 | | - | |
780 | | - | |
781 | | - | |
782 | | - | |
783 | | - | |
784 | | - | |
785 | | - | |
786 | | - | |
787 | 768 | | |
788 | 769 | | |
789 | 770 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1968 | 1968 | | |
1969 | 1969 | | |
1970 | 1970 | | |
1971 | | - | |
1972 | | - | |
1973 | | - | |
1974 | | - | |
1975 | | - | |
1976 | 1971 | | |
1977 | 1972 | | |
| 1973 | + | |
1978 | 1974 | | |
1979 | 1975 | | |
1980 | 1976 | | |
| |||
0 commit comments