函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:msdos_partition

函数原型:int msdos_partition(struct parsed_partitions *state)

返回类型:int

参数:

类型参数名称
struct parsed_partitions *state
454  sector_size等于bdev_logical_block_size(bdev)除512
462  data等于read_part_sector(state, 0, & sect)
463  如果非data则返回:负1
470  如果aix_magic_present(state, data)则
471  put_dev_sector(sect)
473  返回:aix_partition(state)
480  如果非msdos_magic_present(data + 510)则
481  put_dev_sector(sect)
482  返回:0
491  p等于data加0x1be
492 slot小于等于4循环
493  如果 0x80 - active 不等于0且 0x80 - active 不等于0x80则
499  fb等于data
504  返回:1
505  否则
507  返回:0
513  p等于data加0x1be
514 slot小于等于4循环
516  如果SYS_IND(p)恒等于EFI_PMBR_OSTYPE_EFI_GPT
518  返回:0
522  p等于data加0x1be
524  disksig等于le32_to_cpup((__le32 * )(data + 0x1b8))
532  next等于5
533 slot小于等于4循环
534  start等于start_sect(p)乘sector_size
535  size等于nr_sects(p)乘sector_size
537  如果非size则继续下一循环
539  如果is_extended_partition(p)则
546  n等于2
554  继续下一循环
556  put_partition(state, slot, start, size)
557  set_info(state, slot, disksig)
558  如果SYS_IND(p)恒等于LINUX_RAID_PARTITIONflags等于ADDPART_FLAG_RAID
560  如果SYS_IND(p)恒等于DM6_PARTITION长字符串拼接
562  如果SYS_IND(p)恒等于EZD_PARTITION长字符串拼接
566  长字符串拼接
569  p等于0x1be加data
570 slot小于等于4循环
571  id等于SYS_IND(p)
574  如果非nr_sects(p)则继续下一循环
577 parseid不等于id循环如果非parse
581  继续下一循环
582  parse(state, start_sect(p) * sector_size, nr_sects(p) * sector_size, slot)
585  put_dev_sector(sect)
586  返回:1