On Wed, 17 Aug 2022 21:26:59 +0800, Baokun Li wrote: > We got a issue: the ext4 writeback process was stuck in do_writepages and > do_writepages kept retrying. However, '-ENOMEM' is returned each time, even > if there is still free memory on the current machine. > > We find that the direct cause of this issue is that the bg_inode_table_hi > in the group descriptor is written to an incorrect value, which causes the > inode block found through the inode table to exceed the end_ block。Then, > sb_getblk always returns null, __ext4_get_inode_loc returns `-ENOMEM`, > and do_writepages keeps retrying. > > [...] Applied, thanks! [1/2] ext4: fix GDT corruption after online resizing with bigalloc enable and blocksize is 1024 commit: 496fb12f8e236f303de6bc73a0334dd50c4eb64a [2/2] ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop commit: bfb0625e8e86f8797264b1c7d10e146afe243d23 Best regards, -- Theodore Ts'o <tytso@xxxxxxx>