Home | History | Annotate | Download | only in blkid

Lines Matching full:probe

2  * probe.c - identify a block device by its contents, and return a dev
37 #include "probe.h"
320 static int probe_ext4dev(struct blkid_probe *probe,
361 get_ext2_info(probe->dev, id, buf);
365 static int probe_ext4(struct blkid_probe *probe, struct blkid_magic *id,
409 get_ext2_info(probe->dev, id, buf);
413 static int probe_ext3(struct blkid_probe *probe, struct blkid_magic *id,
431 get_ext2_info(probe->dev, id, buf);
435 static int probe_ext2(struct blkid_probe *probe, struct blkid_magic *id,
463 get_ext2_info(probe->dev, id, buf);
467 static int probe_jbd(struct blkid_probe *probe, struct blkid_magic *id,
476 get_ext2_info(probe->dev, id, buf);
512 static int probe_fat(struct blkid_probe *probe,
565 dir = (struct vfat_dir_entry *) get_buffer(probe, root_start,
574 blkid_set_tag(probe->dev, "SEC_TYPE", "msdos",
592 get_buffer(probe, next_off, buf_size);
605 buf = get_buffer(probe, fat_entry_off, buf_size);
627 blkid_set_tag(probe->dev, "LABEL", (const char *) label, label_len);
628 blkid_set_tag(probe->dev, "UUID", serno, sizeof(serno)-1);
639 probe,
677 return probe_fat(probe, id, buf);
680 static int probe_ntfs(struct blkid_probe *probe,
719 buf_mft = get_buffer(probe, off, mft_record_size);
729 buf_mft = get_buffer(probe, off, mft_record_size);
738 buf_mft = get_buffer(probe, off, mft_record_size);
781 blkid_set_tag(probe->dev, "UUID", uuid_str, 0);
783 blkid_set_tag(probe->dev, "LABEL", label_str, 0);
788 static int probe_xfs(struct blkid_probe *probe,
799 blkid_set_tag(probe->dev, "LABEL", label, sizeof(xs->xs_fname));
800 set_uuid(probe->dev, xs->xs_uuid, 0);
804 static int probe_reiserfs(struct blkid_probe *probe,
825 set_uuid(probe->dev, rs->rs_uuid, 0);
827 blkid_set_tag(probe->dev, "LABEL", label, sizeof(rs->rs_label));
832 static int probe_reiserfs4(struct blkid_probe *probe,
841 set_uuid(probe->dev, rs4->rs4_uuid, 0);
842 blkid_set_tag(probe->dev, "LABEL", (const char *) label,
848 static int probe_jfs(struct blkid_probe *probe,
869 blkid_set_tag(probe->dev, "LABEL", label, sizeof(js->js_label));
870 set_uuid(probe->dev, js->js_uuid, 0);
874 static int probe_zfs(struct blkid_probe *probe, struct blkid_magic *id,
882 blkid_set_tag(probe->dev, "LABEL", pool_name, sizeof(pool_name));
883 set_uuid(probe->dev, pool_guid, 0);
888 static int probe_luks(struct blkid_probe *probe,
897 blkid_set_tag(probe->dev, "UUID", uuid, sizeof(uuid));
901 static int probe_romfs(struct blkid_probe *probe,
912 blkid_set_tag(probe->dev, "LABEL", label, 0);
916 static int probe_cramfs(struct blkid_probe *probe,
927 blkid_set_tag(probe->dev, "LABEL", label, 0);
931 static int probe_swap0(struct blkid_probe *probe,
935 blkid_set_tag(probe->dev, "UUID", 0, 0);
936 blkid_set_tag(probe->dev, "LABEL", 0, 0);
940 static int probe_swap1(struct blkid_probe *probe,
946 probe_swap0(probe, id, buf);
953 sws = (struct swap_id_block *) get_buffer(probe, 1024, 1024);
965 blkid_set_tag(probe->dev, "LABEL", sws->sws_volume,
968 set_uuid(probe->dev, sws->sws_uuid, 0);
973 static int probe_iso9660(struct blkid_probe *probe,
983 blkid_set_tag(probe->dev, "LABEL", (const char *) label,
993 static int probe_udf(struct blkid_probe *probe,
1005 get_buffer(probe, bs*2048+32768, sizeof(isosb));
1016 get_buffer(probe, j*bs*2048+32768,
1026 return probe_iso9660(probe, id, buf);
1036 static int probe_ocfs(struct blkid_probe *probe,
1049 blkid_set_tag(probe->dev,"SEC_TYPE","ocfs1",sizeof("ocfs1"));
1051 blkid_set_tag(probe->dev,"SEC_TYPE","ntocfs",sizeof("ntocfs"));
1053 blkid_set_tag(probe->dev, "LABEL", ovl.label, ocfslabellen(ovl));
1054 blkid_set_tag(probe->dev, "MOUNT", ovh.mount, ocfsmountlen(ovh));
1055 set_uuid(probe->dev, ovl.vol_id, 0);
1059 static int probe_ocfs2(struct blkid_probe *probe,
1067 blkid_set_tag(probe->dev, "LABEL", osb->s_label, sizeof(osb->s_label));
1068 set_uuid(probe->dev, osb->s_uuid, 0);
1072 static int probe_oracleasm(struct blkid_probe *probe,
1080 blkid_set_tag(probe->dev, "LABEL", dl->dl_id, sizeof(dl->dl_id));
1084 static int probe_gfs(struct blkid_probe *probe,
1096 blkid_set_tag(probe->dev, "UUID", 0, 0);
1100 blkid_set_tag(probe->dev, "LABEL", label, sizeof(sbd->sb_locktable));
1106 static int probe_gfs2(struct blkid_probe *probe,
1118 blkid_set_tag(probe->dev, "UUID", 0, 0);
1122 blkid_set_tag(probe->dev, "LABEL", label, sizeof(sbd->sb_locktable));
1159 static int probe_hfs(struct blkid_probe *probe __BLKID_ATTR((unused)),
1176 blkid_set_tag(probe->dev, "UUID", uuid_str, 0);
1178 blkid_set_tag(probe->dev, "LABEL", (char *)hfs->label, hfs->label_len);
1183 static int probe_hfsplus(struct blkid_probe *probe,
1224 buf = get_buffer(probe, off + (id->bim_kboff * 1024),
1242 blkid_set_tag(probe->dev, "UUID", uuid_str, 0);
1249 buf = get_buffer(probe, off + (cat_block * blocksize), 0x2000);
1282 buf = get_buffer(probe, off + leaf_off, leaf_node_size);
1303 blkid_set_tag(probe->dev, "LABEL", label, 0);
1327 static int probe_lvm2(struct blkid_probe *probe,
1369 blkid_set_tag(probe->dev, "UUID", uuid, LVM2_ID_LEN+6);
1374 static int probe_btrfs(struct blkid_probe *probe,
1385 blkid_set_tag(probe->dev, "LABEL", label, sizeof(bs->label));
1386 set_uuid(probe->dev, bs->fsid, 0);
1390 static int probe_f2fs(struct blkid_probe *probe,
1397 set_uuid(probe->dev, bs->uuid, 0);
1407 /* type kboff sboff len magic probe */
1516 struct blkid_probe probe;
1560 if ((probe.fd = open(dev->bid_name, O_RDONLY)) < 0) {
1567 probe.cache = cache;
1568 probe.dev = dev;
1569 probe.sbbuf = 0;
1570 probe.buf = 0;
1571 probe.buf_max = 0;
1584 if (check_mdraid(probe.fd, uuid) == 0) {
1596 buf = get_buffer(&probe, idx << 10, 1024);
1605 (id->bim_probe(&probe, id, buf) == 0)) {
1617 "trying full probe\n", dev->bid_type));
1644 free(probe.sbbuf);
1645 free(probe.buf);
1646 if (probe.fd >= 0)
1647 close(probe.fd);
1672 "Probe a single device to determine type\n", argv[0]);