Skip to content
This repository was archived by the owner on Nov 11, 2024. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
310 commits
Select commit Hold shift + click to select a range
2822b30
f2fs: don't keep META_MAPPING pages used for moving verity file blocks
ebiggers Dec 9, 2019
0fc532a
f2fs: don't put new_page twice in f2fs_rename
Dec 11, 2019
ea58d67
f2fs: declare nested quota_sem and remove unnecessary sems
Dec 4, 2019
50dabb3
f2fs: support data compression
chaseyu Nov 1, 2019
090f535
f2fs: run fsck when getting bad inode during GC
Dec 21, 2019
a2efb46
f2fs: convert inline_dir early before starting rename
Dec 10, 2019
bbb4d65
f2fs: remove unneeded check for error allocating bio_post_read_ctx
ebiggers Dec 31, 2019
9314394
f2fs: fix deadlock allocating bio_post_read_ctx from mempool
ebiggers Dec 31, 2019
bc27354
f2fs: show the CP_PAUSE reason in checkpoint traces
Jan 3, 2020
086639d
f2fs: add a way to turn off ipu bio cache
Jan 7, 2020
d49c127
f2fs: update f2fs document regarding to fsync_mode
Jan 8, 2020
e21bdbe
f2fs: change to use rwsem for gc_mutex
chaseyu Jan 14, 2020
b1b824e
f2fs: delete duplicate information on sysfs nodes
Jan 22, 2020
290a972
f2fs: Add f2fs stats to sysfs
Jan 22, 2020
1233551
ANDROID: scsi: ufs: fix collision between CRYPTO and RPM_AUTOSUSPEND …
ebiggers Jan 31, 2020
64de643
UPSTREAM: crypto: x86 - Regularize glue function prototypes
kees Nov 27, 2019
624097d
ANDROID: dm: prevent default-key from being enabled without needed hooks
ebiggers Feb 7, 2020
9a02fbe
UPSTREAM: scsi: ufs-mediatek: enable auto suspend capability
Sep 16, 2019
fc6e38e
UPSTREAM: scsi: ufs: disable irq before disabling clocks
Dec 7, 2019
a0b8577
UPSTREAM: scsi: ufs: disable interrupt during clock-gating
Dec 7, 2019
7141479
BACKPORT: scsi: ufs: unify scsi_block_requests usage
Dec 24, 2019
c321244
BACKPORT: scsi: ufs: use ufshcd_vops_dbg_register_dump for vendor spe…
Dec 24, 2019
5d7658b
UPSTREAM: scsi: ufs-mediatek: add device reset implementation
Dec 30, 2019
0149d6c
UPSTREAM: scsi: ufs-mediatek: introduce reference clock control
Dec 30, 2019
912954f
BACKPORT: scsi: ufs: export ufshcd_auto_hibern8_update for vendor usage
Dec 30, 2019
e0811e2
UPSTREAM: scsi: ufs-mediatek: configure customized auto-hibern8 timer
Dec 30, 2019
398ea0d
UPSTREAM: scsi: ufs-mediatek: configure and enable clk-gating
Dec 30, 2019
395ba4e
UPSTREAM: scsi: ufs: fix empty check of error history
Jan 4, 2020
c8dd40d
UPSTREAM: scsi: ufs: add device reset history for vendor implementations
Jan 4, 2020
1f60765
UPSTREAM: scsi: ufs-mediatek: add dbg_register_dump implementation
Jan 17, 2020
26cd53f
BACKPORT: scsi: ufs: export some functions for vendor usage
Jan 17, 2020
ee154a2
UPSTREAM: scsi: ufs-mediatek: enable low-power mode for hibern8 state
Jan 17, 2020
de0bb97
UPSTREAM: dt-bindings: nvmem: Add Spreadtrum eFuse controller documen…
Oct 29, 2019
91d707c
UPSTREAM: nvmem: sprd: Add Spreadtrum SoCs eFuse support
Oct 29, 2019
ae080a7
UPSTREAM: spi: sprd: adi: Set BIT_WDG_NEW bit when rebooting
Oct 28, 2019
302dd90
UPSTREAM: pinctrl: sprd: Add PIN_CONFIG_BIAS_DISABLE configuration su…
wangbaolin719 Oct 9, 2019
7669054
UPSTREAM: pinctrl: sprd: Add CM4 sleep mode support
Oct 16, 2019
18f90e1
UPSTREAM: dmaengine: sprd: Add wrap address support for link-list mode
Oct 23, 2019
dc7c66b
UPSTREAM: serial: sprd: Add polling IO support
liuhhome Sep 19, 2019
0660852
UPSTREAM: dynamic_debug: allow to work if debugfs is disabled
gregkh Feb 10, 2020
82d32e4
fscrypt: support passing a keyring key to FS_IOC_ADD_ENCRYPTION_KEY
ebiggers Nov 19, 2019
99494f5
fscrypt: use crypto_skcipher_driver_name()
ebiggers Dec 9, 2019
0d0fe5b
fscrypt: verify that the crypto_skcipher has the correct ivsize
ebiggers Dec 9, 2019
63049b7
fscrypt: constify struct fscrypt_hkdf parameter to fscrypt_hkdf_expand()
ebiggers Dec 9, 2019
1defc47
fscrypt: constify inode parameter to filename encryption functions
ebiggers Dec 15, 2019
2074a08
fscrypt: move fscrypt_d_revalidate() to fname.c
ebiggers Dec 9, 2019
89388fd
fscrypt: introduce fscrypt_needs_contents_encryption()
ebiggers Dec 9, 2019
65ee090
fscrypt: split up fscrypt_supported_policy() by policy version
ebiggers Dec 9, 2019
9fd447a
fscrypt: check for appropriate use of DIRECT_KEY flag earlier
ebiggers Dec 9, 2019
45c45cb
fscrypt: move fscrypt_valid_enc_modes() to policy.c
ebiggers Dec 9, 2019
e732fee
fscrypt: remove fscrypt_is_direct_key_policy()
ebiggers Dec 9, 2019
b294aca
fscrypt: don't check for ENOKEY from fscrypt_get_encryption_info()
ebiggers Dec 9, 2019
ca889af
fscrypt: include <linux/ioctl.h> in UAPI header
ebiggers Dec 19, 2019
8b2c0bc
ANDROID: f2fs: fix missing blk-crypto changes
Feb 10, 2020
4c8b933
fscrypt: Allow modular crypto algorithms
herbertx Dec 27, 2019
f905051
fscrypt: remove redundant bi_status check
ebiggers Dec 9, 2019
de5b01e
fscrypt: document gfp_flags for bounce page allocation
ebiggers Dec 31, 2019
4645ac2
fscrypt: add "fscrypt_" prefix to fname_encrypt()
ebiggers Jan 20, 2020
2d28152
fscrypt: don't allow v1 policies with casefolding
drosen-google Jan 20, 2020
7ab80f0
fscrypt: derive dirhash key for casefolded directories
drosen-google Jan 20, 2020
693e4b5
fscrypt: clarify what is meant by a per-file key
ebiggers Jan 20, 2020
fa0b98c
fscrypt: improve format of no-key names
drosen-google Jan 20, 2020
4ddc053
FROMLIST: ufs: fix a bug on printing PRDT
Feb 19, 2020
db6b5f1
ANDROID: ufs: add quirk to fix abnormal ocs fatal error
Feb 8, 2020
79996fa
FROMLIST: unicode: Add utf8_casefold_hash
drosen-google Feb 6, 2020
9dbe73f
FROMLIST: Add standard casefolding support
drosen-google Jan 23, 2020
0826867
FROMLIST: f2fs: Use generic casefolding support
drosen-google Feb 6, 2020
f0501a0
FROMLIST: ext4: Use generic casefolding support
drosen-google Feb 6, 2020
9423072
FROMLIST: fscrypt: Have filesystems handle their d_ops
drosen-google Jan 28, 2020
b3dbec9
FROMLIST: f2fs: Handle casefolding with Encryption
drosen-google Sep 30, 2019
91da34e
ANDROID: ufs, block: fix crypto power management and move into block …
ebiggers Feb 13, 2020
43213c3
ANDROID: block: Prevent crypto fallback for wrapped keys
Feb 7, 2020
2a78f70
ANDROID: dm: add support for passing through derive_raw_secret
Feb 7, 2020
d1763a4
ANDROID: dm: Add wrapped key support in dm-default-key
Feb 7, 2020
2164907
ANDROID: scsi: ufs: allow ufs variants to override sg entry size
ebiggers Feb 24, 2020
b504ccc
ANDROID: Removed default m for virtual sw crypto device
rmuthiah Mar 3, 2020
64de364
BACKPORT: scsi: ufs: Delete struct ufs_dev_desc
beanhuo Jan 20, 2020
5bad8e6
FROMGIT: scsi: ufs: Allow vendor device quirks to be applied early
Feb 21, 2020
e4352c7
FROMGIT: scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices
Feb 24, 2020
f16b1b1
FROMLIST: scsi: ufs: Use ufshcd_config_pwr_mode() when scale gear
Feb 11, 2020
dca7e7f
FROMGIT: scsi: ufs: Select INITIAL ADAPT type for HS Gear4
Feb 11, 2020
f5b954f
UPSTREAM: scsi: ufs: Add device reset in link recovery path
Nov 15, 2019
7624593
UPSTREAM: scsi: ufs-qcom: Add reset control support for host controller
Nov 15, 2019
1b9f437
UPSTREAM: scsi: ufs: Fix register dump caused sleep in atomic context
Nov 15, 2019
6375fba
UPSTREAM: scsi: ufs: Fix irq return code
Nov 15, 2019
2fc6c8c
UPSTREAM: scsi: ufs: Abort gating if clock on request is pending
Nov 15, 2019
a2f9289
FROMLIST: fscrypt: add FS_IOC_GET_ENCRYPTION_NONCE ioctl
ebiggers Mar 14, 2020
0a7f770
FROMLIST: ext4: wire up FS_IOC_GET_ENCRYPTION_NONCE
ebiggers Mar 14, 2020
cea918b
FROMLIST: f2fs: wire up FS_IOC_GET_ENCRYPTION_NONCE
ebiggers Mar 14, 2020
e3d4af8
FROMLIST: ubifs: wire up FS_IOC_GET_ENCRYPTION_NONCE
ebiggers Mar 14, 2020
09785b8
ANDROID: ext4: Handle casefolding with encryption
drosen-google Oct 8, 2019
6779a35
ANDROID: ext4: Optimize match for casefolded encrypted dirs
drosen-google Nov 7, 2019
794da68
ANDROID: fscrypt: fall back to filesystem-layer crypto when needed
ebiggers Apr 3, 2020
e694928
FROMLIST: f2fs: fix wrong check on F2FS_IOC_FSSETXATTR
drosen-google Mar 9, 2020
aca69c3
f2fs: fix leaking uninitialized memory in compressed clusters
ebiggers Feb 21, 2020
a326933
f2fs: fix to avoid NULL pointer dereference
chaseyu Feb 24, 2020
35d893a
f2fs: recycle unused compress_data.chksum feild
chaseyu Feb 24, 2020
04886ca
f2fs: add missing function name in kernel message
chaseyu Feb 24, 2020
99d091e
f2fs: fix to avoid potential deadlock
chaseyu Feb 24, 2020
5fc63ad
f2fs: fix to check i_compr_blocks correctly
chaseyu Feb 25, 2020
43a3830
f2fs: cover last_disk_size update with spinlock
chaseyu Feb 27, 2020
c44d22d
f2fs: remove i_sem lock coverage in f2fs_setxattr()
chaseyu Feb 27, 2020
623250e
f2fs: fix inconsistent comments
chaseyu Feb 27, 2020
9980553
f2fs: fix to avoid using uninitialized variable
chaseyu Mar 2, 2020
cc13065
f2fs: fix to avoid use-after-free in f2fs_write_multi_pages()
chaseyu Feb 28, 2020
2e2be34
f2fs: fix to account compressed inode correctly
chaseyu Mar 10, 2020
c7bd62a
f2fs: fix to check dirty pages during compressed inode conversion
chaseyu Mar 10, 2020
fb0d832
f2fs: allow to clear F2FS_COMPR_FL flag
chaseyu Mar 10, 2020
b87bd1c
f2fs: Use scnprintf() for avoiding potential buffer overflow
tiwai Mar 11, 2020
c0821c0
f2fs: show mounted time
Feb 26, 2020
13ea7d8
f2fs: clean up codes with {f2fs_,}data_blkaddr()
chaseyu Feb 14, 2020
d3689a2
f2fs: clean up parameter of macro XATTR_SIZE()
chaseyu Feb 14, 2020
b17c599
f2fs: clean up lfs/adaptive mount option
chaseyu Feb 14, 2020
8407f0a
f2fs: clean up bggc mount option
chaseyu Feb 14, 2020
9c55796
f2fs: add migration count iff migration happens
Feb 9, 2020
131649a
f2fs: skip GC when section is full
Feb 9, 2020
2a99b3d
f2fs: introduce DEFAULT_IO_TIMEOUT
chaseyu Feb 17, 2020
57ad809
f2fs: add prefix for f2fs slab cache name
chaseyu Feb 17, 2020
8682f15
f2fs: fix to avoid triggering IO in write path
chaseyu Feb 18, 2020
d8a2867
f2fs: introduce F2FS_IOC_GET_COMPRESS_BLOCKS
chaseyu Feb 21, 2020
e902408
f2fs: avoid __GFP_NOFAIL in f2fs_bio_alloc
chaseyu Feb 18, 2020
2e1e206
f2fs: fix to show tracepoint correctly
chaseyu Feb 24, 2020
caa84ca
f2fs: skip migration only when BG_GC is called
Feb 9, 2020
83fda32
f2fs: use kmem_cache pool during inline xattr lookups
chaseyu Feb 25, 2020
d3b2bba
f2fs: fix to update f2fs_super_block fields under sb_lock
chaseyu Mar 3, 2020
a4f915f
f2fs: xattr.h: Replace zero-length array with flexible-array member
GustavoARSilva Mar 9, 2020
f251e24
f2fs: fix to account compressed blocks in f2fs_compressed_blocks()
chaseyu Mar 12, 2020
9f98b8b
f2fs: don't mark compressed inode dirty during f2fs_iget()
chaseyu Mar 18, 2020
846f063
f2fs: delete DIO read lock
DongDongJu Mar 20, 2020
52d8710
f2fs: fix potential deadlock on compressed quota file
chaseyu Mar 20, 2020
e6891a0
f2fs: don't change inode status under page lock
chaseyu Mar 20, 2020
5252c25
f2fs: fix to avoid potential deadlock
chaseyu Mar 19, 2020
217e994
f2fs: clean up f2fs_may_encrypt()
chaseyu Mar 21, 2020
c427093
f2fs: don't trigger data flush in foreground operation
chaseyu Mar 19, 2020
f4cd53d
f2fs: don't call fscrypt_get_encryption_info() explicitly in f2fs_tmp…
chaseyu Mar 21, 2020
c50bafc
f2fs: fix to clear PG_error if fsverity failed
chaseyu Mar 21, 2020
ae0687b
f2fs: fix NULL pointer dereference in f2fs_verity_work()
chaseyu Mar 23, 2020
c1473a2
f2fs: fix potential .flags overflow on 32bit architecture
chaseyu Mar 23, 2020
675cfe9
f2fs: fix to avoid double unlock
chaseyu Mar 24, 2020
fca32e4
f2fs: xattr.h: Make stub helpers inline
Mar 28, 2020
81ce439
f2fs: fix to use f2fs_readpage_limit() in f2fs_read_multi_pages()
chaseyu Mar 30, 2020
27d6576
f2fs: clean up {cic,dic}.ref handling
chaseyu Mar 28, 2020
f5dd848
f2fs: change default compression algorithm
chaseyu Mar 10, 2020
4040034
f2fs: compress: fix to call missing destroy_compress_ctx()
chaseyu Mar 3, 2020
1499ee0
f2fs: compress: add .{init,destroy}_decompress_ctx callback
chaseyu Mar 3, 2020
1c399ee
f2fs: compress: support zstd compress algorithm
chaseyu Mar 3, 2020
6d68998
f2fs: clean up dic->tpages assignment
chaseyu Mar 25, 2020
e69f896
f2fs: show compression in statx
chaseyu Mar 25, 2020
ee4eacd
f2fs: fix to verify tpage before releasing in f2fs_free_dic()
chaseyu Mar 26, 2020
c7932c6
f2fs: switch discard_policy.timeout to bool type
chaseyu Mar 26, 2020
ec81588
f2fs: add missing CONFIG_F2FS_FS_COMPRESSION
chaseyu Mar 27, 2020
5ffa3ad
f2fs: fix to disable compression on directory
chaseyu Mar 27, 2020
4204314
f2fs: keep inline_data when compression conversion
chaseyu Mar 27, 2020
1eaa92c
ANDROID: block: make blk_crypto_start_using_mode() properly check for…
ebiggers Apr 3, 2020
36380be
ANDROID: block: require drivers to declare supported crypto key type(s)
ebiggers Apr 3, 2020
b7af873
f2fs: introduce sysfs/data_io_flag to attach REQ_META/FUA
Apr 2, 2020
e0c45c9
f2fs: add tracepoint for f2fs iostat
Mar 30, 2020
d61f8dc
f2fs: fix long latency due to discard during umount
Apr 15, 2020
a384fd7
f2fs: report the discard cmd errors properly
Apr 15, 2020
c770417
f2fs: fix to handle error path of f2fs_ra_meta_pages()
chaseyu Apr 10, 2020
ab10f3a
f2fs: Fix the accounting of dcc->undiscard_blks
Apr 16, 2020
e8c4e68
f2fs: support read iostat
chaseyu Apr 16, 2020
0d18d93
f2fs: fix quota_sync failure due to f2fs_lock_op
Apr 9, 2020
bc5e144
f2fs: fix missing check for f2fs_unlock_op
Apr 24, 2020
231873b
ANDROID: fscrypt: fix export symbol type
gregkh Apr 29, 2020
1bd9686
ANDROID: dm-default-key: Update key size for wrapped keys
May 11, 2020
976a759
ANDROID: block: backport the ability to specify max_dun_bytes
ebiggers May 6, 2020
d003b30
ANDROID: dm-default-key: set dun_bytes more precisely
ebiggers May 6, 2020
bf2f6eb
ANDROID: fscrypt: set dun_bytes more precisely
ebiggers May 6, 2020
14c2972
fscrypt: fix all kerneldoc warnings
ebiggers May 11, 2020
66d1e1d
fscrypt: name all function parameters
ebiggers May 11, 2020
b17ca6f
fscrypt: remove unnecessary extern keywords
ebiggers May 11, 2020
a01caaf
fscrypt: add fscrypt_add_test_dummy_key()
ebiggers May 12, 2020
c8ed0cd
fscrypt: support test_dummy_encryption=v2
ebiggers May 12, 2020
3a5b875
fscrypt: make test_dummy_encryption use v2 by default
ebiggers May 12, 2020
1b725e8
fscrypt: add support for IV_INO_LBLK_32 policies
ebiggers May 15, 2020
caf905e
f2fs: don't leak filename in f2fs_try_convert_inline_dir()
ebiggers May 7, 2020
cb748a7
f2fs: rework filename handling
ebiggers May 7, 2020
a40c45a
f2fs: Use the correct style for SPDX License Identifier
nishadkamdar Apr 25, 2020
6b97e93
f2fs: use strcmp() in parse_options()
ebiggers May 1, 2020
b576c69
f2fs: remove redundant compress inode check
chaseyu Feb 29, 2020
5941dae
f2fs: support partial truncation on compressed inode
chaseyu Mar 18, 2020
1a52498
f2fs: flush dirty meta pages when flushing them
May 14, 2020
e5867c3
f2fs: support fiemap on compressed inode
chaseyu Mar 28, 2020
4de3694
f2fs: introduce f2fs_bmap_compress()
chaseyu Mar 30, 2020
65cdcad
f2fs: introduce mempool for {,de}compress intermediate page allocation
chaseyu Apr 8, 2020
9852c70
f2fs: compress: support lzo-rle compress algorithm
chaseyu Apr 8, 2020
75ee7e7
f2fs: correctly fix the parent inode number during fsync()
ebiggers May 5, 2020
42dc760
f2fs: shrink spinlock coverage
chaseyu May 8, 2020
3d3f051
f2fs: introduce F2FS_IOC_RELEASE_COMPRESS_BLOCKS
chaseyu Mar 6, 2020
027f563
f2fs: remove blk_plugging in block_operations
May 8, 2020
43de769
f2fs: compress: let lz4 compressor handle output buffer budget properly
chaseyu May 9, 2020
7275a19
f2fs: Fix wrong stub helper update_sit_info
May 9, 2020
83389f4
f2fs: Avoid double lock for cp_rwsem during checkpoint
Apr 30, 2020
a3407cf
f2fs: introduce F2FS_IOC_RESERVE_COMPRESS_BLOCKS
chaseyu Mar 6, 2020
b1029e0
f2fs: use round_up to enhance calculation
chaseyu Apr 8, 2020
2de6317
f2fs: refactor resize_fs to avoid meta updates in progress
Mar 31, 2020
0bf2f23
f2fs: remove redundant assignment to variable err
Apr 20, 2020
075ab56
f2fs: compress: don't handle non-compressed data in workqueue
chaseyu Apr 21, 2020
41237ca
f2fs: fix potential use-after-free issue
chaseyu Apr 23, 2020
587c401
f2fs: add compressed/gc data read IO stat
chaseyu Apr 23, 2020
5e2f95f
f2fs: compress: fix zstd data corruption
chaseyu May 8, 2020
edb7159
ANDROID: fscrypt: handle direct I/O with IV_INO_LBLK_32
ebiggers May 19, 2020
45ece2f
f2fs: avoid inifinite loop to wait for flushing node pages at cp_error
May 19, 2020
5c88a5a
ANDROID: scsi: ufs: Handle clocks when lrbp fails
May 22, 2020
a7b5e96
f2fs: code cleanup by removing ifdef macro surrounding
cgxu519 May 26, 2020
ecba377
f2fs: protect new segment allocation in expand_inode_data
May 27, 2020
986531a
f2fs: fix wrong value of tracepoint parameter
chaseyu May 27, 2020
4aa4a06
f2fs: remove unneeded return value of __insert_discard_tree()
chaseyu May 27, 2020
032d2a9
f2fs: compress: don't compress any datas after cp stop
chaseyu May 26, 2020
ded41fa
f2fs: fix wrong discard space
chaseyu May 29, 2020
f9a9b20
f2fs: fix retry logic in f2fs_write_cache_pages()
Jun 2, 2020
f9c84ee
f2fs: remove unused parameter of f2fs_put_rpages_mapping()
chaseyu Jun 8, 2020
8dbee2e
f2fs: add node_io_flag for bio flags likewise data_io_flag
Jun 4, 2020
cfb15e9
f2fs: attach IO flags to the missing cases
Jun 4, 2020
2ef7608
ANDROID: scs: fix recursive spinlock in scs_check_usage
samitolvanen Jun 1, 2020
16b0a1d
FROMLIST: f2fs: fix use-after-free when accessing bio->bi_crypt_context
Jun 17, 2020
b7ffca8
ANDROID: Makefile: append BUILD_NUMBER to version string when defined
Jul 19, 2019
b332ee0
ANDROID: f2fs: add back compress inode check
ebiggers Jul 10, 2020
d1cc9c1
ANDROID: fscrypt: fix DUN contiguity with inline encryption + IV_INO_…
Jun 30, 2020
d3b3633
UPSTREAM: lkdtm: Avoid more compiler optimizations for bad writes
kees Jun 25, 2020
9f3f287
UPSTREAM: lkdtm/heap: Avoid edge and middle of slabs
kees Jun 25, 2020
0907171
ANDROID: lkdtm/usercopy: Use __va_function to find proper vm_mmap add…
Sep 15, 2020
7f14d52
ANDROID: fscrypt: prevent fscrypt_operations from affecting KMI
ebiggers Oct 20, 2020
6ed05a8
ANDROID: Disable kthread delayed work fp check in CFI builds
danielmentzgoogle Sep 25, 2020
07c1b14
ANDROID: kallsyms: ignore ThinLTO+CFI hash suffix in kallsyms_lookup_…
jackp780 Sep 9, 2020
6cb3803
UPSTREAM: security: allow using Clang's zero initialization for stack…
ramosian-glider Jun 16, 2020
8232ffc
UPSTREAM: fscrypt: restrict IV_INO_LBLK_* to AES-256-XTS
ebiggers Jul 21, 2020
e62cf4a
UPSTREAM: fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32
ebiggers Aug 24, 2020
146bbfe
BACKPORT: FROMLIST: fscrypt: add support for IV_INO_LBLK_32 policies
ebiggers May 15, 2020
e21e0e4
fscrypt: avoid data race on fscrypt_mode::logged_impl_name
ebiggers Oct 21, 2019
0b367dc
Revert "ANDROID: fscrypt: add key removal notifier chain"
ebiggers Jun 29, 2020
277d2f0
fscrypt: optimize fscrypt_zeroout_range()
ebiggers Dec 26, 2019
6d7a69b
ANDROID: sdcardfs: remove sdcardfs from system
gregkh May 29, 2020
ada5264
Revert "ANDROID: fs: Restore vfs_path_lookup() export"
gregkh May 29, 2020
e625cb3
Revert "ANDROID: vfs: add d_canonical_path for stacked filesystem sup…
gregkh May 29, 2020
087491e
Revert "ANDROID: vfs: Add permission2 for filesystems with per mount …
gregkh May 29, 2020
bfaac49
Revert "ANDROID: vfs: Add setattr2 for filesystems with per mount per…
gregkh May 29, 2020
cef1596
Revert "ANDROID: sdcardfs: Enable modular sdcardfs"
gregkh May 29, 2020
1722825
FROMGIT: scsi: block: pm: Simplify resume handling
AlanStern Jul 6, 2020
4e9692b
ANDROID: modularize BLK_MQ_VIRTIO
rmuthiah Jan 30, 2020
3f21cd9
linux/parser.h: add include guards
ebiggers May 12, 2020
cd0c6e5
ANDROID: vfs: add d_canonical_path for stacked filesystem support
balsini Oct 27, 2020
a2879d6
ANDROID: dm-bow: Fix free_show value is incorrect
Mar 23, 2020
b2c3757
ANDROID: dm-bow: Fix not to skip trim at framented range
hyeongseok-kim901 Apr 20, 2020
83253c6
ANDROID: dm-bow: Add block_size option
PaulLawrenceGoogle Jun 1, 2020
fcc4d7d
fs-verity: remove unnecessary extern keywords
ebiggers May 11, 2020
cccd0cb
Conflicts in fs/verity, f2fs and fs/crypto resolved
JeevakaPrabu Jan 18, 2021
62bc43a
Merge pull request #2 from projectceladon-ci/android11-5.4-lts-fs-enc…
JeevakaPrabu Jan 19, 2021
b1f7d01
BACKPORT: perf_event: Add support for LSM and SELinux checks
joelagnel Oct 14, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
309 changes: 199 additions & 110 deletions Documentation/ABI/testing/sysfs-fs-f2fs

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions Documentation/admin-guide/dynamic-debug-howto.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ If you make a mistake with the syntax, the write will fail thus::
<debugfs>/dynamic_debug/control
-bash: echo: write error: Invalid argument

Note, for systems without 'debugfs' enabled, the control file can be
found in ``/proc/dynamic_debug/control``.

Viewing Dynamic Debug Behaviour
===============================

Expand Down
8 changes: 4 additions & 4 deletions Documentation/block/inline-encryption.rst
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ Blk-crypto ensures that:

- The bio's encryption context is programmed into a keyslot in the KSM of the
request queue that the bio is being submitted to (or the crypto API fallback
KSM if the request queue doesn't have a KSM), and that the ``processing_ksm``
KSM if the request queue doesn't have a KSM), and that the ``bc_ksm``
in the ``bi_crypt_context`` is set to this KSM

- That the bio has its own individual reference to the keyslot in this KSM.
Expand All @@ -107,7 +107,7 @@ Blk-crypto ensures that:
ensuring that the bio has a valid reference to the keyslot when, for e.g., the
crypto API fallback KSM in blk-crypto performs crypto on the device's behalf.
The individual references are ensured by increasing the refcount for the
keyslot in the ``processing_ksm`` when a bio with a programmed encryption
keyslot in the ``bc_ksm`` when a bio with a programmed encryption
context is cloned.


Expand All @@ -120,7 +120,7 @@ been programmed into any keyslot in any KSM (for e.g. a bio from the FS).
request queue the bio is being submitted to (and if this KSM does not exist,
then it will program it into blk-crypto's internal KSM for crypto API
fallback). The KSM that this encryption context was programmed into is stored
as the ``processing_ksm`` in the bio's ``bi_crypt_context``.
as the ``bc_ksm`` in the bio's ``bi_crypt_context``.

**Case 2:** blk-crypto is given a bio whose encryption context has already been
programmed into a keyslot in the *crypto API fallback* KSM.
Expand All @@ -138,7 +138,7 @@ KSM).
This way, when a device driver is processing a bio, it can be sure that
the bio's encryption context has been programmed into some KSM (either the
device driver's request queue's KSM, or blk-crypto's crypto API fallback KSM).
It then simply needs to check if the bio's processing_ksm is the device's
It then simply needs to check if the bio's ``bc_ksm`` is the device's
request queue's KSM. If so, then it should proceed with IE. If not, it should
simply do nothing with respect to crypto, because some other KSM (perhaps the
blk-crypto crypto API fallback KSM) is handling the en/decryption.
Expand Down
39 changes: 39 additions & 0 deletions Documentation/devicetree/bindings/nvmem/sprd-efuse.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
= Spreadtrum eFuse device tree bindings =

Required properties:
- compatible: Should be "sprd,ums312-efuse".
- reg: Specify the address offset of efuse controller.
- clock-names: Should be "enable".
- clocks: The phandle and specifier referencing the controller's clock.
- hwlocks: Reference to a phandle of a hwlock provider node.

= Data cells =
Are child nodes of eFuse, bindings of which as described in
bindings/nvmem/nvmem.txt

Example:

ap_efuse: efuse@32240000 {
compatible = "sprd,ums312-efuse";
reg = <0 0x32240000 0 0x10000>;
clock-names = "enable";
hwlocks = <&hwlock 8>;
clocks = <&aonapb_gate CLK_EFUSE_EB>;

/* Data cells */
thermal_calib: calib@10 {
reg = <0x10 0x2>;
};
};

= Data consumers =
Are device nodes which consume nvmem data cells.

Example:

thermal {
...

nvmem-cells = <&thermal_calib>;
nvmem-cell-names = "calibration";
};
27 changes: 27 additions & 0 deletions Documentation/filesystems/ext4/directory.rst
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,31 @@ The directory file type is one of the following values:
* - 0x7
- Symbolic link.

To support directories that are both encrypted and casefolded directories, we
must also include hash information in the directory entry. We append
``ext4_extended_dir_entry_2`` to ``ext4_dir_entry_2`` except for the entries
for dot and dotdot, which are kept the same. The structure follows immediately
after ``name`` and is included in the size listed by ``rec_len`` If a directory
entry uses this extension, it may be up to 271 bytes.

.. list-table::
:widths: 8 8 24 40
:header-rows: 1

* - Offset
- Size
- Name
- Description
* - 0x0
- \_\_le32
- hash
- The hash of the directory name
* - 0x4
- \_\_le32
- minor\_hash
- The minor hash of the directory name


In order to add checksums to these classic directory blocks, a phony
``struct ext4_dir_entry`` is placed at the end of each leaf block to
hold the checksum. The directory entry is 12 bytes long. The inode
Expand Down Expand Up @@ -322,6 +347,8 @@ The directory hash is one of the following values:
- Half MD4, unsigned.
* - 0x5
- Tea, unsigned.
* - 0x6
- Siphash.

Interior nodes of an htree are recorded as ``struct dx_node``, which is
also the full length of a data block:
Expand Down
219 changes: 57 additions & 162 deletions Documentation/filesystems/f2fs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,12 @@ fsync_mode=%s Control the policy of fsync. Currently supports "posix",
pass, but the performance will regress. "nobarrier" is
based on "posix", but doesn't issue flush command for
non-atomic files likewise "nobarrier" mount option.
test_dummy_encryption Enable dummy encryption, which provides a fake fscrypt
test_dummy_encryption
test_dummy_encryption=%s
Enable dummy encryption, which provides a fake fscrypt
context. The fake fscrypt context is used by xfstests.
The argument may be either "v1" or "v2", in order to
select the corresponding fscrypt policy version.
checkpoint=%s[:%u[%]] Set to "disable" to turn off checkpointing. Set to "enable"
to reenable checkpointing. Is enabled by default. While
disabled, any unmounting or unexpected shutdowns will cause
Expand All @@ -235,6 +239,17 @@ checkpoint=%s[:%u[%]] Set to "disable" to turn off checkpointing. Set to "en
hide up to all remaining free space. The actual space that
would be unusable can be viewed at /sys/fs/f2fs/<disk>/unusable
This space is reclaimed once checkpoint=enable.
compress_algorithm=%s Control compress algorithm, currently f2fs supports "lzo",
"lz4" and "zstd" algorithm.
compress_log_size=%u Support configuring compress cluster size, the size will
be 4KB * (1 << %u), 16KB is minimum size, also it's
default size.
compress_extension=%s Support adding specified extension, so that f2fs can enable
compression on those corresponding files, e.g. if all files
with '.ext' has high compression rate, we can set the '.ext'
on compression extension list and enable compression on
these file by default rather than to enable it via ioctl.
For other files, we can still enable compression via ioctl.

================================================================================
DEBUGFS ENTRIES
Expand All @@ -259,167 +274,6 @@ The files in each per-device directory are shown in table below.

Files in /sys/fs/f2fs/<devname>
(see also Documentation/ABI/testing/sysfs-fs-f2fs)
..............................................................................
File Content

gc_urgent_sleep_time This parameter controls sleep time for gc_urgent.
500 ms is set by default. See above gc_urgent.

gc_min_sleep_time This tuning parameter controls the minimum sleep
time for the garbage collection thread. Time is
in milliseconds.

gc_max_sleep_time This tuning parameter controls the maximum sleep
time for the garbage collection thread. Time is
in milliseconds.

gc_no_gc_sleep_time This tuning parameter controls the default sleep
time for the garbage collection thread. Time is
in milliseconds.

gc_idle This parameter controls the selection of victim
policy for garbage collection. Setting gc_idle = 0
(default) will disable this option. Setting
gc_idle = 1 will select the Cost Benefit approach
& setting gc_idle = 2 will select the greedy approach.

gc_urgent This parameter controls triggering background GCs
urgently or not. Setting gc_urgent = 0 [default]
makes back to default behavior, while if it is set
to 1, background thread starts to do GC by given
gc_urgent_sleep_time interval.

reclaim_segments This parameter controls the number of prefree
segments to be reclaimed. If the number of prefree
segments is larger than the number of segments
in the proportion to the percentage over total
volume size, f2fs tries to conduct checkpoint to
reclaim the prefree segments to free segments.
By default, 5% over total # of segments.

max_small_discards This parameter controls the number of discard
commands that consist small blocks less than 2MB.
The candidates to be discarded are cached until
checkpoint is triggered, and issued during the
checkpoint. By default, it is disabled with 0.

discard_granularity This parameter controls the granularity of discard
command size. It will issue discard commands iif
the size is larger than given granularity. Its
unit size is 4KB, and 4 (=16KB) is set by default.
The maximum value is 128 (=512KB).

reserved_blocks This parameter indicates the number of blocks that
f2fs reserves internally for root.

batched_trim_sections This parameter controls the number of sections
to be trimmed out in batch mode when FITRIM
conducts. 32 sections is set by default.

ipu_policy This parameter controls the policy of in-place
updates in f2fs. There are five policies:
0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,
0x04: F2FS_IPU_UTIL, 0x08: F2FS_IPU_SSR_UTIL,
0x10: F2FS_IPU_FSYNC.

min_ipu_util This parameter controls the threshold to trigger
in-place-updates. The number indicates percentage
of the filesystem utilization, and used by
F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.

min_fsync_blocks This parameter controls the threshold to trigger
in-place-updates when F2FS_IPU_FSYNC mode is set.
The number indicates the number of dirty pages
when fsync needs to flush on its call path. If
the number is less than this value, it triggers
in-place-updates.

min_seq_blocks This parameter controls the threshold to serialize
write IOs issued by multiple threads in parallel.

min_hot_blocks This parameter controls the threshold to allocate
a hot data log for pending data blocks to write.

min_ssr_sections This parameter adds the threshold when deciding
SSR block allocation. If this is large, SSR mode
will be enabled early.

ram_thresh This parameter controls the memory footprint used
by free nids and cached nat entries. By default,
10 is set, which indicates 10 MB / 1 GB RAM.

ra_nid_pages When building free nids, F2FS reads NAT blocks
ahead for speed up. Default is 0.

dirty_nats_ratio Given dirty ratio of cached nat entries, F2FS
determines flushing them in background.

max_victim_search This parameter controls the number of trials to
find a victim segment when conducting SSR and
cleaning operations. The default value is 4096
which covers 8GB block address range.

migration_granularity For large-sized sections, F2FS can stop GC given
this granularity instead of reclaiming entire
section.

dir_level This parameter controls the directory level to
support large directory. If a directory has a
number of files, it can reduce the file lookup
latency by increasing this dir_level value.
Otherwise, it needs to decrease this value to
reduce the space overhead. The default value is 0.

cp_interval F2FS tries to do checkpoint periodically, 60 secs
by default.

idle_interval F2FS detects system is idle, if there's no F2FS
operations during given interval, 5 secs by
default.

discard_idle_interval F2FS detects the discard thread is idle, given
time interval. Default is 5 secs.

gc_idle_interval F2FS detects the GC thread is idle, given time
interval. Default is 5 secs.

umount_discard_timeout When unmounting the disk, F2FS waits for finishing
queued discard commands which can take huge time.
This gives time out for it, 5 secs by default.

iostat_enable This controls to enable/disable iostat in F2FS.

readdir_ra This enables/disabled readahead of inode blocks
in readdir, and default is enabled.

gc_pin_file_thresh This indicates how many GC can be failed for the
pinned file. If it exceeds this, F2FS doesn't
guarantee its pinning state. 2048 trials is set
by default.

extension_list This enables to change extension_list for hot/cold
files in runtime.

inject_rate This controls injection rate of arbitrary faults.

inject_type This controls injection type of arbitrary faults.

dirty_segments This shows # of dirty segments.

lifetime_write_kbytes This shows # of data written to the disk.

features This shows current features enabled on F2FS.

current_reserved_blocks This shows # of blocks currently reserved.

unusable If checkpoint=disable, this shows the number of
blocks that are unusable.
If checkpoint=enable it shows the number of blocks
that would be unusable if checkpoint=disable were
to be set.

encoding This shows the encoding used for casefolding.
If casefolding is not enabled, returns (none)

================================================================================
USAGE
Expand Down Expand Up @@ -837,3 +691,44 @@ zero or random data, which is useful to the below scenario where:
4. address = fibmap(fd, offset)
5. open(blkdev)
6. write(blkdev, address)

Compression implementation
--------------------------

- New term named cluster is defined as basic unit of compression, file can
be divided into multiple clusters logically. One cluster includes 4 << n
(n >= 0) logical pages, compression size is also cluster size, each of
cluster can be compressed or not.

- In cluster metadata layout, one special block address is used to indicate
cluster is compressed one or normal one, for compressed cluster, following
metadata maps cluster to [1, 4 << n - 1] physical blocks, in where f2fs
stores data including compress header and compressed data.

- In order to eliminate write amplification during overwrite, F2FS only
support compression on write-once file, data can be compressed only when
all logical blocks in file are valid and cluster compress ratio is lower
than specified threshold.

- To enable compression on regular inode, there are three ways:
* chattr +c file
* chattr +c dir; touch dir/file
* mount w/ -o compress_extension=ext; touch file.ext

Compress metadata layout:
[Dnode Structure]
+-----------------------------------------------+
| cluster 1 | cluster 2 | ......... | cluster N |
+-----------------------------------------------+
. . . .
. . . .
. Compressed Cluster . . Normal Cluster .
+----------+---------+---------+---------+ +---------+---------+---------+---------+
|compr flag| block 1 | block 2 | block 3 | | block 1 | block 2 | block 3 | block 4 |
+----------+---------+---------+---------+ +---------+---------+---------+---------+
. .
. .
. .
+-------------+-------------+----------+----------------------------+
| data length | data chksum | reserved | compressed data |
+-------------+-------------+----------+----------------------------+
Loading