Hi Chris,
Sorry it's taken me a while to reply. I'm very interested in your take
on the Solaris 9 du patch, as I was instrumental in its creation.
One of the customers I work with at NetApp had noticed that du returned
a "cycle detected" error in Solaris 9, whereas it had not in Solaris 8.
(Incidentally, I'm told Solaris 10 doesn't return this error either).
With the help of my customer and Sun, we were able to identify the code
change which had provoked this behaviour.
As I understand it, Sun's patch does indeed, as you say, revert to the
earlier Solaris 8-like behaviour, in that it ignores the error condition
rather than fall over when it hits it. (Although Sun themselves are far
better placed to comment than I am). This is what the customer in
question wanted from the patch.
Unfortunately I will be out of the office all of next week (back on 7th
February), but I'd be happy to discuss this further with you when I
return. My customer, I'm sure, would also be most interested to hear
what you think of this solution, as so far he appears to be the only one
to have reported this issue to us - unlikely as that sounds.
Please feel free to drop me a line or give me a call.
Regards,
Simon.
Simon Barnes
Technical Global Advisor (TGA)
Network Appliance
simonb(a)netapp.com
Tel +31 (0)23 5644262
Mobile: +31 (0)655 773100
-----Original Message-----
From: Chris Thompson [mailto:cet1@cus.cam.ac.uk]
Sent: Thursday, January 20, 2005 12:37 PM
To: toasters(a)mathworks.com
Subject: Solaris patch 118463-01, NetApp filers, and du
I posted an article about this in the comp.unix.solaris newsgroup back
in early December, but I didn't get any response. Maybe I will have more
luck here.
A patch 118463-01 was released by Sun for Solaris 9 du(1) on 2004-12-06.
It "fixes"
5068958 Solaris 9 du exits with "cycle detected"
The description of this on SunSolve includes the following:
| Description:
|
| Solaris 9 du exits with:
|
| du: failed for /: Cycle detected from XXX to XXX
|
| when a hardlink in the filesystem is detected. While at first sight
| this seems reasonable behaviour due to the potentially harmful nature
| of hardlinked directories, there is a genuine need to handle this in a
more graceful way.
|
| One such example comes from using a NetApp File Server with snapshots.
| The NetApp server exports snapshot heirarchies with file ids (aka
| inode
| numbers) which appear to be identical to existing directory file ids.
|
| While this is an implementation issue concerning the interaction
| between Sun's NFS clients and NetApp File Servers, in the interests of
| interoperability, the Solaris 9 du should simply ignore directories
| with apparent duplicate inode numbers.
I wonder what other users of Solaris in conjunction with NetApp filers
think of this? Personally I thought the change in Solaris 9 was
positively beneficial ... an error (even if obscurely expressed from the
end-user's point of view) rather than a totally misleading result.
It might have been useful if the patch had been to produce warning
messages "I've seen this directory inode number before, I'm leaving this
[snapshot] out of the space calculation altogether" and carry on with
the rest of the tree. (One might think that this was what was implied by
"simply ignore directories with apparent duplicate | inode numbers".)
But it seems that it actually restores the Solaris 8-and-earlier
behaviour, in which you get a total which is a naive sum over all
snapshots, which is never (well, hardly ever) meaningful.
Chris Thompson
Email: cet1(a)cam.ac.uk