Re: files > 2G under Solaris



Hi, Maksym!

What platform are you using? i386, Sparc or UltraSparc? The answer may
depend on that.
Sorry, I did not tell, it's Ultra, Solaris 7; I tried MC 4.5.53 and 54,
gcc 2.8.1 and 2.95.2

I thought that UltraSparc is more 64-bit than it is :-)

I would be happy to see files and sizes.
It produces error message
`File 'C.w2k.4G' exists but can not be stat-ed: Value too large for
defined data type'
and don't show this file on the panels. I see that it uses lstat, which
is 32bit and fails. There is lstat64 defined in sys/stat.h, but I
probably need 64bit compiler.

That's bad. MC is not really good in handling error conditions like that.
Sometimes this message gets very annoying if things go wrong on VFS.

It is not realistic to expect every stat() to succeed, no matter what we
do with VFS. There are race conditions, there are cases like yours, there
may be NFS problems etc. Perhaps a better solution would be to have a flag
"stat_failed" in "struct file_entry", declared in dir.h, and mark such
files like staled links.

On the other hand, it should be possible to activate large file support in
MC using the standard Autoconf macro AC_SYS_LARGEFILE (only Autoconf 2.50
and above).

Unfortunately, simply adding AC_SYS_LARGEFILE to configure.in doesn't work
(RedHat Linux 7.1, i686) - I'm getting the same error "File XXX exists but
can not be stat-ed"

I'll try to fix it - if it works for me I'll make a snapshot for testing.
I'm still not sure if largefile support is good for everybody. Maybe I'll
fix AC_SYS_LARGEFILE so that it can be off by default.

-- 
Regards,
Pavel Roskin





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