| 函数逻辑报告 | 
| Source Code: block\partitions\aix.c | Create Date:2022-07-27 19:01:54 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:aix_partition
函数原型:int aix_partition(struct parsed_partitions *state)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct parsed_partitions * | state | 
| 173 | ret等于0 | 
| 177 | pp_blocks_size等于0 | 
| 178 | vgda_sector等于0 | 
| 179 | vgda_len等于0 | 
| 180 | numlvs等于0 | 
| 182 | struct lv_info{unsigned short pps_per_lv;unsigned short pps_found;unsigned char lv_is_contiguous;} * lvip | 
| 189 | d等于read_part_sector(state, 7, & sect) | 
| 190 | 如果d则 | 
| 192 | lvm_version等于be16_to_cpu(version) | 
| 195 | 如果lvm_version恒等于1则 | 
| 196 | pp_size_log2等于be16_to_cpu( log2(pp_size) ) | 
| 198 | pp_bytes_size等于1左移pp_size_log2位 | 
| 199 | pp_blocks_size等于pp_bytes_size除512 | 
| 203 | vgda_len等于be32_to_cpu(vgda_len) | 
| 204 | vgda_sector等于be32_to_cpu(vgda_psn[0]) | 
| 205 | 否则 | 
| 210 | 长字符串拼接 | 
| 211 | put_dev_sector(sect) | 
| 213 | 如果vgda_sector且d等于read_part_sector(state, vgda_sector, & sect)则 | 
| 220 | 如果非lvip则返回:0 | 
| 222 | 如果numlvs且d等于read_part_sector(state, vgda_sector + 1, & sect)则 | 
| 227 | 如果n则 | 
| 228 | foundlvs等于0 | 
| 231 | pps_per_lv等于be16_to_cpu(num_lps) | 
| 232 | 如果pps_per_lv则foundlvs加等于1 | 
| 238 | put_dev_sector(sect) | 
| 240 | 如果pvd则 | 
| 241 | numpps等于be16_to_cpu(pp_count) | 
| 242 | psn_part1等于be32_to_cpu(psn_part1) | 
| 244 | cur_lv_ix等于负1 | 
| 245 | next_lp_ix等于1 | 
| 252 | lp_ix等于be16_to_cpu(lp_ix) | 
| 253 | 如果非lp_ix则 | 
| 254 | next_lp_ix等于1 | 
| 255 | 继续下一循环 | 
| 257 | lv_ix等于be16_to_cpu(lv_ix)减1 | 
| 259 | cur_lv_ix等于负1 | 
| 260 | 继续下一循环 | 
| 262 | pps_found加等于1 | 
| 263 | 如果lp_ix恒等于1则 | 
| 265 | next_lp_ix等于1 | 
| 266 | 否则如果lv_ix不等于cur_lv_ix或lp_ix不等于next_lp_ix则 | 
| 267 | next_lp_ix等于1 | 
| 268 | 继续下一循环 | 
| 270 | 如果lp_ix恒等于pps_per_lv则 | 
| 273 | put_partition(state, lv_ix + 1, (i + 1 - lp_ix) * pp_blocks_size + psn_part1, pps_per_lv * pp_blocks_size) | 
| 278 | 长字符串拼接 | 
| 279 | lv_is_contiguous等于1 | 
| 280 | ret等于1 | 
| 281 | next_lp_ix等于1 | 
| 282 | 否则next_lp_ix加等于1 | 
| 285 | 以i小于limit循环如果pps_found且非lv_is_contiguous则 | 
| 294 | 释放内存 | 
| 296 | 释放内存 | 
| 297 | 释放内存 | 
| 298 | 返回:ret | 
| 名称 | 描述 | 
|---|---|
| msdos_partition | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |