Re: ext3 and SPEC SFS Run rules.

From: Andrew Morton
Date: Mon Jul 26 2004 - 15:53:42 EST


Tigran Aivazian <tigran@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Mon, 26 Jul 2004, Andrew Morton wrote:
> > ext3 should be fully syncing data and metadata for both fsync() and O_SYNC
> > writes in all three journalling modes. If not, that's a big bug.
>
> Ok, so, can I conclude that you are therefore saying that ext3 (with
> default mount options) is compliant with SPEC SFS Run rules wrt NFS
> protocol requirements:

That is the design objective within ext3, the VFS and the NFS server, yes.
Of course, there may be bugs in the implementation.

> 1. For NFS Version 2, the server adheres to the protocol
> specification and in particular the requirement that for NFS write
> operations the NFS server must not reply to the NFS client before any
> modified file system data or metadata, with the exception of access times,
> are written to stable storage.
> 2. For NFS Version 3, the server adheres to the protocol specification.
> In particular the requirement that for STABLE write requests and COMMIT
> operations the NFS server must not reply to the NFS client before any
> modified file system data or metadata, with the exception of access times,
> are written to stable storage for that specific or related operation. See
> RFC 1813, NFSv3 protocol specification for a definition of STABLE and
> COMMIT for NFS write requests.
> 3. For NFS Version 3, operations which are specified to return wcc data
> must, in all cases, return TRUE and the correct attribute data. Those
> operations are:
>
> NFS Version 3
> SETATTR
> READLINK
> CREATE
> MKDIR
> SYMLINK
> MKNOD
> REMOVE
> RMDIR
> RENAME
> LINK

To confirm this we'd need to undertake an audit of the server
implementation, and we'll need to ask Neil about it.

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