0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-01 00:08:22 +02:00
Commit graph

158 commits

Author SHA1 Message Date
Jason Volk 4d3727a0a1 ircd::fs: Condition various runtime support on compilation too. 2019-04-17 19:19:30 -07:00
Jason Volk 1eaff2e91e ircd::fs: Runtime binding for pwritev(2)/pwritev2(2) based on kernel version. 2019-04-17 19:19:30 -07:00
Jason Volk 6fbf882e16 ircd::fs: Use GNU indirect function binding to efficiently support RWF_APPEND at runtime. 2019-04-17 19:09:16 -07:00
Jason Volk 7794a92159 ircd::exception: Avoid repeating the system_error message string. 2019-04-11 07:50:48 -07:00
Jason Volk ce9a9e58b4 ircd::fs: Switch to syscall_usage_warning for io_submit and fsync et al. 2019-04-10 20:18:50 -07:00
Jason Volk a1863ba3b2 ircd::fs: Minor cleanup. 2019-04-09 21:08:15 -07:00
Jason Volk 6ff3c88fa4 ircd::fs: Add a wait() interface. 2019-04-07 17:59:52 -07:00
Jason Volk 3bed48011d ircd::fs: Add non-blocking option passed to fd ctor's open(2) fwiw. 2019-04-07 16:45:35 -07:00
Jason Volk 9994836db0 ircd::fs: Add and use dedicated log facility for ircd::fs. 2019-04-07 16:28:21 -07:00
Jason Volk d118a0e743 ircd::fs: Add enumerated op codes to identify request types. 2019-04-06 12:13:16 -07:00
Jason Volk f7dc5f6146 ircd::fs: Add fd fdno ctor. 2019-03-31 23:57:35 -07:00
Jason Volk 6dc50292e8 ircd::fs: Simplify these ifdef conditions. 2019-03-27 19:07:11 -07:00
Jason Volk 1ce9ec3f8e ircd::fs::error: Remove fs::error from the ircd::exception hierarchy. 2019-03-16 18:12:38 -07:00
Jason Volk e752070d06 ircd::fs: Handle zero length buffers in the iov. 2019-03-16 13:49:04 -07:00
Jason Volk 89b258c5a7 ircd::fs: Improve fs::prefetch(). 2019-03-15 21:36:26 -07:00
Jason Volk 20716634a8 ircd::fs: Improve condition for RWF_APPEND/pwritev2() -1 offset value. 2019-03-15 18:45:39 -07:00
Jason Volk 4efb3a26fd ircd::fs: Reorg general RWF_ indicators out to fs:: from aio::. 2019-03-15 18:45:32 -07:00
Jason Volk 353fc35df4 ircd::fs: Don't set -1 offset on systems without RWF_APPEND. 2019-03-15 18:34:35 -07:00
Jason Volk 2a0720c1a0 ircd::fs: Use flags based on system availability. 2019-03-15 16:19:05 -07:00
Jason Volk fbe06f5724 ircd::fs: Rotate more internal bufs in case of reentrance. 2019-03-15 16:19:05 -07:00
Jason Volk 87144cef77 ircd::fs: Support various RWF flags for operations; also preadv2(). 2019-03-14 12:45:00 -07:00
Jason Volk 56092db18c ircd::fs: Move the reqprio() normalizer from fs::aio:: to fs::. 2019-03-13 19:39:20 -07:00
Jason Volk 02435c3672 ircd::fs: Support pwritev2(2). 2019-03-13 19:38:50 -07:00
Jason Volk 1117947a22 ircd::fs::aio: Add support test for RWF_NOWAIT and RWF_APPEND. 2019-03-13 19:38:47 -07:00
Jason Volk f373417b0b ircd::fs: Use for_each rather than transform here. 2019-02-28 17:53:01 -08:00
Jason Volk eb1e510720 ircd::fs: Include <sys/sysmacros.h> if available. 2019-02-15 18:48:59 -08:00
Jason Volk 4d95daf8e3 ircd::fs: Add slice_usage_warning around io_submit() / open(2). 2019-02-12 12:04:01 -08:00
Jason Volk db552e2ec4 ircd::fs: Add interface to filesystem::relative() function. 2019-02-07 20:49:50 -08:00
Jason Volk 7b67b106b6 ircd::fs: Add convenience tls scratch buffers for name and path manip. 2019-02-07 20:49:26 -08:00
Jason Volk 5b3bee79a6 ircd::fs: Normalize buffering for path interface; add path features. 2019-01-25 11:49:24 -08:00
Jason Volk 2886924bf0 ircd::fs: Reorg path interface related. 2019-01-25 10:39:37 -08:00
Jason Volk 14b57f2eac ircd: Rename aio.h/aio.cc with fs_ prefix. 2019-01-23 13:20:38 -08:00
Jason Volk cbf456a388 ircd: Rename and refactor ircd::assertion interface into ircd::panic. 2019-01-13 16:37:31 -08:00
Jason Volk c2103ec0d6 ircd::fs: Add sysfs access interface. 2019-01-01 21:15:10 -08:00
Jason Volk 23c1a87c4c ircd::fs: Add tools for device related. 2019-01-01 19:53:12 -08:00
Jason Volk 663b164f39 ircd::fs: Abstract the common options into opts struct. 2018-12-29 20:02:22 -08:00
Jason Volk 3466597981 ircd::fs: Various reorg; cleanup. 2018-12-29 19:43:17 -08:00
Jason Volk 30dc2ce7ed ircd::fs: Various cleanup / renames. 2018-12-28 15:30:29 -08:00
Jason Volk dad9ec8e44 ircd::fs: Increase default io_submit threshold. 2018-12-27 15:05:21 -08:00
Jason Volk 5fb887096b ircd::fs: Prevent ODR warnings from these weak defs. 2018-12-26 15:49:08 -08:00
Jason Volk 29e7fa3515 ircd::ctx: Use closure for continuation. 2018-12-22 21:03:14 -08:00
Jason Volk 37ba013413 ircd::ctx: Simplify continuation; eliminate to_asio derived type. 2018-12-22 20:11:00 -08:00
Jason Volk c2b344b74e ircd: Allow exceptions to propagate from various interruptors. 2018-12-22 17:24:48 -08:00
Jason Volk 69e3677dd5 ircd::fs: Add instrumentation related for dynamic stack array. 2018-12-21 13:19:34 -08:00
Jason Volk a5ebc28928 ircd::fs::aio: Reorganize with symbol overriding; add conf items. 2018-12-21 13:04:57 -08:00
Jason Volk c3d95aa8de ircd::fs: Remove the thread_local convenience for make_iov(). 2018-12-21 12:57:58 -08:00
Jason Volk 2f36fec41a ircd::fs: Cleanup the duplicate support state indicators. 2018-12-21 12:09:44 -08:00
Jason Volk 152060da36 ircd::fs: Create iov on the stack rather than with tls. 2018-12-21 10:28:51 -08:00
Jason Volk b4910319e0 ircd: Add various comments / documentations. 2018-12-19 12:35:21 -08:00
Jason Volk 582628fb71 ircd::fs: Add read/write options to restart operation on EINTR. 2018-12-18 14:44:25 -08:00