9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Charles Forsyth <forsyth@terzarima.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] kfs locks
Date: Sun,  7 Mar 2004 19:56:34 +0000	[thread overview]
Message-ID: <019206925c24941d4c6592964c40a290@terzarima.net> (raw)
In-Reply-To: <200403071755.i27HtbcR080605@adat.davidashen.net>

[-- Attachment #1: Type: text/plain, Size: 497 bytes --]

the intent is that the sync command ensures that all current IO has gone
to disc without allowing file system activity
meanwhile--that's what the rlock of mainlock does--
but syncproc is allowed to run
concurrently with file system activity
to encourage the disc to be reasonably up to date
but without ensuring it.
there are interlocks on the buffers themselves (for instance)
to prevent confusion between several processes active
at once, whether for file system activity or syncproc.

[-- Attachment #2: Type: message/rfc822, Size: 2490 bytes --]

From: David Tolpin <dvd@davidashen.net>
To: 9fans@cse.psu.edu
Subject: [9fans] kfs locks
Date: Sun, 7 Mar 2004 21:55:37 +0400 (AMT)
Message-ID: <200403071755.i27HtbcR080605@adat.davidashen.net>

Hi,

cmd_sync sets 

rlock(&mainlock); 

...
syncall();
...
runlock(&mainlock);

...
syncproc, the background process forked by kfs, runs 
syncblock()
without setting rlock(&mainlock)

Can it the cause that I am getting wrenwrite errors after
'check f' on startup, if cmd_sync is not called after cmd_check
and before forking 'sync' and 'serve'?

I am still struggling to understand the problem. I've changed
the disk to be sure and still can reproduce the error if cmd_sync
is not called after the list of free blocks is rebuilt after blackdown.

David Tolpin

  reply	other threads:[~2004-03-07 19:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-07 17:55 David Tolpin
2004-03-07 19:56 ` Charles Forsyth [this message]
2004-03-07 20:03   ` David Tolpin
2004-03-07 20:12     ` Charles Forsyth
2004-03-07 20:20       ` David Tolpin
2004-03-08  3:27         ` jmk
2004-03-08  5:26           ` David Tolpin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=019206925c24941d4c6592964c40a290@terzarima.net \
    --to=forsyth@terzarima.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).