Coverage Report

Created: 2026-03-09 06:12

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/util-linux/libblkid/src/partitions/aix.c
Line
Count
Source
1
/*
2
 * aix partitions
3
 *
4
 * Copyright (C) 2009 Karel Zak <kzak@redhat.com>
5
 *
6
 * This file may be redistributed under the terms of the
7
 * GNU Lesser General Public License.
8
 */
9
#include <stdio.h>
10
#include <string.h>
11
#include <stdlib.h>
12
#include <stdint.h>
13
14
#include "partitions.h"
15
#include "aix.h"
16
17
static int probe_aix_pt(blkid_probe pr,
18
    const struct blkid_idmag *mag __attribute__((__unused__)))
19
28
{
20
28
  blkid_partlist ls;
21
28
  blkid_parttable tab;
22
23
28
  if (blkid_partitions_need_typeonly(pr))
24
    /* caller does not ask for details about partitions */
25
28
    return BLKID_PROBE_OK;
26
27
0
  ls = blkid_probe_get_partlist(pr);
28
0
  if (!ls)
29
0
    return BLKID_PROBE_NONE;
30
31
0
  tab = blkid_partlist_new_parttable(ls, "aix", 0);
32
0
  if (!tab)
33
0
    return -ENOMEM;
34
35
0
  return BLKID_PROBE_OK;
36
0
}
37
38
/*
39
 * We know nothing about AIX on-disk structures. Everything what we know is the
40
 * magic number at begin of the disk.
41
 *
42
 * Note, Linux kernel is trying to be smart and AIX signature is ignored when
43
 * there is a valid DOS partitions table. We don't support such behavior. All
44
 * fdisk-like programs has to properly wipe the fist sector. Everything other
45
 * is a bug.
46
 */
47
const struct blkid_idinfo aix_pt_idinfo =
48
{
49
  .name   = "aix",
50
  .probefunc  = probe_aix_pt,
51
  .magics   =
52
  {
53
    { .magic = BLKID_AIX_MAGIC_STRING, .len = BLKID_AIX_MAGIC_STRLEN },
54
    { NULL }
55
  }
56
};
57