mirror of
				https://github.com/facebook/zstd.git
				synced 2025-11-04 00:02:59 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			123 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 308795a7713ca6fcd468b60fba9a2fca99cee6a0 Mon Sep 17 00:00:00 2001
 | 
						|
From: Nick Terrell <terrelln@fb.com>
 | 
						|
Date: Tue, 8 Aug 2017 19:20:25 -0700
 | 
						|
Subject: [PATCH v5 0/5] Add xxhash and zstd modules
 | 
						|
 | 
						|
Hi all,
 | 
						|
 | 
						|
This patch set adds xxhash, zstd compression, and zstd decompression
 | 
						|
modules. It also adds zstd support to BtrFS and SquashFS.
 | 
						|
 | 
						|
Each patch has relevant summaries, benchmarks, and tests.
 | 
						|
 | 
						|
Best,
 | 
						|
Nick Terrell
 | 
						|
 | 
						|
Changelog:
 | 
						|
 | 
						|
v1 -> v2:
 | 
						|
- Make pointer in lib/xxhash.c:394 non-const (1/5)
 | 
						|
- Use div_u64() for division of u64s (2/5)
 | 
						|
- Reduce stack usage of ZSTD_compressSequences(), ZSTD_buildSeqTable(),
 | 
						|
  ZSTD_decompressSequencesLong(), FSE_buildDTable(), FSE_decompress_wksp(),
 | 
						|
  HUF_writeCTable(), HUF_readStats(), HUF_readCTable(),
 | 
						|
  HUF_compressWeights(), HUF_readDTableX2(), and HUF_readDTableX4() (2/5)
 | 
						|
- No zstd function uses more than 400 B of stack space (2/5)
 | 
						|
 | 
						|
v2 -> v3:
 | 
						|
- Work around gcc-7 bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81388
 | 
						|
  (2/5)
 | 
						|
- Fix bug in dictionary compression from upstream commit cc1522351f (2/5)
 | 
						|
- Port upstream BtrFS commits e1ddce71d6, 389a6cfc2a, and 6acafd1eff (3/5)
 | 
						|
- Change default compression level for BtrFS to 3 (3/5)
 | 
						|
 | 
						|
v3 -> v4:
 | 
						|
- Fix compiler warnings (2/5)
 | 
						|
- Add missing includes (3/5)
 | 
						|
- Fix minor linter warnings (3/5, 4/5)
 | 
						|
- Add crypto patch (5/5)
 | 
						|
 | 
						|
v4 -> v5:
 | 
						|
- Fix rare compression bug from upstream commit 308047eb5d (2/5)
 | 
						|
- Fix bug introduced in v3 when working around the gcc-7 bug (2/5)
 | 
						|
- Fix ZSTD_DStream initialization code in squashfs (4/5)
 | 
						|
- Fix patch documentation for patches written by Sean Purcell (4/5)
 | 
						|
 | 
						|
Nick Terrell (5):
 | 
						|
  lib: Add xxhash module
 | 
						|
  lib: Add zstd modules
 | 
						|
  btrfs: Add zstd support
 | 
						|
  squashfs: Add zstd support
 | 
						|
  crypto: Add zstd support
 | 
						|
 | 
						|
 crypto/Kconfig             |    9 +
 | 
						|
 crypto/Makefile            |    1 +
 | 
						|
 crypto/testmgr.c           |   10 +
 | 
						|
 crypto/testmgr.h           |   71 +
 | 
						|
 crypto/zstd.c              |  265 ++++
 | 
						|
 fs/btrfs/Kconfig           |    2 +
 | 
						|
 fs/btrfs/Makefile          |    2 +-
 | 
						|
 fs/btrfs/compression.c     |    1 +
 | 
						|
 fs/btrfs/compression.h     |    6 +-
 | 
						|
 fs/btrfs/ctree.h           |    1 +
 | 
						|
 fs/btrfs/disk-io.c         |    2 +
 | 
						|
 fs/btrfs/ioctl.c           |    6 +-
 | 
						|
 fs/btrfs/props.c           |    6 +
 | 
						|
 fs/btrfs/super.c           |   12 +-
 | 
						|
 fs/btrfs/sysfs.c           |    2 +
 | 
						|
 fs/btrfs/zstd.c            |  432 ++++++
 | 
						|
 fs/squashfs/Kconfig        |   14 +
 | 
						|
 fs/squashfs/Makefile       |    1 +
 | 
						|
 fs/squashfs/decompressor.c |    7 +
 | 
						|
 fs/squashfs/decompressor.h |    4 +
 | 
						|
 fs/squashfs/squashfs_fs.h  |    1 +
 | 
						|
 fs/squashfs/zstd_wrapper.c |  151 ++
 | 
						|
 include/linux/xxhash.h     |  236 +++
 | 
						|
 include/linux/zstd.h       | 1157 +++++++++++++++
 | 
						|
 include/uapi/linux/btrfs.h |    8 +-
 | 
						|
 lib/Kconfig                |   11 +
 | 
						|
 lib/Makefile               |    3 +
 | 
						|
 lib/xxhash.c               |  500 +++++++
 | 
						|
 lib/zstd/Makefile          |   18 +
 | 
						|
 lib/zstd/bitstream.h       |  374 +++++
 | 
						|
 lib/zstd/compress.c        | 3484 ++++++++++++++++++++++++++++++++++++++++++++
 | 
						|
 lib/zstd/decompress.c      | 2528 ++++++++++++++++++++++++++++++++
 | 
						|
 lib/zstd/entropy_common.c  |  243 +++
 | 
						|
 lib/zstd/error_private.h   |   53 +
 | 
						|
 lib/zstd/fse.h             |  575 ++++++++
 | 
						|
 lib/zstd/fse_compress.c    |  795 ++++++++++
 | 
						|
 lib/zstd/fse_decompress.c  |  332 +++++
 | 
						|
 lib/zstd/huf.h             |  212 +++
 | 
						|
 lib/zstd/huf_compress.c    |  770 ++++++++++
 | 
						|
 lib/zstd/huf_decompress.c  |  960 ++++++++++++
 | 
						|
 lib/zstd/mem.h             |  151 ++
 | 
						|
 lib/zstd/zstd_common.c     |   75 +
 | 
						|
 lib/zstd/zstd_internal.h   |  263 ++++
 | 
						|
 lib/zstd/zstd_opt.h        | 1014 +++++++++++++
 | 
						|
 44 files changed, 14756 insertions(+), 12 deletions(-)
 | 
						|
 create mode 100644 crypto/zstd.c
 | 
						|
 create mode 100644 fs/btrfs/zstd.c
 | 
						|
 create mode 100644 fs/squashfs/zstd_wrapper.c
 | 
						|
 create mode 100644 include/linux/xxhash.h
 | 
						|
 create mode 100644 include/linux/zstd.h
 | 
						|
 create mode 100644 lib/xxhash.c
 | 
						|
 create mode 100644 lib/zstd/Makefile
 | 
						|
 create mode 100644 lib/zstd/bitstream.h
 | 
						|
 create mode 100644 lib/zstd/compress.c
 | 
						|
 create mode 100644 lib/zstd/decompress.c
 | 
						|
 create mode 100644 lib/zstd/entropy_common.c
 | 
						|
 create mode 100644 lib/zstd/error_private.h
 | 
						|
 create mode 100644 lib/zstd/fse.h
 | 
						|
 create mode 100644 lib/zstd/fse_compress.c
 | 
						|
 create mode 100644 lib/zstd/fse_decompress.c
 | 
						|
 create mode 100644 lib/zstd/huf.h
 | 
						|
 create mode 100644 lib/zstd/huf_compress.c
 | 
						|
 create mode 100644 lib/zstd/huf_decompress.c
 | 
						|
 create mode 100644 lib/zstd/mem.h
 | 
						|
 create mode 100644 lib/zstd/zstd_common.c
 | 
						|
 create mode 100644 lib/zstd/zstd_internal.h
 | 
						|
 create mode 100644 lib/zstd/zstd_opt.h
 | 
						|
 | 
						|
--
 | 
						|
2.9.3
 |