[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: diskfs_catch_exception
From: |
Marcus Brinkmann |
Subject: |
Re: diskfs_catch_exception |
Date: |
Mon, 9 Dec 2002 16:19:58 +0100 |
User-agent: |
Mutt/1.4i |
On Mon, Dec 09, 2002 at 10:48:07AM +0100, M. Gerards wrote:
> Hi,
>
> Can someone please explain me what diskfs_catch_exception is used for and
> why?
> What is the difference between the diskpager and the file pagers? iow. why is
> diskfs_catch_exceptions used for diskpagers and not for filepagers?
If you access a mapped page, you always risk to segfault if there is a
trouble with the pager or if you calculated the page incorrectly.
Because we don't want to crash in this particular case, we set up a
signal preemptor. The catch exception macros can be used to switch
on/off protected access to the disk image.
File system pagers are never mapped into the filesystem address space. The
filesystem pagers exist solely for user mappings, and for read/write
operations via pager_memcpy (see libdiskfs/rdwr-internal.c). As there is no
mapping, there is no need to protect against signals when accessing them.
Thanks,
Marcus
--
`Rhubarb is no Egyptian god.' GNU http://www.gnu.org marcus@gnu.org
Marcus Brinkmann The Hurd http://www.gnu.org/software/hurd/
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de/