Lines Matching full:already
25 * overwrite, skip the overlapped already set range, depends on who they are
27 * more complicated when the setting range covers multiple already set bad block
36 * possible overlapped or adjacent already set bad block ranges. Then the hard
40 * to be considered are, (The already set bad blocks ranges are naming with
43 * 1) A setting range is not overlapped or adjacent to any other already set bad
57 * 2) A setting range starts exactly at a start LBA of an already set bad blocks
59 * 2.1) The setting range size < already set range size
82 * 2.2) The setting range size == already set range size
98 * 2.3) The setting range size > already set range size
106 * first part (S1) is as same size as the already set range E, the second
114 * Now we only focus on how to handle the setting range S1 and already set
115 * range E, which are already explained in 2.2), for the rest S2 it will be
117 * 3) A setting range starts before the start LBA of an already set bad blocks
126 * first (S1) ends at the start LBA of already set range E, the second part
127 * (S2) starts exactly at a start LBA of the already set range E.
136 * of the already set range E, they will be handled in next loop in one of
138 * 4) A setting range starts after the start LBA of an already set bad blocks
140 * 4.1) If the setting range S exactly matches the tail part of already set bad
163 * 4.2) If the setting range S stays in middle of an already set range E, like
187 * 4.3) If the setting bad blocks range S is overlapped with an already set bad
205 * Now in this loop the setting range S1 and already set range E can be
208 * 5) A setting bad blocks range S is adjacent to one or more already set bad
210 * 5.1) Front merge: If the already set bad blocks range E is before setting
225 * range S right after already set range E into the bad blocks table. The
231 * 6.1) Multiple already set ranges may merge into less ones in a full bad table
243 * look for chance to merge already set ranges into less ones. When there
290 * 6.3) Behind merge: If the already set bad blocks range E is behind the setting
295 * tail LBA of range S is adjacent to the next already set range and not
304 * and the loop ends, an extra check is necessary for whether next already
313 * S in front of the already set range E in the bad blocks table. The result
325 * time for the new loop prev_badblocks() is called to find an already set range
339 * bad block table. The simplified situations to be considered are, (The already
343 * 1) A clearing range is not overlapped to any already set ranges in bad block
353 * 2) The clearing range hits middle of an already setting bad blocks range in
366 * 3) The clearing range starts exactly at same LBA as an already set bad block range
375 * For this situation, the overlapped already set range will update the
390 * 4) The clearing range exactly ends at same LBA as an already set bad block
398 * For the above situation, the already set range E is updated to shrink its
404 * 5) The clearing range is partially overlapped with an already set bad block
406 * 5.1) The already set bad block range is front overlapped with the clearing
425 * 5.2) The already set bad block range is behind overlaopped with the clearing
1021 * Check whether the following already set range can be in _badblocks_set()
1023 * because it's already complicated enough. in _badblocks_set()
1069 * already set bad block range are cleared. If the whole bad block range is
1112 * Handle the condition that the clearing range hits middle of an already set