Subject: bug#61966: diff -r reports identical devices nodes (maj/min) as different

From: Gioele Barabucci <[email-masked]>
Date: Sat, 4 Mar 2023 17:54:20 +0100

Dear diff developers,

an issue related to the way diff compares directories that contain 
device nodes has been reported in <https://bugs.debian.org/929896>.

In a nutshell, identical device nodes are reported as different, but 
only during recursive comparisons (`-r`).

The following steps can reproduce this issue:

     $ mkdir a; sudo mknod a/null c 1 3
     $ sleep 1
     $ mkdir b; sudo mknod b/null c 1 3
     $ diff a/null b/null ; echo $?
     0
     $ diff -r a b ; echo $?
     File a/null is a character special file while file
     b/null is a character special file
     1

(Device 1/3 is the null character device, i.e. `/dev/null`.)

Removing the `sleep 1` command reduces (but does not eliminate) the 
probability of getting this faulty behavior.

Regards,

-- 
Gioele Barabucci