summaryrefslogtreecommitdiffstats
path: root/libblkid/drbd.c
diff options
context:
space:
mode:
Diffstat (limited to 'libblkid/drbd.c')
-rw-r--r--libblkid/drbd.c117
1 files changed, 0 insertions, 117 deletions
diff --git a/libblkid/drbd.c b/libblkid/drbd.c
deleted file mode 100644
index 43e544e89..000000000
--- a/libblkid/drbd.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (C) 2009 by Bastian Friedrich <bastian.friedrich@collax.com>
- *
- * This file may be redistributed under the terms of the
- * GNU Lesser General Public License.
- *
- * defines, structs taken from drbd source; file names represent drbd source
- * files.
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <ctype.h>
-#include <inttypes.h>
-#include <stddef.h>
-
-#include "superblocks.h"
-
-/*
- * drbd/linux/drbd.h
- */
-#define DRBD_MAGIC 0x83740267
-
-/*
- * user/drbdmeta.c
- * We only support v08 for now
- */
-#define DRBD_MD_MAGIC_08 (DRBD_MAGIC+4)
-#define DRBD_MD_MAGIC_84_UNCLEAN (DRBD_MAGIC+5)
-
-/*
- * drbd/linux/drbd.h
- */
-enum drbd_uuid_index {
- UI_CURRENT,
- UI_BITMAP,
- UI_HISTORY_START,
- UI_HISTORY_END,
- UI_SIZE, /* nl-packet: number of dirty bits */
- UI_FLAGS, /* nl-packet: flags */
- UI_EXTENDED_SIZE /* Everything. */
-};
-
-/*
- * user/drbdmeta.c
- * Minor modifications wrt. types
- */
-struct md_on_disk_08 {
- uint64_t la_sect; /* last agreed size. */
- uint64_t uuid[UI_SIZE]; /* UUIDs */
- uint64_t device_uuid;
- uint64_t reserved_u64_1;
- uint32_t flags;
- uint32_t magic;
- uint32_t md_size_sect;
- int32_t al_offset; /* signed sector offset to this block */
- uint32_t al_nr_extents; /* important for restoring the AL */
- int32_t bm_offset; /* signed sector offset to the bitmap, from here */
- uint32_t bm_bytes_per_bit;
- uint32_t reserved_u32[4];
-
- char reserved[8 * 512 - (8*(UI_SIZE+3)+4*11)];
-};
-
-
-static int probe_drbd(blkid_probe pr,
- const struct blkid_idmag *mag __attribute__((__unused__)))
-{
- struct md_on_disk_08 *md;
- off_t off;
-
- off = pr->size - sizeof(*md);
-
- /* Small devices cannot be drbd (?) */
- if (pr->size < 0x10000)
- return -1;
-
- md = (struct md_on_disk_08 *)
- blkid_probe_get_buffer(pr,
- off,
- sizeof(struct md_on_disk_08));
- if (!md)
- return -1;
-
- if (be32_to_cpu(md->magic) != DRBD_MD_MAGIC_08 &&
- be32_to_cpu(md->magic) != DRBD_MD_MAGIC_84_UNCLEAN)
- return -1;
-
- /*
- * DRBD does not have "real" uuids; the following resembles DRBD's
- * notion of uuids (64 bit, see struct above)
- */
- blkid_probe_sprintf_uuid(pr,
- (unsigned char *) &md->device_uuid, sizeof(md->device_uuid),
- "%" PRIx64, be64_to_cpu(md->device_uuid));
-
- blkid_probe_set_version(pr, "v08");
-
- if (blkid_probe_set_magic(pr,
- off + offsetof(struct md_on_disk_08, magic),
- sizeof(md->magic),
- (unsigned char *) &md->magic))
- return -1;
-
- return 0;
-}
-
-const struct blkid_idinfo drbd_idinfo =
-{
- .name = "drbd",
- .usage = BLKID_USAGE_RAID,
- .probefunc = probe_drbd,
- .magics = BLKID_NONE_MAGIC
-};
-