Subject: Re: kern/33375
To: None <gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-bugs
Date: 04/28/2006 15:29:57
On Apr 28,  7:25pm, christos@zoulas.com (Christos Zoulas) wrote:
-- Subject: Re: kern/33375

|  |  That means as far as I can tell there is no practical workaround
|  |  and this PR's priority should be increased, as it represents a
|  |  serious regression in COMPAT_30; on real 3.0 systems getdents/
|  |  readdir in union filesystems worked right, as it worked even in 2.0
|  |  and earlier, and it works in -current, but now 3.0 binaries on
|  |  a -current system /will malfunction/ if union filesystems are in
|  |  use. Given that the freshest binary packages available for use on
|  |  -current are those built for 3.0, this regression effectively makes
|  |  the unionfs unusable at all.
|  
|  None of the emulated getdents support unionfs [and whiteouts]. This is
|  a more general problem. So far is has not been addressed because of the
|  complexity it would introduce to the code.

Or it might be possible to make the emulation code use vn_readdir() instead
of using VOP_READIR() directly. If that is possible it will simplify the
code and at the same time all emulations will be able to deal with unions
properly.

christos