mirror of
https://github.com/systemd/systemd.git
synced 2024-12-25 01:34:28 +03:00
[PATCH] udev_volume_id: volume_id v35
This commit is contained in:
parent
9f6f8859b0
commit
e4d4a557e5
@ -31,7 +31,7 @@
|
||||
#include "../../udev_utils.h"
|
||||
#include "../../logging.h"
|
||||
#include "volume_id/volume_id.h"
|
||||
#include "volume_id/dasd/dasd.h"
|
||||
#include "volume_id/dasd.h"
|
||||
|
||||
#define BLKGETSIZE64 _IOR(0x12,114,size_t)
|
||||
|
||||
|
@ -1,48 +1,50 @@
|
||||
VOLUME_ID_OBJS= \
|
||||
$(VOLUME_ID_BASE)/ext/ext.o \
|
||||
$(VOLUME_ID_BASE)/fat/fat.o \
|
||||
$(VOLUME_ID_BASE)/hfs/hfs.o \
|
||||
$(VOLUME_ID_BASE)/highpoint/highpoint.o \
|
||||
$(VOLUME_ID_BASE)/iso9660/iso9660.o \
|
||||
$(VOLUME_ID_BASE)/jfs/jfs.o \
|
||||
$(VOLUME_ID_BASE)/linux_raid/linux_raid.o \
|
||||
$(VOLUME_ID_BASE)/linux_swap/linux_swap.o \
|
||||
$(VOLUME_ID_BASE)/lvm/lvm.o \
|
||||
$(VOLUME_ID_BASE)/mac/mac.o \
|
||||
$(VOLUME_ID_BASE)/msdos/msdos.o \
|
||||
$(VOLUME_ID_BASE)/ntfs/ntfs.o \
|
||||
$(VOLUME_ID_BASE)/reiserfs/reiserfs.o \
|
||||
$(VOLUME_ID_BASE)/udf/udf.o \
|
||||
$(VOLUME_ID_BASE)/ufs/ufs.o \
|
||||
$(VOLUME_ID_BASE)/xfs/xfs.o \
|
||||
$(VOLUME_ID_BASE)/cramfs/cramfs.o \
|
||||
$(VOLUME_ID_BASE)/hpfs/hpfs.o \
|
||||
$(VOLUME_ID_BASE)/romfs/romfs.o \
|
||||
$(VOLUME_ID_BASE)/sysv/sysv.o \
|
||||
$(VOLUME_ID_BASE)/dasd/dasd.o \
|
||||
$(VOLUME_ID_BASE)/volume_id.o \
|
||||
VOLUME_ID_OBJS= \
|
||||
$(VOLUME_ID_BASE)/ext.o \
|
||||
$(VOLUME_ID_BASE)/fat.o \
|
||||
$(VOLUME_ID_BASE)/hfs.o \
|
||||
$(VOLUME_ID_BASE)/highpoint.o \
|
||||
$(VOLUME_ID_BASE)/iso9660.o \
|
||||
$(VOLUME_ID_BASE)/jfs.o \
|
||||
$(VOLUME_ID_BASE)/linux_raid.o \
|
||||
$(VOLUME_ID_BASE)/linux_swap.o \
|
||||
$(VOLUME_ID_BASE)/lvm.o \
|
||||
$(VOLUME_ID_BASE)/mac.o \
|
||||
$(VOLUME_ID_BASE)/msdos.o \
|
||||
$(VOLUME_ID_BASE)/ntfs.o \
|
||||
$(VOLUME_ID_BASE)/reiserfs.o \
|
||||
$(VOLUME_ID_BASE)/udf.o \
|
||||
$(VOLUME_ID_BASE)/ufs.o \
|
||||
$(VOLUME_ID_BASE)/xfs.o \
|
||||
$(VOLUME_ID_BASE)/cramfs.o \
|
||||
$(VOLUME_ID_BASE)/hpfs.o \
|
||||
$(VOLUME_ID_BASE)/romfs.o \
|
||||
$(VOLUME_ID_BASE)/sysv.o \
|
||||
$(VOLUME_ID_BASE)/dasd.o \
|
||||
$(VOLUME_ID_BASE)/luks.o \
|
||||
$(VOLUME_ID_BASE)/volume_id.o \
|
||||
$(VOLUME_ID_BASE)/util.o
|
||||
|
||||
VOLUME_ID_HEADERS= \
|
||||
$(VOLUME_ID_BASE)/ext/ext.h \
|
||||
$(VOLUME_ID_BASE)/fat/fat.h \
|
||||
$(VOLUME_ID_BASE)/hfs/hfs.h \
|
||||
$(VOLUME_ID_BASE)/highpoint/highpoint.h \
|
||||
$(VOLUME_ID_BASE)/iso9660/iso9660.h \
|
||||
$(VOLUME_ID_BASE)/jfs/jfs.h \
|
||||
$(VOLUME_ID_BASE)/linux_raid/linux_raid.h \
|
||||
$(VOLUME_ID_BASE)/linux_swap/linux_swap.h \
|
||||
$(VOLUME_ID_BASE)/lvm/lvm.h \
|
||||
$(VOLUME_ID_BASE)/mac/mac.h \
|
||||
$(VOLUME_ID_BASE)/msdos/msdos.h \
|
||||
$(VOLUME_ID_BASE)/ntfs/ntfs.h \
|
||||
$(VOLUME_ID_BASE)/reiserfs/reiserfs.h \
|
||||
$(VOLUME_ID_BASE)/udf/udf.h \
|
||||
$(VOLUME_ID_BASE)/ufs/ufs.h \
|
||||
$(VOLUME_ID_BASE)/xfs/xfs.h \
|
||||
$(VOLUME_ID_BASE)/cramfs/cramfs.h \
|
||||
$(VOLUME_ID_BASE)/sysv/sysv.h \
|
||||
$(VOLUME_ID_BASE)/romfs/romfs.h \
|
||||
$(VOLUME_ID_BASE)/dasd/dasd.h \
|
||||
$(VOLUME_ID_BASE)/volume_id.h \
|
||||
VOLUME_ID_HEADERS= \
|
||||
$(VOLUME_ID_BASE)/ext.h \
|
||||
$(VOLUME_ID_BASE)/fat.h \
|
||||
$(VOLUME_ID_BASE)/hfs.h \
|
||||
$(VOLUME_ID_BASE)/highpoint.h \
|
||||
$(VOLUME_ID_BASE)/iso9660.h \
|
||||
$(VOLUME_ID_BASE)/jfs.h \
|
||||
$(VOLUME_ID_BASE)/linux_raid.h \
|
||||
$(VOLUME_ID_BASE)/linux_swap.h \
|
||||
$(VOLUME_ID_BASE)/lvm.h \
|
||||
$(VOLUME_ID_BASE)/mac.h \
|
||||
$(VOLUME_ID_BASE)/msdos.h \
|
||||
$(VOLUME_ID_BASE)/ntfs.h \
|
||||
$(VOLUME_ID_BASE)/reiserfs.h \
|
||||
$(VOLUME_ID_BASE)/udf.h \
|
||||
$(VOLUME_ID_BASE)/ufs.h \
|
||||
$(VOLUME_ID_BASE)/xfs.h \
|
||||
$(VOLUME_ID_BASE)/cramfs.h \
|
||||
$(VOLUME_ID_BASE)/sysv.h \
|
||||
$(VOLUME_ID_BASE)/romfs.h \
|
||||
$(VOLUME_ID_BASE)/dasd.h \
|
||||
$(VOLUME_ID_BASE)/luks.h \
|
||||
$(VOLUME_ID_BASE)/volume_id.h \
|
||||
$(VOLUME_ID_BASE)/util.h
|
||||
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "cramfs.h"
|
||||
|
||||
struct cramfs_super {
|
@ -34,9 +34,9 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "dasd.h"
|
||||
|
||||
static unsigned char EBCtoASC[256] =
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../util.h"
|
||||
#include "../logging.h"
|
||||
#include "volume_id.h"
|
||||
#include "util.h"
|
||||
#include "logging.h"
|
||||
#include "ext.h"
|
||||
|
||||
struct ext2_super_block {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "fat.h"
|
||||
|
||||
#define FAT12_MAX 0xff5
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "hfs.h"
|
||||
|
||||
struct hfs_finder_info{
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "highpoint.h"
|
||||
|
||||
struct hpt37x {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "hpfs.h"
|
||||
|
||||
struct hpfs_super
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "iso9660.h"
|
||||
|
||||
#define ISO_SUPERBLOCK_OFFSET 0x8000
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "jfs.h"
|
||||
|
||||
struct jfs_super_block {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "linux_raid.h"
|
||||
|
||||
struct mdp_super_block {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "linux_swap.h"
|
||||
|
||||
struct swap_header_v1_2 {
|
106
extras/volume_id/volume_id/luks.c
Normal file
106
extras/volume_id/volume_id/luks.c
Normal file
@ -0,0 +1,106 @@
|
||||
/*
|
||||
* volume_id - reads filesystem label and uuid
|
||||
*
|
||||
* Copyright (C) 2005 W. Michael Petullo <mike@flyn.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "volume_id.h"
|
||||
#include "util.h"
|
||||
#include "logging.h"
|
||||
#include "luks.h"
|
||||
|
||||
/* from cryptsetup-luks internal.h */
|
||||
#define SECTOR_SHIFT 9
|
||||
#define SECTOR_SIZE (1 << SECTOR_SHIFT)
|
||||
|
||||
/* from cryptsetup-luks luks.h */
|
||||
#define LUKS_CIPHERNAME_L 32
|
||||
#define LUKS_CIPHERMODE_L 32
|
||||
#define LUKS_HASHSPEC_L 32
|
||||
#define LUKS_DIGESTSIZE 20 /* since SHA1 */
|
||||
#define LUKS_SALTSIZE 32
|
||||
#define LUKS_NUMKEYS 8
|
||||
|
||||
/* from cryptsetup-luks luks.h */
|
||||
const unsigned char LUKS_MAGIC[] = {'L','U','K','S', 0xba, 0xbe};
|
||||
#define LUKS_MAGIC_L 6
|
||||
|
||||
/* from cryptsetup-luks luks.h */
|
||||
#define LUKS_PHDR_SIZE (sizeof(struct luks_phdr)/SECTOR_SIZE+1)
|
||||
|
||||
/* from cryptsetup-luks luks.h */
|
||||
#define UUID_STRING_L 40
|
||||
|
||||
int volume_id_probe_luks(struct volume_id *id, __u64 off)
|
||||
{
|
||||
/* from cryptsetup-luks luks.h */
|
||||
struct luks_phdr {
|
||||
char magic[LUKS_MAGIC_L];
|
||||
uint16_t version;
|
||||
char cipherName[LUKS_CIPHERNAME_L];
|
||||
char cipherMode[LUKS_CIPHERMODE_L];
|
||||
char hashSpec[LUKS_HASHSPEC_L];
|
||||
uint32_t payloadOffset;
|
||||
uint32_t keyBytes;
|
||||
char mkDigest[LUKS_DIGESTSIZE];
|
||||
char mkDigestSalt[LUKS_SALTSIZE];
|
||||
uint32_t mkDigestIterations;
|
||||
char uuid[UUID_STRING_L];
|
||||
struct {
|
||||
uint32_t active;
|
||||
|
||||
/* parameters used for password processing */
|
||||
uint32_t passwordIterations;
|
||||
char passwordSalt[LUKS_SALTSIZE];
|
||||
|
||||
/* parameters used for AF store/load */
|
||||
uint32_t keyMaterialOffset;
|
||||
uint32_t stripes;
|
||||
} keyblock[LUKS_NUMKEYS];
|
||||
} *header;
|
||||
|
||||
header = (struct luks_phdr*) volume_id_get_buffer(id, off, LUKS_PHDR_SIZE);
|
||||
|
||||
if (header == NULL)
|
||||
return -1;
|
||||
|
||||
if (memcmp(header->magic, LUKS_MAGIC, LUKS_MAGIC_L))
|
||||
return -1;
|
||||
|
||||
volume_id_set_usage(id, VOLUME_ID_CRYPTO);
|
||||
volume_id_set_uuid(id, header->uuid, UUID_DCE);
|
||||
id->type = "crypto_LUKS";
|
||||
|
||||
return 0;
|
||||
}
|
26
extras/volume_id/volume_id/luks.h
Normal file
26
extras/volume_id/volume_id/luks.h
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* volume_id - reads filesystem label and uuid
|
||||
*
|
||||
* Copyright (C) 2005 W. Michael Petullo <mike@flyn.org>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef _VOLUME_ID_LUKS_
|
||||
#define _VOLUME_ID_LUKS_
|
||||
|
||||
extern int volume_id_probe_luks(struct volume_id *id, __u64 off);
|
||||
|
||||
#endif
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "lvm.h"
|
||||
|
||||
struct lvm1_super_block {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "mac.h"
|
||||
|
||||
struct mac_driver_desc {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "msdos.h"
|
||||
|
||||
struct msdos_partition_entry {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "ntfs.h"
|
||||
|
||||
struct ntfs_super_block {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "reiserfs.h"
|
||||
|
||||
struct reiserfs_super_block {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "romfs.h"
|
||||
|
||||
struct romfs_super {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "sysv.h"
|
||||
|
||||
#define SYSV_NICINOD 100
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "udf.h"
|
||||
|
||||
struct volume_descriptor {
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "ufs.h"
|
||||
|
||||
struct ufs_super_block {
|
@ -53,6 +53,8 @@ static char *usage_to_string(enum volume_id_usage usage_id)
|
||||
return "raid";
|
||||
case VOLUME_ID_DISKLABEL:
|
||||
return "disklabel";
|
||||
case VOLUME_ID_CRYPTO:
|
||||
return "crypto";
|
||||
case VOLUME_ID_UNPROBED:
|
||||
return "unprobed";
|
||||
case VOLUME_ID_UNUSED:
|
||||
|
@ -41,25 +41,28 @@
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
|
||||
#include "ext/ext.h"
|
||||
#include "reiserfs/reiserfs.h"
|
||||
#include "fat/fat.h"
|
||||
#include "hfs/hfs.h"
|
||||
#include "jfs/jfs.h"
|
||||
#include "xfs/xfs.h"
|
||||
#include "ufs/ufs.h"
|
||||
#include "ntfs/ntfs.h"
|
||||
#include "iso9660/iso9660.h"
|
||||
#include "udf/udf.h"
|
||||
#include "highpoint/highpoint.h"
|
||||
#include "linux_swap/linux_swap.h"
|
||||
#include "linux_raid/linux_raid.h"
|
||||
#include "lvm/lvm.h"
|
||||
#include "cramfs/cramfs.h"
|
||||
#include "hpfs/hpfs.h"
|
||||
#include "romfs/romfs.h"
|
||||
#include "mac/mac.h"
|
||||
#include "msdos/msdos.h"
|
||||
#include "ext.h"
|
||||
#include "reiserfs.h"
|
||||
#include "fat.h"
|
||||
#include "hfs.h"
|
||||
#include "jfs.h"
|
||||
#include "xfs.h"
|
||||
#include "ufs.h"
|
||||
#include "ntfs.h"
|
||||
#include "iso9660.h"
|
||||
#include "udf.h"
|
||||
#include "luks.h"
|
||||
#include "highpoint.h"
|
||||
#include "linux_swap.h"
|
||||
#include "linux_raid.h"
|
||||
#include "lvm.h"
|
||||
#include "cramfs.h"
|
||||
#include "hpfs.h"
|
||||
#include "romfs.h"
|
||||
#include "sysv.h"
|
||||
#include "luks.h"
|
||||
#include "mac.h"
|
||||
#include "msdos.h"
|
||||
|
||||
int volume_id_probe_all(struct volume_id *id, unsigned long long off, unsigned long long size)
|
||||
{
|
||||
@ -79,6 +82,9 @@ int volume_id_probe_all(struct volume_id *id, unsigned long long off, unsigned l
|
||||
if (volume_id_probe_highpoint_ataraid(id, off) == 0)
|
||||
goto exit;
|
||||
|
||||
if (volume_id_probe_luks(id, off) == 0)
|
||||
goto exit;
|
||||
|
||||
/* signature in the first block, only small buffer needed */
|
||||
if (volume_id_probe_vfat(id, off) == 0)
|
||||
goto exit;
|
||||
@ -128,6 +134,9 @@ int volume_id_probe_all(struct volume_id *id, unsigned long long off, unsigned l
|
||||
if (volume_id_probe_hpfs(id, off) == 0)
|
||||
goto exit;
|
||||
|
||||
if (volume_id_probe_sysv(id, off) == 0)
|
||||
goto exit;
|
||||
|
||||
return -1;
|
||||
|
||||
exit:
|
||||
|
@ -21,7 +21,7 @@
|
||||
#ifndef _VOLUME_ID_H_
|
||||
#define _VOLUME_ID_H_
|
||||
|
||||
#define VOLUME_ID_VERSION 34
|
||||
#define VOLUME_ID_VERSION 35
|
||||
|
||||
#define VOLUME_ID_LABEL_SIZE 64
|
||||
#define VOLUME_ID_UUID_SIZE 16
|
||||
@ -38,6 +38,7 @@ enum volume_id_usage {
|
||||
VOLUME_ID_PARTITIONTABLE,
|
||||
VOLUME_ID_RAID,
|
||||
VOLUME_ID_DISKLABEL,
|
||||
VOLUME_ID_CRYPTO,
|
||||
};
|
||||
|
||||
struct volume_id_partition {
|
||||
|
@ -34,9 +34,9 @@
|
||||
#include <ctype.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#include "../volume_id.h"
|
||||
#include "../logging.h"
|
||||
#include "../util.h"
|
||||
#include "volume_id.h"
|
||||
#include "logging.h"
|
||||
#include "util.h"
|
||||
#include "xfs.h"
|
||||
|
||||
struct xfs_super_block {
|
Loading…
Reference in New Issue
Block a user