diff options
author | Jakub Kicinski <kuba@kernel.org> | 2021-10-07 15:24:06 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-10-07 15:24:06 -0700 |
commit | 9fe1155233c8290ca6e206053e531ef87f9026ea (patch) | |
tree | ef0d45b2562e01beb8ce4cb4cd016155b4e32a65 /fs/ext4/fast_commit.c | |
parent | c514fbb6231483b05c97eb22587188d4c453b28e (diff) | |
parent | 1da38549dd64c7f5dd22427f12dfa8db3d8a722b (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
No conflicts.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'fs/ext4/fast_commit.c')
-rw-r--r-- | fs/ext4/fast_commit.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c index 8e610a381862f..8ea5a81e65548 100644 --- a/fs/ext4/fast_commit.c +++ b/fs/ext4/fast_commit.c @@ -892,6 +892,12 @@ static int ext4_fc_write_inode_data(struct inode *inode, u32 *crc) sizeof(lrange), (u8 *)&lrange, crc)) return -ENOSPC; } else { + unsigned int max = (map.m_flags & EXT4_MAP_UNWRITTEN) ? + EXT_UNWRITTEN_MAX_LEN : EXT_INIT_MAX_LEN; + + /* Limit the number of blocks in one extent */ + map.m_len = min(max, map.m_len); + fc_ext.fc_ino = cpu_to_le32(inode->i_ino); ex = (struct ext4_extent *)&fc_ext.fc_ex; ex->ee_block = cpu_to_le32(map.m_lblk); |