m/p/erofs: add character device test

Also, drive-by fix a misleading comment.

Change-Id: Ic5dc2d16a0c2f453d55f0f698f06f30fd355098a
Reviewed-on: https://review.monogon.dev/c/monogon/+/649
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/pkg/erofs/erofs_test.go b/metropolis/pkg/erofs/erofs_test.go
index fbd1af1..fa5f248 100644
--- a/metropolis/pkg/erofs/erofs_test.go
+++ b/metropolis/pkg/erofs/erofs_test.go
@@ -130,6 +130,38 @@
 			},
 		},
 		{
+			name: "Chardev",
+			setup: func(w *Writer) error {
+				if err := w.Create(".", &Directory{
+					Base:     Base{GID: 123, UID: 123, Permissions: 0755},
+					Children: []string{"ttyS0"},
+				}); err != nil {
+					return err
+				}
+				err := w.Create("ttyS0", &CharacterDevice{
+					Base:  Base{GID: 0, UID: 0, Permissions: 0600},
+					Major: 4,
+					Minor: 64,
+				})
+				if err != nil {
+					return err
+				}
+				return nil
+			},
+			validate: func(t *testing.T) error {
+				var stat unix.Statx_t
+				err := unix.Statx(0, "/test/ttyS0", 0, unix.STATX_ALL, &stat)
+				assert.NoError(t, err, "failed to statx file")
+				require.EqualValues(t, 0, stat.Uid, "wrong Uid")
+				require.EqualValues(t, 0, stat.Gid, "wrong Gid")
+				require.EqualValues(t, 0600, stat.Mode&^unix.S_IFMT, "wrong mode")
+				require.EqualValues(t, unix.S_IFCHR, stat.Mode&unix.S_IFMT, "wrong file type")
+				require.EqualValues(t, 4, stat.Rdev_major, "wrong dev major")
+				require.EqualValues(t, 64, stat.Rdev_minor, "wrong dev minor")
+				return nil
+			},
+		},
+		{
 			name: "LargeFile",
 			setup: func(w *Writer) error {
 				if err := w.Create(".", &Directory{
diff --git a/metropolis/pkg/erofs/inode_types.go b/metropolis/pkg/erofs/inode_types.go
index bac29c5..8147892 100644
--- a/metropolis/pkg/erofs/inode_types.go
+++ b/metropolis/pkg/erofs/inode_types.go
@@ -114,7 +114,7 @@
 	return i
 }
 
-// CharacterDevice represents a Unix block device inode with major and minor
+// BlockDevice represents a Unix block device inode with major and minor
 // numbers.
 type BlockDevice struct {
 	Base