tree removal issue with zfs on Blade 1500/PC rack server IDE disk

All systems tested are current as of beginning of the week I wrote this (patch state).

I have observed the following issue: when I try to remove with

rm -rf dir

a whole directory tree named dir, only the regular files will be removed on Solaris 10 u2 (2006/06) when doing so on a ZFS file system residing on an IDE disk, but not the sub directories it is okay, when doing the same command on a SCSI disk.

Details: the directory traversal is malfunctioning or out of sync with the IDE disk, I fear, because if I do the following afterwads

find dir -depth -exec rmdir {} \;

the remaining, now aside from sub directories empty directories are removed silently and successfully. And this is exactly okay when using the -depth option only, because this guarantees the "right" directory traversal, where the exec is applied only on the leaves first and afterwards on the higher nodes.

If I rm -rf as root it works too, but as normal user it doesn't, though the directory masks are okay (755 for the owning user trying to remove). The too generic error message is

rm: cannot determine if this is an ancestor of the current working directory

(in German(auf Deutsch): rm: Es kann nicht ermittelt werden, ob dies ein Vorg鋘ger des aktuellen Arbeitsverzeichnisses ist:)

and I fear too, that this is an outcome of the already described IDE/ZFS issue in Solaris 10. But it is the strangest thing when trying to remove a directory tree I ever happened to see on Unix in 15 years experience and a truely nasty bug.

Is this already fixed in OpenSolaris resp. Nevada and/or can it be expected, that the near Sol10u3 release will solve this issue in a satisfactorily manner? And SATA isn't also affected, is it?

[1768 byte] By [s.urbat] at [2007-11-26 10:34:02]
# 1
I haven't seen that particular issue mentioned before.You might want to either try to duplicate it on a recent Solaris Express machine, or post the details on the OpenSolaris ZFS discussion forum. -- Darren
Darren_Dunham at 2007-7-7 2:43:00 > top of Java-index,Solaris Operating System,Solaris 10 Features...
# 2

I got the proven, correct answer in the OpenSolaris ZFS forum, that the issue is the mountpoint attribute mask: it is for example set to 700 for /export/home in Solaris 10 u2, it seems, which causes via strange propagating to the file system mounted on it the traversal issue. It was sheer coincidence, that this didn't happen on the tested SCSI system probably, because there was the mountpoint different.

Setting /export/home after umounting the ZFS residing there with chmod to 755 solved this issue completely.

surbat at 2007-7-7 2:43:00 > top of Java-index,Solaris Operating System,Solaris 10 Features...