[patch] rc.d/tmp (silly mkdir usage)

diz at linuxpowered.com diz at linuxpowered.com
Tue Aug 2 04:38:27 GMT 2005


Howdy hackers,

I'm sorry for the previous patch, so here is at least one item that really
bugs me that isn't obfuscation. In short, I don't see any reason to fork
some process to simply "touch" a file (is a filesystem writable) when
built-in shell i/o does this:

--- /etc/rc.d/tmp.orig  Mon Aug  1 23:20:24 2005
+++ /etc/rc.d/tmp       Mon Aug  1 23:22:07 2005
@@ -48,8 +48,8 @@
 [Nn][Oo])
        ;;
 *)
-       if (/bin/mkdir -p /tmp/.diskless 2> /dev/null); then
-               rmdir /tmp/.diskless
+       if ( > /tmp/.diskless 2> /dev/null); then
+               rm /tmp/.diskless
        else
                if [ -h /tmp ]; then
                        echo "*** /tmp is a symlink to a non-writable area!"



I grep'ed the entire rc.d dir, and found that the same technique is used
elsewhere in accounting, and cleanvar. So I feel justified this time,
although please review, and thanks for the look. While I understand the
need to want a fork program to touch, or otherwise create an inode, I feel
forking for such an effort is weird and a bit over-engineered.

-Jon



More information about the freebsd-hackers mailing list