On Mon 21-10-19 07:23:26, Chengguang Xu wrote: > Set block num to original *count in a case > of retrying allocation in case num < *count > > Signed-off-by: Chengguang Xu <cgxu519@xxxxxxxxxxxx> > --- > Hi Jan, > > This patch is only compile-tested, I'm not sure if this > kind of unexpected condition which causes reallocation > will actually happen but baesd on the code the fix seems > correct and better. Yeah, you are right that we should reset 'num' back to *count. Although the practial effect of this is minimal - we take this code path only when the filesystem is corrupted. But still... Patch applied. Thanks! Honza > > fs/ext2/balloc.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c > index e0cc55164505..924c1c765306 100644 > --- a/fs/ext2/balloc.c > +++ b/fs/ext2/balloc.c > @@ -1404,6 +1404,7 @@ ext2_fsblk_t ext2_new_blocks(struct inode *inode, ext2_fsblk_t goal, > * use. So we may want to selectively mark some of the blocks > * as free > */ > + num = *count; > goto retry_alloc; > } > > -- > 2.21.0 > > > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR