Messages in this thread | | | Date | Mon, 26 Jul 2004 00:03:13 -0700 | From | Andrew Morton <> | Subject | Re: ext3 and SPEC SFS Run rules. |
| |
Tigran Aivazian <tigran@aivazian.fsnet.co.uk> wrote: > > I have a simple question --- does ext3 conform to the SPEC SFS Run rules > with default mount options or does one need to force the correct > behaviour by mounting in some "special" way?. Here is the URL for the > rules: > > http://www.spec.org/sfs97r1/docs/runrules.html > > In particular, the bit that is worrying me is: > > 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. > > As far as I can see from nfsd source this means: > > a) write with 'stable' flag set does a f_op->write() with O_SYNC. > > b) COMMIT3 just means f_op->fsync(). > > So, the question is really --- do ext3 O_SYNC write and fsync require some > special mount options to work _properly_ or are they fine by default? > > Looking at ext3_sync_file() it seems OK by default. > > However, looking at ext3 ->write() operation it seems to forcibly commit > only if it is mounted with EXT3_MOUNT_JOURNAL_DATA option (or if it is not > a regular file or if EXT3_JOURNAL_DATA_FL inode flag is set).
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. - 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/
| |