Function report |
Source Code:block\badblocks.c |
Create Date:2022-07-28 17:24:23 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:adblocks_set() - Add a range of bad blocks to the table
Proto:int badblocks_set(struct badblocks *bb, sector_t s, int sectors, int acknowledged)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct badblocks * | bb | |
sector_t | s | |
int | sectors | |
int | acknowledged |
168 | rv = 0 |
171 | If shift from sectors to block size * a -ve shift means badblocks are * disabled. < 0 Then Return 1 |
185 | write_seqlock_irqsave( & lock, flags) |
187 | p = badblock list |
188 | lo = 0 |
189 | hi = count of bad blocks |
216 | Else ack = ack && acknowledged |
221 | If e - a <= BB_MAX_LEN Then |
224 | Else |
228 | If BB_LEN(p[lo]) != BB_MAX_LEN Then p[lo] = BB_MAKE(a, BB_MAX_LEN, ack) |
230 | s = a + BB_MAX_LEN |
235 | If sectors && hi < count of bad blocks Then |
248 | ack = acknowledged |
249 | Else ack = ack && acknowledged |
253 | If e - a <= BB_MAX_LEN Then |
256 | Else |
258 | s = a + BB_MAX_LEN |
262 | hi++ |
265 | If sectors == 0 && hi < count of bad blocks Then |
273 | If s >= a && newlen < BB_MAX_LEN Then |
289 | rv = 1 |
290 | Break |
291 | Else |
292 | this_sectors = sectors |
296 | count of bad blocks ++ |
298 | If this_sectors > BB_MAX_LEN Then this_sectors = BB_MAX_LEN |
300 | p[hi] = BB_MAKE(s, this_sectors, acknowledged) |
301 | sectors -= this_sectors |
302 | s += this_sectors |
306 | changed = 1 |
307 | If Not acknowledged Then there probably are unacknowledged * bad blocks. This is only cleared * when a read discovers none = 1 |
309 | Else badblocks_update_acked(bb) |
311 | write_sequnlock_irqrestore( & lock, flags) |
313 | Return rv |
Name | Describe |
---|---|
badblocks_store | adblocks_store() - sysfs access to bad-blocks list*@bb: the badblocks structure that holds all badblock information*@page: buffer received from sysfs*@len: length of data received from sysfs*@unack: weather to show unacknowledged badblocks* Return: |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |