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

Re: [MiNT] symlinks and hostfs



Frank Naumann píše v So 29. 08. 2009 v 15:30 +0200:

> >> The mintlib use the Fstat64() kernel call if available (starting from
> >> FreeMiNT 1.15.4)
> >
> > HostFS implements Fstat64 but AFAIK it's currently disabled because of
> > the UTC timestamp conversion issue that I've been explaining in this and
> > other threads several times already.
> 
> No, Fstat64() is a system call. It can't be implemented by an xfs, it's 
> implemented by the kernel. The stat64() call inside the xfs interface is 
> something different.

You're right. I was too lazy to use the right terms because I simply
believed everybody knew already what I meant:

freemint/sys/xfs/hostfs/hostfs_xfs.c line 250:

#if 0
/* This is not used as there are problems with timezone synchronization
   between FreeMiNT and the NF implementing emulator. */
static
long     _cdecl hostfs_fs_stat64     (fcookie *file, STAT *xattr)
{
	return nf_call(HOSTFS(XFS_STAT64), file, xattr);
}
#endif

If we re-read this whole thread we find out that at the very beginning
Vincent said that because "Fstat64() does not seem to be implemented in
hostfs, we fall back in Fxattr()" and then questioned the "unused flag".
Alan quickly jumped in and reported that "this is a bug in aranym. It
uses it's own host_stat64()". This is where this thread got sort of
interconnected with the parallel thread "stat() and blocks" because in
that thread Alan said the same thing about HostFS :-)
Then I joined and explained that:

1) this is not a bug in ARAnyM and is unrelated to the Vincent's issue

2) ARAnyM does implement *stat64 but it's not enabled because of
timestamp conversion issues that are dependent on proper timezone setup
that can be too user-unfriendly (think timezone setup in plain TOS).

Many mails later Vincent reports that it seems to be a kernel issue
because with my kernel build it does handle the symlinks right.

Then you joined to explain me things I knew and I tried to repeat the
things I explained already.

> If you think you can ignore the rules please don't wonder if
> something didn't work as expected.

Can you tell me please where I said I would ignore any rules?

> If you like to make your users happy just do it but if the HostFs do
> it wrong it's your HostFS that is buggy and not the FreeMiNT kernel or
> the xfs interface.

Frank, get the facts right, please. It was Vincent who found a bug in
kernel while using HostFS without *stat64! Alan just said that if HostFS
implemented *stat64 then Vincent wouldn't find the bug.

I am getting confused - are we all trying to achieve the same goal - to
have a working filesystem for Vincent (and others)?

Are you saying that the current HostFS without *stat64 enabled is wrong,
ignoring rules and/or buggy? I thought it was perfectly optional to
implement the *stat64 and the HostFS seems to be working just fine.
Please correct me if I am wrong.

As always, please report any bugs you find there.

Petr