diff options
author | Ricardo Branco <rbranco@suse.de> | 2024-04-19 22:47:55 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2024-04-19 22:48:28 +0000 |
commit | a8fd0a5f4423637a73de390e65c0c1e00f0668ff (patch) | |
tree | bd12fdd0a14f4f0984308c7a53d7c9cc481379f7 /sys/geom | |
parent | 67677a654aa7456f18077ccbaa9c40f39a36d21a (diff) | |
download | src-a8fd0a5f4423637a73de390e65c0c1e00f0668ff.tar.gz src-a8fd0a5f4423637a73de390e65c0c1e00f0668ff.zip |
glabel: Remove support for old reiserfs
Reviewed by: imp, emaste
Pull Request: https://github.com/freebsd/freebsd-src/pull/1101
Diffstat (limited to 'sys/geom')
-rw-r--r-- | sys/geom/label/g_label.c | 1 | ||||
-rw-r--r-- | sys/geom/label/g_label.h | 1 | ||||
-rw-r--r-- | sys/geom/label/g_label_reiserfs.c | 123 |
3 files changed, 0 insertions, 125 deletions
diff --git a/sys/geom/label/g_label.c b/sys/geom/label/g_label.c index a38ed8294202..e20e5b50e80b 100644 --- a/sys/geom/label/g_label.c +++ b/sys/geom/label/g_label.c @@ -101,7 +101,6 @@ const struct g_label_desc *g_labels[] = { &g_label_iso9660, &g_label_msdosfs, &g_label_ext2fs, - &g_label_reiserfs, &g_label_ntfs, &g_label_disk_ident, &g_label_flashmap, diff --git a/sys/geom/label/g_label.h b/sys/geom/label/g_label.h index baca2b71c02f..69bfbf3910a1 100644 --- a/sys/geom/label/g_label.h +++ b/sys/geom/label/g_label.h @@ -73,7 +73,6 @@ extern struct g_label_desc g_label_ufs_volume; extern struct g_label_desc g_label_iso9660; extern struct g_label_desc g_label_msdosfs; extern struct g_label_desc g_label_ext2fs; -extern struct g_label_desc g_label_reiserfs; extern struct g_label_desc g_label_ntfs; extern struct g_label_desc g_label_gpt; extern struct g_label_desc g_label_gpt_uuid; diff --git a/sys/geom/label/g_label_reiserfs.c b/sys/geom/label/g_label_reiserfs.c deleted file mode 100644 index f70ad43d3998..000000000000 --- a/sys/geom/label/g_label_reiserfs.c +++ /dev/null @@ -1,123 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2005 Stanislav Sedov - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/kernel.h> -#include <sys/malloc.h> - -#include <geom/geom.h> -#include <geom/geom_dbg.h> -#include <geom/label/g_label.h> - -#define REISERFS_NEW_DISK_OFFSET 64 * 1024 -#define REISERFS_OLD_DISK_OFFSET 8 * 1024 -#define REISERFS_SUPER_MAGIC "ReIsEr" - -typedef struct reiserfs_sb { - uint8_t fake1[52]; - char s_magic[10]; - uint8_t fake2[10]; - uint16_t s_version; - uint8_t fake3[26]; - char s_volume_name[16]; -} reiserfs_sb_t; - -static reiserfs_sb_t * -g_label_reiserfs_read_super(struct g_consumer *cp, off_t offset) -{ - reiserfs_sb_t *fs; - u_int secsize; - - secsize = cp->provider->sectorsize; - - KASSERT(secsize != 0, ("Tasting a disk with 0 sectorsize")); - if (secsize < sizeof(*fs)) - return (NULL); - if ((offset % secsize) != 0) - return (NULL); - - fs = g_read_data(cp, offset, secsize, NULL); - if (fs == NULL) - return (NULL); - - if (strncmp(fs->s_magic, REISERFS_SUPER_MAGIC, - strlen(REISERFS_SUPER_MAGIC)) != 0) { - g_free(fs); - return (NULL); - } - - return (fs); -} - -static void -g_label_reiserfs_taste(struct g_consumer *cp, char *label, size_t size) -{ - struct g_provider *pp; - reiserfs_sb_t *fs; - - g_topology_assert_not(); - pp = cp->provider; - label[0] = '\0'; - - /* Try old format */ - fs = g_label_reiserfs_read_super(cp, REISERFS_OLD_DISK_OFFSET); - if (fs == NULL) { - /* Try new format */ - fs = g_label_reiserfs_read_super(cp, REISERFS_NEW_DISK_OFFSET); - } - if (fs == NULL) - return; - - /* Check version */ - if (fs->s_version == 2) { - G_LABEL_DEBUG(1, "reiserfs file system detected on %s.", - pp->name); - } else { - goto exit_free; - } - - /* Check for volume label */ - if (fs->s_volume_name[0] == '\0') - goto exit_free; - - /* Terminate label */ - fs->s_volume_name[sizeof(fs->s_volume_name) - 1] = '\0'; - strlcpy(label, fs->s_volume_name, size); - -exit_free: - g_free(fs); -} - -struct g_label_desc g_label_reiserfs = { - .ld_taste = g_label_reiserfs_taste, - .ld_dirprefix = "reiserfs/", - .ld_enabled = 1 -}; - -G_LABEL_INIT(reiserfs, g_label_reiserfs, "Create device nodes for REISERFS volumes"); |