Jason Volk
|
a0476b8a9c
|
ircd::fs: Add a select()'ish multi-fd yielding device.
|
2020-05-09 17:28:34 -07:00 |
|
Jason Volk
|
1720aea7e2
|
ircd::fs: Add derror log msg w/ path on fd open system_error.
|
2020-05-09 17:28:34 -07:00 |
|
Jason Volk
|
aaa5e785aa
|
ircd::fs: Implement synchronous parallel-read interface.
|
2020-05-07 00:28:27 -07:00 |
|
Jason Volk
|
6d77e99a03
|
ircd::fs::aio: Minor reorder request arguments; missing constness; consistent return values.
|
2020-05-06 14:04:14 -07:00 |
|
Jason Volk
|
2bf38286ba
|
ircd::fs: Callsite changes for fs::base reorg.
|
2020-04-19 06:13:23 -07:00 |
|
Jason Volk
|
9fce3c6ca6
|
ircd::fs: Condition to skip setrlimit(2) and infolog message.
|
2020-04-18 19:06:13 -07:00 |
|
Jason Volk
|
13ea8b0ca0
|
ircd::fs: Use conf item callback for RLIMIT_NOFILE.
|
2020-04-18 19:06:13 -07:00 |
|
Jason Volk
|
2d14956c64
|
ircd::fs: Improve path_cstr() internal util related.
|
2020-04-18 19:06:13 -07:00 |
|
Jason Volk
|
2953ca0b55
|
ircd::fs: Split path related from fs unit.
|
2020-04-18 19:06:13 -07:00 |
|
Jason Volk
|
8c8a4c8d09
|
ircd::fs: Add an RLIMIT_FSIZE sampler in support section.
|
2020-03-20 11:09:34 -07:00 |
|
Jason Volk
|
4d88f92b76
|
ircd::fs: Add conf item and call to setrlimit for RLIMIT_NOFILE.
|
2020-03-20 11:09:34 -07:00 |
|
Jason Volk
|
a867cfa51a
|
ircd::fs: Add gauge for rlimit_nofile in support section.
|
2020-03-20 10:56:55 -07:00 |
|
Jason Volk
|
472ce01b50
|
ircd::fs: Reorg support section and indicators.
|
2020-03-20 10:56:55 -07:00 |
|
Jason Volk
|
bc836d0fd8
|
ircd::info: Remove the fixed-rlimit sample section here.
|
2020-03-20 09:56:58 -07:00 |
|
Jason Volk
|
fe8a65953b
|
ircd::fs: Move init check/info out of fs::init for integration w/ info::dump().
|
2020-03-16 16:56:06 -07:00 |
|
Jason Volk
|
6679b66806
|
ircd::prof: Move ctx::syscall_usage_warning into prof.
|
2020-03-06 15:43:24 -08:00 |
|
Jason Volk
|
935f54b604
|
ircd::fs: Branches almost always taken.
|
2019-10-10 01:32:42 -07:00 |
|
Jason Volk
|
cd7ff331e9
|
ircd: Eliminate defaulted weak symbols for lib; minor relaxations remain.
|
2019-10-05 20:02:18 -07:00 |
|
Jason Volk
|
d6c0e4cf20
|
ircd::fs: Fix missing return value; prevent any reference to fs::iou unimplemented calls.
|
2019-10-05 17:55:10 -07:00 |
|
Jason Volk
|
d3809d43e5
|
Reorganize Makefiles.
|
2019-09-27 19:35:26 -07:00 |
|
Jason Volk
|
d8bfacd128
|
ircd::fs: Add missing base path for RB_LIB_DIR.
|
2019-09-25 17:09:05 -07:00 |
|
Jason Volk
|
d74d6c5eda
|
ircd::fs: Warn for low RLIMIT_NOFILE on init; minor renames.
|
2019-09-14 12:17:07 -07:00 |
|
Jason Volk
|
97b613bb82
|
ircd::fs: Minor cleanup/simplify.
|
2019-08-16 02:19:49 -07:00 |
|
Jason Volk
|
41c8643305
|
ircd::fs: Use better indicator for async support type.
|
2019-08-11 04:52:38 -07:00 |
|
Jason Volk
|
125f53872c
|
ircd::fs: Preliminary io_uring infrastructure plumbing.
|
2019-08-11 01:39:30 -07:00 |
|
Jason Volk
|
588b0aa9bc
|
ircd::fs::aio: Fix bitrot assertion; simplify aio related.
|
2019-08-10 23:22:28 -07:00 |
|
Jason Volk
|
14f16f2b0d
|
ircd::fs: Support hole punching if available; add checks for allocate options.
|
2019-08-06 16:39:28 -07:00 |
|
Jason Volk
|
f549fb1f72
|
ircd::fs: Fix support version detections.
|
2019-08-06 15:49:24 -07:00 |
|
Jason Volk
|
bd2dd1c50d
|
ircd::fs: Make support string an info log message.
|
2019-08-06 15:44:32 -07:00 |
|
Jason Volk
|
009d417273
|
ircd: Indicate noexcept on advised interfaces.
|
2019-08-05 16:19:20 -07:00 |
|
Jason Volk
|
70ec2a37c7
|
ircd::fs: Use system_error factory.
|
2019-07-20 20:19:40 -07:00 |
|
Jason Volk
|
d0cc5b020b
|
ircd::fs: Minor reorg of fadvise related.
|
2019-07-12 19:29:51 -07:00 |
|
Jason Volk
|
7157a9cf8b
|
ircd: Handle exceptions before unwind of class member reference.
|
2019-06-24 02:22:55 -06:00 |
|
Jason Volk
|
5bf62fc33f
|
ircd: Degrade enum addressing for clang.
|
2019-06-23 07:37:23 -06:00 |
|
Jason Volk
|
e0e4bde691
|
ircd::fs: Fix debug log format string.
|
2019-06-13 15:33:20 -06:00 |
|
Jason Volk
|
32e94931a7
|
ircd::fs: Add ability to change basepath values at runtime.
|
2019-06-06 17:38:12 -07:00 |
|
Jason Volk
|
38bfb56661
|
ircd::fs: Add typedefs for vector_view's used to build paths.
|
2019-06-06 17:03:02 -07:00 |
|
Jason Volk
|
143e4bda7b
|
ircd::fs: Add debug log message showing support flags on startup.
|
2019-06-06 04:44:00 -07:00 |
|
Jason Volk
|
c292ec46f2
|
ircd::fs: Add runtime selection of pwritev(2) and RWF_ features; minor reorg.
|
2019-06-05 23:25:48 -07:00 |
|
Jason Volk
|
0575f9c500
|
ircd::fs: Eliminate uses of GNU ifunc.
|
2019-06-04 16:37:29 -07:00 |
|
Jason Volk
|
129676d06e
|
ircd::fs: Use portable device sysmacros.
|
2019-06-04 15:05:21 -07:00 |
|
Jason Volk
|
0d88c5326f
|
ircd::fs: Reduce log message impact.
|
2019-06-02 01:06:14 -07:00 |
|
Jason Volk
|
eb73595c50
|
ircd: Apply uniform info::versions for all dependency version identification.
|
2019-05-31 16:15:01 -07:00 |
|
Jason Volk
|
e670afbac8
|
ircd::fs: Return zero rather than propagating exception from write_life getter.
|
2019-05-08 19:10:36 -07:00 |
|
Jason Volk
|
134bcc1bfb
|
ircd::fs: Add write_opts for RWF_WRITE_LIFE_* support.
|
2019-05-05 17:48:02 -07:00 |
|
Jason Volk
|
7f18bb17e2
|
ircd::fs: Precondition definition rather than as weak symbol.
|
2019-05-05 17:47:46 -07:00 |
|
Jason Volk
|
861df761fe
|
ircd::fs: Add runtime support indicators for write_life related features.
|
2019-05-05 17:46:50 -07:00 |
|
Jason Volk
|
82200a9abd
|
ircd::fs: Add write_life hint fcntl front.
|
2019-05-03 19:53:05 -07:00 |
|
Jason Volk
|
c9ab8c345c
|
ircd::fs: Explicit fcntl.h inclusion in fs.cc.
|
2019-05-03 06:09:58 -07:00 |
|
Jason Volk
|
d9812f3e86
|
ircd::fs: Add an evict() front to cache interface; add preconditions.
|
2019-05-03 05:52:12 -07:00 |
|
Jason Volk
|
e75c9fe54c
|
ircd::fs: Split and improve fincore().
|
2019-05-03 05:48:50 -07:00 |
|
Jason Volk
|
d544c37d3d
|
ircd::fs: Abstract the posix_fadvise wrapping.
|
2019-05-03 03:33:45 -07:00 |
|
Jason Volk
|
c0f7daaff4
|
ircd::fs::aio: Fix warning indicator placement.
|
2019-04-26 06:21:30 -07:00 |
|
Jason Volk
|
a61d04a9c2
|
ircd::fs: Allow ircd.fs.aio.max_submit=0 to indicate max possible.
|
2019-04-22 15:40:34 -07:00 |
|
Jason Volk
|
acd774c3ee
|
ircd::fs: Make ~fd() noexcept.
|
2019-04-22 09:16:11 -07:00 |
|
Jason Volk
|
7d55468511
|
ircd::fs: Add fd::opts getter from open fd.
|
2019-04-22 09:14:46 -07:00 |
|
Jason Volk
|
d08bcc2f32
|
ircd::fs: Add fd::release() memfn.
|
2019-04-22 08:55:42 -07:00 |
|
Jason Volk
|
f145c6774a
|
ircd::fs: Rename function.
|
2019-04-21 04:15:10 -07:00 |
|
Jason Volk
|
003f9f771a
|
ircd::fs: Break from read()/write() loops for non-blocking operations without exception.
|
2019-04-20 22:28:15 -07:00 |
|
Jason Volk
|
900fab1e79
|
ircd::fs: Propagate EAGAIN without exception for !opts.blocking operations.
|
2019-04-20 19:29:07 -07:00 |
|
Jason Volk
|
fbcd38fa17
|
ircd::fs: Add a preliminary fincore(1)-like tool.
|
2019-04-20 19:24:18 -07:00 |
|
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 |
|