git: a8fd0a5f4423 - main - glabel: Remove support for old reiserfs

From: Warner Losh <imp_at_FreeBSD.org>
Date: Fri, 19 Apr 2024 22:49:00 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=a8fd0a5f4423637a73de390e65c0c1e00f0668ff

commit a8fd0a5f4423637a73de390e65c0c1e00f0668ff
Author:     Ricardo Branco <rbranco@suse.de>
AuthorDate: 2024-04-19 22:47:55 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2024-04-19 22:48:28 +0000

    glabel: Remove support for old reiserfs
    
    Reviewed by: imp, emaste
    Pull Request: https://github.com/freebsd/freebsd-src/pull/1101
---
 lib/geom/label/glabel.8              |   5 +-
 sys/conf/files                       |   1 -
 sys/geom/label/g_label.c             |   1 -
 sys/geom/label/g_label.h             |   1 -
 sys/geom/label/g_label_reiserfs.c    | 123 -----------------------------------
 sys/modules/geom/geom_label/Makefile |   1 -
 6 files changed, 1 insertion(+), 131 deletions(-)

diff --git a/lib/geom/label/glabel.8 b/lib/geom/label/glabel.8
index a23f425bc5e1..a133b4abff72 100644
--- a/lib/geom/label/glabel.8
+++ b/lib/geom/label/glabel.8
@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd September 27, 2023
+.Dd April 19, 2024
 .Dt GLABEL 8
 .Os
 .Sh NAME
@@ -113,9 +113,6 @@ CD ISO9660 (directory
 EXT2FS (directory
 .Pa /dev/ext2fs/ ) .
 .It
-REISERFS (directory
-.Pa /dev/reiserfs/ ) .
-.It
 NTFS (directory
 .Pa /dev/ntfs/ ) .
 .El
diff --git a/sys/conf/files b/sys/conf/files
index 27ef78e51001..59d99b9f832b 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -3646,7 +3646,6 @@ geom/label/g_label_flashmap.c	optional geom_label
 geom/label/g_label_iso9660.c	optional geom_label
 geom/label/g_label_msdosfs.c	optional geom_label
 geom/label/g_label_ntfs.c	optional geom_label
-geom/label/g_label_reiserfs.c	optional geom_label
 geom/label/g_label_ufs.c	optional geom_label
 geom/label/g_label_gpt.c	optional geom_label | geom_label_gpt
 geom/label/g_label_disk_ident.c	optional geom_label
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");
diff --git a/sys/modules/geom/geom_label/Makefile b/sys/modules/geom/geom_label/Makefile
index 4ed9c6e5630e..19e0ee446fa1 100644
--- a/sys/modules/geom/geom_label/Makefile
+++ b/sys/modules/geom/geom_label/Makefile
@@ -10,7 +10,6 @@ SRCS+=	g_label_gpt.c
 SRCS+=	g_label_iso9660.c
 SRCS+=	g_label_msdosfs.c
 SRCS+=	g_label_ntfs.c
-SRCS+=	g_label_reiserfs.c
 SRCS+=	g_label_ufs.c
 SRCS+=	opt_geom.h
 SRCS+=	vnode_if.h