aboutsummaryrefslogtreecommitdiff
path: root/libstore/memobj.c
Commit message (Collapse)AuthorAgeFilesLines
* Use our own variant of 'assert' and 'assert_perror'.Justus Winter2017-08-051-2/+2
| | | | | Our variants print stack traces on failures. This will make locating errors much easier.
* Fix buildSamuel Thibault2016-11-201-1/+1
| | | | | | * libpager/pager-memcpy.c (pager_memcpy): Pass 1 as second parameter to sigsetjmp. * libstore/memobj.c (memobj_memcpy): Likewise.
* libpager, libstore: Fix crash on ENOSPC while writing dataSamuel Thibault2016-11-201-2/+3
| | | | | | | | | | | | | We need to save blocked signals, otherwise longjmp will not unblock SIGSEGV/SIGBUS, and thus next exception will kill us. Also, we need to make sure that the preemptor is set at the right window in main memory before letting a handler see it. * libpager/pager-memcpy.c (do_memcpy): Call __sync_synchronize() between aligning the fault preemptor and actually accessing data. (fault): Use siglongjmp instead of longjmp. (pager_memcpy): Use sigsetjmp instead of setjmp. * libstore/memobj.c (copy, fault, memobj_memcpy): Likewise.
* Deal with odd kernel behaviorSamuel Thibault2014-11-091-0/+1
| | | | | | | | Some versions of gnumach actually take address as a mapping hint, and would fail if the hint is bogus. Make sure to pass 0 for those versions. * libstore/memobj.c (memobj_read): Make sure to set *buf to 0 before calling vm_map.
* doc/Marcus Brinkmann2002-12-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-12-03 Marcus Brinkmann <marcus@gnu.org> * hurd.texi (Store I/O): Add store_set_size. libstore/ 2002-10-01 Ludovic Courtès <ludovic.courtes@utbm.fr> * store.h: New type store_set_size_meth_t: New type. New prototype store_set_size. (struct store_class): Added a set_size () method. * rdwr.c (store_set_size): New function. * file.c (file_store_set_size): New function. (store_file_class): Add file_store_set_size. * concat.c (concat_set_size): New function. (store_concat_class): concat_set_size. * copy.c (copy_set_size): New function. (store_copy_class): copy_set_size. * device.c (device_set_size): New function. (store_device_class): device_set_size. * memobj.c (memobj_set_size): New function. (store_memobj_class): memobj_set_size. * mvol.c (mvol_set_size): New function. (store_mvol_class): mvol_set_size. * nbd.c (nbd_set_size): New function. (store_nbd_class): nbd_set_size. * remap.c (remap_set_size): New function. (store_remap_class): remap_set_size. * stripe.c (stripe_set_size): New function. (store_stripe_class): stripe_set_size. * unknown.c (unknown_set_size): New function. (store_unknown_class): unknown_set_size. * zero.c (zero_set_size): New function. (store_zero_class): zero_set_size.
* 2002-02-08 Roland McGrath <roland@frob.com>Roland McGrath2002-03-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile (store-types): New variable. (all): Depend on $(store-types:%=libstore_%.a). (libstore_%.so.$(hurd-version)): New pattern rule. ($(store-types:%=libstore_%.a): libstore_%.a): New static pattern rule to create `-lstore_TYPE' pseudo-objects (linker scripts) for each type. (libstore.so-LDLIBS): New variable, adds -ldl. (GUNZIP_OBJS, BUNZIP2_OBJS): New variables. (UNZIP_OBJS): Variable removed, replaced by those two. (OBJS): Update use. (libstore_gunzip.so.$(hurd-version)): Depend on PIC $(GUNZIP_OBJS). (libstore_bunzip2.so.$(hurd-version)): Depend on PIC $(BUNZIP2_OBJS). * unknown.c: Add STORE_STD_CLASS decl. * bunzip2.c: Likewise. * copy.c: Likewise. * device.c: Likewise. * file.c: Likewise. * gunzip.c: Likewise. * memobj.c: Likewise. * module.c: Likewise. * mvol.c: Likewise. * nbd.c: Likewise. * open.c: Likewise. * part.c: Likewise. * remap.c: Likewise. * stripe.c: Likewise. * stripe.c: Likewise. * task.c: Likewise. * typed.c: Likewise. * typed.c: Likewise. * unknown.c: Likewise. * url.c: Likewise. * zero.c: Likewise.
* 2001-10-06 Neal H Walfield <neal@cs.uml.edu>Roland McGrath2001-10-061-1/+1
| | | | | | * memobj.c: Include "store.h", not <hurd/store.h>. * nbd.c: Likewise. * parted.c: Likewise.
* 2001-10-01 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann2001-10-011-1/+2
| | | | | | | | | | | | | | | | | | | | * device.c (dev_error): Add a break to silence gcc warning. (store_device_class): Add const to type. * typed.c (store_typed_open_class): Likewise. * file.c (store_file_class): Likewise. * stripe.c (store_concat_class): Likewise. (store_ileave_class): Likewise. * zero.c (store_zero_class): Likewise. * open.c (store_open_class): Likewise. * remap.c (store_remap_class): Likewise. * task.c (store_task_class): Likewise. * copy.c (store_copy_class): Likewise. * gunzip.c (store_gunzip_class): Likewise. * bunzip2.c (store_bunzip2_class): Likewise. * mvol.c (store_mvol_class): Likewise. * memobj.c (store_memobj_class): Likewise. * nbd.c (store_nbd_class): Likewise. Submitted by Maurizio Boriani <baux@debian.org>.
* 2001-09-30 Roland McGrath <roland@frob.com>Roland McGrath2001-10-011-0/+188
* memobj.c: New file. * Makefile (SRCS): Add it. * store.h (store_memobj_class, store_memobj_create): Declare them.