函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\partitions\msdos.c Create Date:2022-07-27 19:04:40
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Create devices for each logical partition in an extended partition.* The logical partitions form a linked list, with each entry being* a partition table with two entries. The first entry* is the real data partition (with a start relative to the partition

函数原型:static void parse_extended(struct parsed_partitions *state, sector_t first_sector, sector_t first_size, unsigned int disksig)

返回类型:void

参数:

类型参数名称
struct parsed_partitions *state
sector_tfirst_sector
sector_tfirst_size
unsigned intdisksig
129  sector_size等于bdev_logical_block_size(bdev)除512
131  loopct等于0
134  this_sector等于first_sector
135  this_size等于first_size
137  当1循环
138  如果loopct先自加大于100则返回
140  如果next恒等于limit则返回
142  data等于read_part_sector(state, this_sector, & sect)
143  如果非data则返回
146  如果非msdos_magic_present(data + 510)则转到:done
149  p等于data加0x1be
163 i小于4循环
166  如果非nr_sects(p)或is_extended_partition(p)则继续下一循环
171  offs等于start_sect(p)乘sector_size
172  size等于nr_sects(p)乘sector_size
173  next等于this_sectoroffs
174  如果i大于等于2则
175  如果offssize大于this_size则继续下一循环
177  如果next小于first_sector则继续下一循环
179  如果nextsize大于first_sectorfirst_size则继续下一循环
185  如果SYS_IND(p)恒等于LINUX_RAID_PARTITIONflags等于ADDPART_FLAG_RAID
187  loopct等于0
188  如果next先自加恒等于limit则转到:done
198  p减等于4
199 i小于4循环如果nr_sects(p)且is_extended_partition(p)则
201  退出
202  如果i恒等于4则转到:done
205  this_sector等于first_sectorstart_sect(p)乘sector_size
206  this_size等于nr_sects(p)乘sector_size
207  put_dev_sector(sect)
209  done :
210  put_dev_sector(sect)
调用者
名称描述
msdos_partition