Subject: Re: kern/33375
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-bugs
Date: 04/28/2006 19:35:02
The following reply was made to PR kern/33375; it has been noted by GNATS.

From: christos@zoulas.com (Christos Zoulas)
To: gnats-bugs@netbsd.org, kern-bug-people@netbsd.org,
	gnats-admin@netbsd.org, netbsd-bugs@netbsd.org, chap@NetBSD.org
Cc: 
Subject: Re: kern/33375
Date: Fri, 28 Apr 2006 15:29:57 -0400

 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