[net.unix-wizards] Undocumented feature in Sys5: synchronous write

uh@pcsbst.UUCP (Michael Uhlenberg) (05/08/84)

Normally, writes to normal files are cached in the buffer pool and
written out to disk with some delay.
Some database people asked me to introduce a "write-through" system
call, i.e. a write that writes data immediately to disk, thus avoiding
disk consistency problems after a system crash. Looking at the Sys5 code,
I found that the code for doing this is already there: in <sys/file.h>
you have
	#define FSYNC   00020
but an appropriate define
	#define O_SYNC  00020
is missing from <fcntl.h> and also the docu doesn't mention it.
However, you can or 020 to your open mode, and get the desired effect.
-- 
Michael "Es gibt ein neues Uuuuunix" Uhlenberg

ecc@ihuxj.UUCP (Eric C. Claeys) (05/25/84)

Unless we write Modification Requests (MRs) on the "poor" documentation
in System V and System V Release 2, it will probably never get fixed.
Simply complaining about it via netnews will NOT make it any better.

When we see some bad documentation (this goes for bugs, too),
MR it, preferably with a fix described in the MR.

System V Release 1 users, (5.0, etc), see TROUBLE(1).
System V Release 2 users, see TRENTER(1).

Let's do us all a favor and MR those problems.

ihnp4!ihuxj!ecc
Eric C. Claeys
(312) 979-2886

guy@rlgvax.UUCP (05/26/84)

> Unless we write Modification Requests (MRs) on the "poor" documentation
> in System V and System V Release 2, it will probably never get fixed.
> Simply complaining about it via netnews will NOT make it any better.

> When we see some bad documentation (this goes for bugs, too),
> MR it, preferably with a fix described in the MR.

> System V Release 1 users, (5.0, etc), see TROUBLE(1).
> System V Release 2 users, see TRENTER(1).

> Let's do us all a favor and MR those problems.

Well, our machine is running a 4.1c/S3 hybrid, but I gave a look at
(/ux/s5)/usr/man/man1/trouble.1, and it gives nice directions and refers,
in the FILES section, to various things in "/usr/lib/trouble".  Well,
there's no (/ux/s5)/bin/trouble, no (/ux/s5)/usr/bin/trouble, and no
(/ux/s5)/usr/lib/trouble.  (/ux/s5 holds a complete copy of the S5 VAX-11
distribution on one of our machines.)  OK, how do I post an MR on the absence
of the MR-posting software on our system?

Also, the problem is not that various bits of UNIX are undocumented.  The
problem is that there seems to be a general philosophy (not just at AT&T,
so I'm not just beating you up) that "the real documentation is in the code"
and that it's not critical that the documentation catch up to the code.
That ain't gonna get fixed by posting MRs, unless you can post an MR (and
duplicate it to Berkeley and probably to tons of UNIX vendors out there) saying
"Hey guys, why not track down all these little treasures and 1) finish
implementing them

guy@rlgvax.UUCP (05/30/84)

> Normally, writes to normal files are cached in the buffer pool and
> written out to disk with some delay.
> Some database people asked me to introduce a "write-through" system
> call, i.e. a write that writes data immediately to disk, thus avoiding
> disk consistency problems after a system crash. Looking at the Sys5 code,
> I found that the code for doing this is already there: in <sys/file.h>
> you have
> 	#define FSYNC   00020
> but an appropriate define
> 	#define O_SYNC  00020
> is missing from <fcntl.h> and also the docu doesn't mention it.

Yup.  Welcome to the wonderful world of UNIX; a treasure hunt each day.
The annoying thing is that some of the stuff are real treasures, but the
authors have seen fit to bury them deeply.  I suspect this feature was
introduced "accidentally"(!); it may have been a side-effect of the changes
to the file system code in System V to write file system data structures in
a specified order.  On the other hand, if somebody felt this wasn't useful
enough to applications to finish implementing (i.e., putting in the O_SYNC bit)
and documenting, I'd like to know what kind of applications they've ever seen.
At least Berkeley documented "fsync".

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy

gwyn@brl-vgr.UUCP (05/31/84)

trouble(1) seems to be one of the things that the UNIX System V
(Release 1) blurbs advertised but that were not delivered to customers
outside the Bell System (like se, nsc, x25*, ...).

trenter(1) has been promised to us by AT&T so many times as part
of UNIX System V Release 2.0 that they will look really silly if
they withhold it, too.

mats@dual.UUCP (06/06/84)

Actualy, complaining via netnews is rather attractive, but if there is
a place we can mail to to submit complaints, it would be great. Most
of us outside AT&T Bell Labs do not have the `standard' complaint utilities
availble to us....

	    Mats Wichmann
	    Dual Systems Corp.
	    ...{ucbvax,amd70,ihnp4,cbosgd,decwrl,fortune}!dual!mats