mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	UBIFS: introduce categorized lprops counter
This commit is a preparation for a subsequent bugfix. We introduce a counter for categorized lprops. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Cc: stable@vger.kernel.org
This commit is contained in:
		
							parent
							
								
									6f0c0580b7
								
							
						
					
					
						commit
						98a1eebda3
					
				
					 2 changed files with 9 additions and 0 deletions
				
			
		|  | @ -300,8 +300,11 @@ void ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops, | ||||||
| 	default: | 	default: | ||||||
| 		ubifs_assert(0); | 		ubifs_assert(0); | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
| 	lprops->flags &= ~LPROPS_CAT_MASK; | 	lprops->flags &= ~LPROPS_CAT_MASK; | ||||||
| 	lprops->flags |= cat; | 	lprops->flags |= cat; | ||||||
|  | 	c->in_a_category_cnt += 1; | ||||||
|  | 	ubifs_assert(c->in_a_category_cnt <= c->main_lebs); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  | @ -334,6 +337,9 @@ static void ubifs_remove_from_cat(struct ubifs_info *c, | ||||||
| 	default: | 	default: | ||||||
| 		ubifs_assert(0); | 		ubifs_assert(0); | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	c->in_a_category_cnt -= 1; | ||||||
|  | 	ubifs_assert(c->in_a_category_cnt >= 0); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  |  | ||||||
|  | @ -1183,6 +1183,8 @@ struct ubifs_debug_info; | ||||||
|  * @freeable_list: list of freeable non-index LEBs (free + dirty == @leb_size) |  * @freeable_list: list of freeable non-index LEBs (free + dirty == @leb_size) | ||||||
|  * @frdi_idx_list: list of freeable index LEBs (free + dirty == @leb_size) |  * @frdi_idx_list: list of freeable index LEBs (free + dirty == @leb_size) | ||||||
|  * @freeable_cnt: number of freeable LEBs in @freeable_list |  * @freeable_cnt: number of freeable LEBs in @freeable_list | ||||||
|  |  * @in_a_category_cnt: count of lprops which are in a certain category, which | ||||||
|  |  *                     basically meants that they were loaded from the flash | ||||||
|  * |  * | ||||||
|  * @ltab_lnum: LEB number of LPT's own lprops table |  * @ltab_lnum: LEB number of LPT's own lprops table | ||||||
|  * @ltab_offs: offset of LPT's own lprops table |  * @ltab_offs: offset of LPT's own lprops table | ||||||
|  | @ -1412,6 +1414,7 @@ struct ubifs_info { | ||||||
| 	struct list_head freeable_list; | 	struct list_head freeable_list; | ||||||
| 	struct list_head frdi_idx_list; | 	struct list_head frdi_idx_list; | ||||||
| 	int freeable_cnt; | 	int freeable_cnt; | ||||||
|  | 	int in_a_category_cnt; | ||||||
| 
 | 
 | ||||||
| 	int ltab_lnum; | 	int ltab_lnum; | ||||||
| 	int ltab_offs; | 	int ltab_offs; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Artem Bityutskiy
						Artem Bityutskiy