summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-03-01libpager: Make it a bit parallelv0.9.git20220301Samuel Thibault
Making libpager use several workers allows it to queue several requests to the disk (e.g. for different processes faulting data) rather than waiting for them sequentially. * libpager/demuxer.c (WORKER_COUNT): Set to 10.
2022-03-01rumpdisk: Override machdev_server with multithread port managementDamien Zammit
This makes rumpdisk multithreaded as much as the root filesystem pager will request. Message-Id: <20220227091013.33112-4-damien@zamaudio.com>
2022-03-01libmachdev: Export demuxer as machdev_demuxer and bucket pointerDamien Zammit
This will allow callers to manage their own server routine. Message-Id: <20220227091013.33112-3-damien@zamaudio.com>
2022-03-01libmachdev: No-op fix styling of functionsDamien Zammit
Message-Id: <20220227091013.33112-2-damien@zamaudio.com>
2022-02-28pci-arbiter: Remove invalid pci_device_closeDamien Zammit
pci_control_port is not a port info so calling deref on it is invalid. There seems no reason to have a device_close for the pci device currently so remove it. TESTED via booting a rump disk Message-Id: <20220227075155.30750-1-damien@zamaudio.com>
2022-02-27rumpdisk: Protect open/close/read/write with a rwlockDamien Zammit
TESTED to boot off a rump based disk Message-Id: <20220227002655.23300-1-damien@zamaudio.com>
2022-02-25rumpdisk: Do not set a number of bytes in case of errorsSamuel Thibault
The RPC stub will not read it on error anyway. * rumpdisk/block-rump.c (rumpdisk_device_write, rumpdisk_device_read): Do not set the number of bytes when returning an error.
2022-02-25rumpdisk: Fix warningSamuel Thibault
gcc would complain that dummy_read is unused * rumpdisk/block-rump.c (rumpdisk_device_write): Mark dummy_read with attribute unused.
2022-02-25Fix store_read callsSamuel Thibault
store_read takes a look at the size to determine whether to fill the provided buffer or not. Even if providing a null buffer we should set the size to 0. * defpager/defpager.c (pager_read_page): Initialize nread to 0. * storeio/dev.c (buffered_rw): Initialize amount to 0. * fatfs/fat.c (fat_read_sblock): Initialize read to the size of the boot sector. Reuse it as such.
2022-02-25mtab: turn part:x:device:y into /dev/ysxSamuel Thibault
This is needed when using a rumpdisk-based root disk. Otherwise fsck does not properly detect when it is mounted.
2022-02-22rumpdisk: Fix BLKRRPART valueSamuel Thibault
We have always been using the Linux value, coming from the Linux glue code.
2022-02-20libmachdev: Register translator for shutdown notificationSamuel Thibault
When starting a libmachdev translator after bootstrap, we still want the translator to be notified by startup, to properly flush buffers etc.
2022-02-20mount: Avoid appending empty options to empty mntoptsSamuel Thibault
argz_append does not actually support this.
2022-02-20mount: Fix deleting noauto/bind optionSamuel Thibault
After deleting an option, we have to let the loop continue from there instead of skipping another option.
2022-02-18rumpdisk: cope with unaligned and big accessesv0.9.git20220218Samuel Thibault
Unaligned accesses need a copy into an aligned buffer. Accesses larger than a page currently have to be split into pages, otherwise _bus_dmamap_load_buffer assumes coherent physical allocations.
2022-02-12acpi: Remove erroneous MAP_FIXEDDamien Zammit
Reading the man page for mmap, MAP_FIXED needs to be removed, because we do not want the mapping to be placed at 0. Message-Id: <20220212215736.28433-1-damien@zamaudio.com>
2022-02-12Fix warningSamuel Thibault
* startup/startup.c (S_io_restrict_auth): Cast const uid_t * pointer to uid_t * when using it in struct idvec which always uses a uid_t* even when reading it.
2022-02-12Silence warningSamuel Thibault
Since gcc doesn't seem to discover that underlying is not used uninitialized. * utils/mount.c (do_mount): Initialize underlying to MACH_PORT_NULL.
2022-02-12Fix warningSamuel Thibault
* utils/msgport.c (cmd_umask): Use int instead of mode_t for umask, since msg_get_init_int takes an int*.
2022-02-12Fix warningSamuel Thibault
* pfinet/socket-ops.c (S_socket_setopt): Cast data into char* before passing it to Linux' setsockopt which erroneously takes a char*.
2022-02-12Fix warningSamuel Thibault
* pfinet/io-ops.c (S_io_write), pfinet/socket-ops.c (S_socket_send): Cast const void * pointer to void * when using it in struct iovec which always uses a void* even when writing.
2022-02-12Fix warningSamuel Thibault
* isofs/lookup.c (diskfs_lookup_hard): Make sure we return ENOENT in the theoretical case that the directory would be completely empty.
2022-02-12Fix warningSamuel Thibault
* term/devio.c (ports_do_mach_notify_send_once): Use io_buf_ptr_inband_t type instead of automatically-sized array.
2022-02-12Fix warningSamuel Thibault
libmachdev/ds_routines.c (ds_device_write_inband): Replace const_io_buf_ptr_inband_t with const io_buf_ptr_inband_t, as generated by mig.
2022-02-12configure.ac: Drop unneeded backquote escapingSamuel Thibault
2022-02-12Update m4/libgcrypt.m4Samuel Thibault
m4/libgcrypt.m4: Refresh from upstream libgcrypt.
2022-02-12Replace AC_TRY_COMPILE with AC_COMPILE_IFELSESamuel Thibault
The former is obsolete. configure.ac: Replace AC_TRY_COMPILE with AC_COMPILE_IFELSE.
2022-02-07FIXME noteSamuel Thibault
2022-02-06rumpdisk: add missing device_close on probing kernel driversSamuel Thibault
If any device_open succeeds, we should clean its effect.
2022-02-05rumpdisk: add missing device_close on probing kernel driversv0.9.git20220206Samuel Thibault
If any device_open succeeds, we should clean its effect.
2022-01-23Change a EIO by a ENOSPC in case where not enough spaceEtienne Brateau
Return a ENOSPC to notify that not enough space is here after the xattr entry instead of returning an EIO. Message-Id: <20220123041715.19402-15-etienne.brateau@gmail.com>
2022-01-23ext2fs: refactor add a method for dupplicated codeEtienne Brateau
* xattr: introduce xattr_header_valid method Message-Id: <20220123041715.19402-14-etienne.brateau@gmail.com>
2022-01-23ext2fs: detect and warn when filesystem is an ext3 fsEtienne Brateau
Message-Id: <20220123041715.19402-12-etienne.brateau@gmail.com>
2022-01-23ext2fs: resolve a todo, check writability before writingEtienne Brateau
Message-Id: <20220123041715.19402-11-etienne.brateau@gmail.com>
2022-01-23ext2fs: set the writing time in the superblockEtienne Brateau
Message-Id: <20220123041715.19402-10-etienne.brateau@gmail.com>
2022-01-23ext2fs: set the f_namelen to the correct valueEtienne Brateau
Message-Id: <20220123041715.19402-9-etienne.brateau@gmail.com>
2022-01-23ext2fs: Take cares of indiannesEtienne Brateau
In ext2 data are stored in little endian to ensure portability. So enforce little endian when manipulating these bytes. Message-Id: <20220123041715.19402-8-etienne.brateau@gmail.com>
2022-01-23ext2fs: use macro to check flagsEtienne Brateau
* hyper.c: use macros to check flags Message-Id: <20220123041715.19402-7-etienne.brateau@gmail.com>
2022-01-23ext2fs: remove unneeded fileEtienne Brateau
Message-Id: <20220123041715.19402-5-etienne.brateau@gmail.com>
2022-01-23move to ext2_fs.h a #defineEtienne Brateau
This makes all #define be grouped at the same place Message-Id: <20220123041715.19402-4-etienne.brateau@gmail.com>
2022-01-23ext2fs: remove __KERNEL__Etienne Brateau
This makes the header more clear and btw it’s not anymore in the linux tree Message-Id: <20220123041715.19402-3-etienne.brateau@gmail.com>
2022-01-23ext2fs: update ext2_fs.h headerEtienne Brateau
Message-Id: <20220123041715.19402-2-etienne.brateau@gmail.com>
2022-01-23ext2fs Merge 2 headersEtienne Brateau
* ext2_fs_i.h: merge it into ext2_fs.h. This is also done in the linux tree Message-Id: <20220123041715.19402-1-etienne.brateau@gmail.com>
2022-01-23typoSamuel Thibault
2022-01-20proc: Fix variable typeSamuel Thibault
Reported-by: Etienne Brateau <etienne.brateau@gmail.com>
2022-01-20libnetfs: fix type of variableEtienne Brateau
Message-Id: <20220119192945.36654-6-etienne.brateau@gmail.com>
2022-01-20libps: fix some signed vs unsigned comparisionEtienne Brateau
Message-Id: <20220119192945.36654-5-etienne.brateau@gmail.com>
2022-01-20libdiskfs: improve asserts and remove a sign compare warningEtienne Brateau
Message-Id: <20220119192945.36654-4-etienne.brateau@gmail.com>
2022-01-20libstore: fix type of a counterEtienne Brateau
Message-Id: <20220119192945.36654-3-etienne.brateau@gmail.com>
2022-01-20libpager: fix assertion unsigned against 0Etienne Brateau
Comparing an unsigned to be superior or equals to 0 is always true, instead move the assert before the substraction and compare it to the value to substract. Message-Id: <20220119192945.36654-2-etienne.brateau@gmail.com>