Re: [PATCH] 2.4.19-rc1/2.5.25 provide dummy fsync() routine for directories on NFS mounts

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Tue Jul 09 2002 - 09:06:45 EST


On Tue, 9 Jul 2002, Trond Myklebust wrote:

> Hi,
>
> There was a bug reported on the 'exim' user list a couple of months ago:
> the Linux NFS client reports -EINVAL if you try to fsync() a directory.
>
> The correct response would be to return a dummy '0' for success, since all
> NFS operations that change the directory are supposed to be performed
> synchronously on the server anyway...
>
> Cheers,
> Trond
>
>

Isn't it supposed to return EINVAL if "fd is bound to a file which
doesn't support synchronization..." That's what POSIX 4 says.

Errors:
EBADF fildes is not a valid file descriptor.
EINVAL The file descriptor is valid, but the system doesn't support
        fsync on this particular file.

I think code that opens a directory as a file is broken. We have
opendir() for that and it returns a DIR pointer, not a file descriptor.
If the directory was properly opened, one would never attempt to
fsync() it.

Cheers,
Dick Johnson

Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).

                 Windows-2000/Professional isn't.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 15 2002 - 22:00:15 EST