newfs(1) on a file
goatshit54108 at national.shitposting.agency
goatshit54108 at national.shitposting.agency
Thu Jun 4 16:48:57 UTC 2020
Running newfs(1) on a regular file bumps into some GAY issues:
$ dd status=none if=/dev/zero bs=1m count=4 of=shit
$ newfs ./shit
newfs: ./shit: not a character-special device: No error: 0
newfs: no valid label found
The message is not clear, but it happens to be a cry for a BSD label. OK, first creating a BSD label does allow newfs to succeed:
$ bsdlabel -wf ./shit
$ newfs ./shit
newfs: ./shit: not a character-special device: No error: 0
... (creation OK)
The bump is inside getdisklabel(). Patching out the one and only call to getdisklabel() seems to avoid the issue without negative consequences:
...
lp = NULL; //lp = getdisklabel(); // GAY
...
$ dd status=none if=/dev/zero bs=1m count=4 of=shit
$ non-gay_newfs ./shit
newfs: ./shit: not a character-special device: No error: 0
preposterous size 0
$ non-gay_newfs -s $(((4 << 20) / 512)) ./shit
newfs: ./shit: not a character-special device: No error: 0
... (creation OK)
The inconvenient alternative, to get newfs to format the file though a memory disk, appears to create an identical file:
$ dd status=none if=/dev/zero bs=1m count=4 of=shit
$ su root
... (GAY) ...
# mdconfig -a -t vnode -f ./shit -u 9
# newfs /dev/md9
... (creation OK) ...
Identical, that is, if we use `newfs -R` and discount a couple of reproducibility bugs/issues (<https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246983>, <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246985>).
Also, at a glance, using the BSD label method yields nothing other than a UFS filesystem along with a BSD label.
So this code appears to be old garbage.
Furthermore, the "not a character-special device" warning is just GAY without any benefit.
Or?...
More information about the freebsd-fs
mailing list