max_inline related enhancement
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest5 patches 14 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | btrfs: Parse options after node/sector size initializedfs/ | +7 | 1 reply | |
| 2/5 | btrfs: Always limit inline extent size by uncompressed sizefs/ | +1 | 6 replies | |
| 3/5 | btrfs: Embed sector size check into BTRFS_MAX_INLINE_DATA_SIZE()fs/ fs/ | +3 | 1 reply | |
| 4/5 | btrfs: Unify inline extent creation condition for plain and compressed datafs/ | +0 | 0 replies | |
| 5/5 | btrfs: Show more accurate max_inlinefs/ | +2 | 5 replies |
Reviews trailers per patch
None of the 5 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Nikolay Borisov |
|---|---|
| Series | R-b |
| 1/5 | |
| 2/5 | |
| 3/5 | |
| 4/5 | |
| 5/5 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/5] max_inline related enhancement
This patchset intends to reduce confusion about "max_inline" mount option.
The max_inline mount option has the following problems:
1) Different behavior for plain and compressed data extent For plain data extent, it's limiting the extent data size, and will never reach sector size.
For compressed data extent, it's limiting the compressed data size, and compressed data size can reach sector size.
The compressed behavior is very confusing for normal user, as it's almost impossible for end user to know if their operation will end up inlined or no inlined.
2) Inaccurate max inline output
Passing max_inline=4096 and kernel will prompt max_inline is 4096, but we still don't allow inline plain data extent to reach 4096.
3) Symbol link can exceed sector size for its inlined data Since btrfs_symlink() is calling BTRFS_MAX_INLINE_DATA_SIZE() directly without extra truncation.
This patchset will fixes such problems by:
1) Limit both plain and compressed inline extent size by uncompressed data size
So user know exactly what will end up on-disk, just by checking the data size.
2) Output max inline size by limiting it to BTRFS_MAX_INLINE_DATA_SIZE() other than sector size.
3) Embed sector size check into BTRFS_MAX_INLINE_DATA_SIZE() So now btrfs_symlink() won't create any inline extent larger than page size.
(Only affects later operations, and can still read such existing
symbol link)
Qu Wenruo (5):
btrfs: Parse options after node/sector size initialized
btrfs: Always limit inline extent size by uncompressed size
btrfs: Embed sector size check into BTRFS_MAX_INLINE_DATA_SIZE()
btrfs: Unify inline extent creation condition for plain and compressed
data
btrfs: Show more accurate max_inline
fs/btrfs/ctree.h | 5 +++-- fs/btrfs/disk-io.c | 13 +++++++------ fs/btrfs/inode.c | 5 +---- fs/btrfs/super.c | 4 ++-- 4 files changed, 13 insertions(+), 14 deletions(-)
Signature · 1 line
2.16.2