Re: WAL & SHM principles

From: "Ken Hirsch" <kenhirsch(at)myself(dot)com>
To: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: WAL & SHM principles
Date: 2001-03-13 17:38:24
Message-ID: OE5dyt3cew8k69RKLpg000031eb@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Giles Lean <giles(at)nemeton(dot)com(dot)au> wrote:

> > When you mmap, you don't use write() ! mlock actualy locks page in
> > memory and as long as the page is locked the OS doesn't attempt to
> > store the dirty page. It is intended also for security app to
> > ensure that sensitive data are not written to unsecure storage
> > (hdd). It is definition of mlock so that you can be probably sure
> > with it.
>
> News to me ... can you please point to such a definition? I see no
> reference to such semantics in the mlock() manual page in UNIX98
> (Single Unix Standard, version 2).
>
> mlock() guarantees that the locked address space is in memory. This
> doesn't imply that updates are not written to the backing file.

I've wondered about this myself. It _is_ true on Linux that mlock prevents
writes to the backing store, and this is used as a security feature for
cryptography software. The code for gnupg assumes that if you have mlock()
on any operating system, it does mean this--which doesn't mean it's true,
but perhaps whoever wrote it does have good reason to think so.

But I don't know about other systems. Does anybody know what the POSIX.1b
standard says?

It was even suggested to me on the linux-fsdev mailing list that mlock() was
a good way to insure the write-ahead condition.

Ken Hirsch

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ken Hirsch 2001-03-13 18:04:48 Re: WAL & SHM principles
Previous Message Matthew Kirkwood 2001-03-13 17:09:03 Re: Re: PostgreSQL on multi-CPU systems