函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:This is the main function, called by check.c

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

返回类型:int

参数:

类型参数名称
struct parsed_partitions *state
292  bdev等于bdev
297  char type[5] = {0, }
298  char name[7] = {0, }
302  res等于0
303  blocksize等于bdev_logical_block_size(bdev)
304  如果blocksize小于等于0则转到:out_exit
306  i_size等于NOTE: in a 32bit arch with a preemptable kernel and* an UP compile the i_size_read/write must be atomic* with respect to the local cpu (unlike with preempt disabled),* but they don't need to be atomic with respect to other cpus like in* true SMP (so they
307  如果i_size恒等于0则转到:out_exit
309  info等于开辟内存
310  如果(info == NULL)则转到:out_exit
312  geo等于开辟内存
313  如果(geo == NULL)则转到:out_nogeo
315  label等于开辟内存
316  如果(label == NULL)则转到:out_nolab
318  如果ioctl_by_bdev(bdev, get device geometry , (unsignedlong)geo)不等于0则转到:out_freeall
320  如果ioctl_by_bdev(bdev, Get information on a dasd device (enhanced) , (unsignedlong)info)不等于0则
321  释放内存
322  info = NULL
325  如果find_label(state, info, geo, blocksize, & labelsect, name, type, label)则
327  如果非字符串指定长度比较
330  否则如果非字符串指定长度比较
334  否则如果非字符串指定长度比较
338  否则如果info
346  res等于1
349  size等于i_size右移9位
350  offset等于where to find the VOLSER 加1的和乘blocksize右移9位的值
354  否则res等于0
357  out_freeall :
358  释放内存
359  out_nolab :
360  释放内存
361  out_nogeo :
362  释放内存
363  out_exit :
364  返回:res