diff options
author | Jason Liu <jason.hui.liu@nxp.com> | 2022-09-26 12:56:22 -0500 |
---|---|---|
committer | Jason Liu <jason.hui.liu@nxp.com> | 2022-09-26 12:56:22 -0500 |
commit | 2b53d4d52360709aebc699b18fde867a571b8c39 (patch) | |
tree | c2ff72465262fbd327e6e09361154c52047ef792 /fs/ext4/resize.c | |
parent | 36363d8623ba60858e2632b7d2b70dae932c9a8b (diff) | |
parent | 3e98e33d345e981800e03dd29f6f6343286d30b6 (diff) |
Merge tag 'v5.15.70' into lf-5.15.y
This is the 5.15.70 stable release
* tag 'v5.15.70': (2444 commits)
Linux 5.15.70
ALSA: hda/sigmatel: Fix unused variable warning for beep power change
cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
...
Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
Conflicts:
arch/arm/boot/dts/imx6ul.dtsi
arch/arm/mm/mmu.c
arch/arm64/boot/dts/freescale/imx8mp-evk.dts
drivers/gpu/drm/imx/dcss/dcss-kms.c
drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c
drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
drivers/soc/fsl/Kconfig
drivers/soc/imx/gpcv2.c
drivers/usb/dwc3/host.c
net/dsa/slave.c
sound/soc/fsl/imx-card.c
Diffstat (limited to 'fs/ext4/resize.c')
-rw-r--r-- | fs/ext4/resize.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c index 56c9ef0687fc..862cbbc01d6e 100644 --- a/fs/ext4/resize.c +++ b/fs/ext4/resize.c @@ -1472,6 +1472,7 @@ static void ext4_update_super(struct super_block *sb, * Update the fs overhead information */ ext4_calculate_overhead(sb); + es->s_overhead_clusters = cpu_to_le32(sbi->s_overhead); if (test_opt(sb, DEBUG)) printk(KERN_DEBUG "EXT4-fs: added group %u:" @@ -1976,6 +1977,16 @@ int ext4_resize_fs(struct super_block *sb, ext4_fsblk_t n_blocks_count) } brelse(bh); + /* + * For bigalloc, trim the requested size to the nearest cluster + * boundary to avoid creating an unusable filesystem. We do this + * silently, instead of returning an error, to avoid breaking + * callers that blindly resize the filesystem to the full size of + * the underlying block device. + */ + if (ext4_has_feature_bigalloc(sb)) + n_blocks_count &= ~((1 << EXT4_CLUSTER_BITS(sb)) - 1); + retry: o_blocks_count = ext4_blocks_count(es); |