mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	ocfs2: fix the la space leak when unmounting an ocfs2 volume
This bug has existed since the initial OCFS2 code. The code logic in ocfs2_sync_local_to_main() is wrong, as it ignores the last contiguous free bits, which causes an OCFS2 volume to lose the last free clusters of LA window on each umount command. Link: https://lkml.kernel.org/r/20240719114310.14245-1-heming.zhao@suse.com Signed-off-by: Heming Zhao <heming.zhao@suse.com> Reviewed-by: Su Yue <glass.su@suse.com> Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com> Cc: Mark Fasheh <mark@fasheh.com> Cc: Joel Becker <jlbec@evilplan.org> Cc: Junxiao Bi <junxiao.bi@oracle.com> Cc: Changwei Ge <gechangwei@live.cn> Cc: Gang He <ghe@suse.com> Cc: Jun Piao <piaojun@huawei.com> Cc: Heming Zhao <heming.zhao@suse.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									acf02be3c7
								
							
						
					
					
						commit
						dfe6c5692f
					
				
					 1 changed files with 19 additions and 0 deletions
				
			
		|  | @ -1002,6 +1002,25 @@ static int ocfs2_sync_local_to_main(struct ocfs2_super *osb, | |||
| 		start = bit_off + 1; | ||||
| 	} | ||||
| 
 | ||||
| 	/* clear the contiguous bits until the end boundary */ | ||||
| 	if (count) { | ||||
| 		blkno = la_start_blk + | ||||
| 			ocfs2_clusters_to_blocks(osb->sb, | ||||
| 					start - count); | ||||
| 
 | ||||
| 		trace_ocfs2_sync_local_to_main_free( | ||||
| 				count, start - count, | ||||
| 				(unsigned long long)la_start_blk, | ||||
| 				(unsigned long long)blkno); | ||||
| 
 | ||||
| 		status = ocfs2_release_clusters(handle, | ||||
| 				main_bm_inode, | ||||
| 				main_bm_bh, blkno, | ||||
| 				count); | ||||
| 		if (status < 0) | ||||
| 			mlog_errno(status); | ||||
| 	} | ||||
| 
 | ||||
| bail: | ||||
| 	if (status) | ||||
| 		mlog_errno(status); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Heming Zhao
						Heming Zhao