On Tue, May 01, 2007 at 05:48:15PM -0700, Matthew Ahrens wrote:
> Pawel Jakub Dawidek wrote:
> >so I started to use it. The thing is that it broke some functionality.
> >For example 'zpool status -v' doesn't show file names anymore.
> >I tracked it down to the zap_value_search() function and changing:
> >     if (za->za_first_integer == value) {
> >into:
> >     if (ZFS_DIRENT_OBJ(za->za_first_integer) == value) {
> 
> This is essentially correct, although it breaks the layering (the ZAP 
> shouldn't have such intimate knowledge of the ZPL's usage).  Better would be 
> to pass in a mask to 
> zap_value_search().
> 
> But, this is certainly a bug, which I'll file shortly.
> 
> Have you found any other functionality to break when you store the file type 
> in the directory entry?

I think this whole mechanism of storing type should be revised, because
when we move ZFS file system created on Solaris to FreeBSD/MacOSX,
d_type will be set to 0 (DT_UNKNOWN).

I don't see easy fix for that. On Solaris struct dirent just doesn't
contain d_type field and ZFS doesn't have a field indicating entry type
in the zap structure. Will it be possible to store entry type also in
Solaris in a way suggested for MacOS X?

-- 
Pawel Jakub Dawidek                       http://www.wheel.pl
pjd at FreeBSD.org                           http://www.FreeBSD.org
FreeBSD committer                         Am I Evil? Yes, I Am!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: 
<http://mail.opensolaris.org/pipermail/zfs-code/attachments/20070502/069e80f9/attachment.bin>

Reply via email to