Greetings!
I've run across an issue that I'm surprised I've never run across before. I needed to find the differences between a file and it's counterpart in the snapshot area. When I ran a diff, it reported no differences. That was quite the shock since I knew for a fact the file had changed, albeit ever so slightly. I used cmp(1) on it, and it quickly noted that the files were different.
# diff .snapshot/weekly.0/index.config index.config
# cmp .snapshot/weekly.0/index.config index.config .snapshot/weekly.0/index.config index.config differ: char 2787, line 89
# tail -1 .snapshot/weekly.0/index.config index.config ==> .snapshot/weekly.0/index.config <== path: /home/indy
==> index.config <== path: /home/indy/clients
There were more differences than this, but I knew the last line had a simple difference for this demonstration.
Some observations:
1. If I use sdiff, it shows the files being identical... and always shows the line I know will differ as the one in the first file.
2. If I copy the two files, so neither is in the snapshot area, diff works as one would expect.
3. If I diff two completely different files, it does the right thing.
I have reproduced this with clients running several releases of Solaris/SunOS as well as hosts running FreeBSD.
Our filer is happily running 5.3.2R1P1D1.