mc and ZFS (or other filesystems with funky st_size)



I'm having trouble using mc in a NetBSD 3.0 environment.  Everything
works normally except when I tell mc to look at directories on a particular
NFS server.  That server is a Solaris 10 box using ZFS.  When I start mc
while cd'd to a directory on that server, when mc comes up it shows the
contents of / instead.  Running a shell command shows that mc has chdir'd
to /.

My first guess as to the cause of the problem was that ZFS reports
a different value than "normal" in st_size when you stat a directory
entry.  Instead of a bytecount which you divide by some constant (usually
24) to get the number of items in the directory, ZFS reports the number
of entries in the directly in st_size.  This confuses older implementations
of scandir(), and especially programs that implement their own versions
of directory browsers that try to figure out how many items are in a
directory from st_size.

But I wasn't able to verify if that guess was correct - mc does not
seem to use scandir and I didn't see any obvious misuse of st_size.

Any idea what's going on here?  Is this problem related to st_size,
or is there something else about ZFS that mc doesn't like?

	-- Ed


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]