Re: Can O_SYNC be implemented by using fsync?

From: Jeff V. Merkey (jmerkey@timpanogas.com)
Date: Mon May 15 2000 - 16:06:50 EST


Andi Kleen wrote:
>
> >
> > Why the hell is Netscape doing this? Netscape is a browser/mail
> > program, not a multi-user database, or are you refering to the server
> > side of NetScape? This doesn't sound right! Why would Netscape need to
> > write-through files all the time -- for browser failover?
>
> Netscape is a mail client. For mailers it makes sense to flush
> mailbox updates to disk. It seems to use a quite complicated
> database for its mail store.
>
> Also I guess fsync()ing bookmarks updates is useful.

It's still a single user app. How often does it do this, once per day?
Netscape using O_SYNC a lot is overkill.

How about a new patch?

if (NETSCAPE_DETECTED)
{
    file->f_flags &= ~O_SYNC;
    return FIXED_NETSCAPE_OVERKILL;
}

-or-

void DisableNetscapeOverkillMode(int on_off)
{
    if (!DisableOverKillMode)
       fsync();
}

Oops -- I forgot to update the W2K exception handler also for the
Windows 2000 version of the O_SYNC for file systems -- need to add a
Windows 2000 Exception filter,

try {

   ToDominateTheWorld();
   
   if (NETSCAPE_DETECTED)
   {
      if (ConsentDecreeExpired)
      {
         RandomlyCorruptNetScapeFiles();
         CauseSystemCrash();
      }
      else
      {
         RemoveNetscapeIconFromDesktop();
         ThreatenOEMs();
         DiscontinuePreviousWindowsVersions();
         InstallInternetExplorer();
         return;
      }
      BugCheckSystemWithInconclusiveErrorMessage();
   }
}
finally // on error of try case
{
   InitiateFreedomToInnovatePropagandaCampaign();
   SettleCalderaLawsuit();

   while (TRUE) // drop into an endless loop at this point
   {
      AppealFindingsofFact();
      AppealConclusionsOfLaw();
      AppealInjunction();
      AppealRemedyOrder();
   }
}

:-)

Jeff
>
> -Andi

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



This archive was generated by hypermail 2b29 : Mon May 15 2000 - 21:00:26 EST