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 |
|
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 |
|
Jason Volk
|
254d5ccb50
|
ircd::fs: Add 'all' write option with internal loop.
|
2018-12-18 14:44:25 -08:00 |
|
Jason Volk
|
bb3a68a95e
|
ircd::fs: Handle partial reads internally with 'all' option.
|
2018-12-18 14:44:25 -08:00 |
|
Jason Volk
|
c3cf4c02dd
|
ircd::fs: Use posix iov in AIO interface arguments.
|
2018-12-18 14:21:09 -08:00 |
|
Jason Volk
|
77a84b18d3
|
ircd::fs: Add offset to make_iov() suite.
|
2018-12-18 14:21:09 -08:00 |
|
Jason Volk
|
81ca6fecf4
|
ircd::fs: Add slice usage warning reasons; simplify conditional logic.
|
2018-12-17 16:20:54 -08:00 |
|
Jason Volk
|
a2a66eb314
|
ircd::fs: Deinline various error ctor; simplify various error handling.
|
2018-12-15 20:50:32 -08:00 |
|
Jason Volk
|
2cc7831770
|
ircd::fs: Add option to bypass AIO for specific operations.
|
2018-12-15 18:17:59 -08:00 |
|
Jason Volk
|
c4d5f03725
|
ircd::fs: Add compat interface for range flush()/sync().
|
2018-12-13 18:04:48 -08:00 |
|
Jason Volk
|
5e8d5562da
|
ircd::fs: Simplify interface.
|
2018-12-13 17:46:08 -08:00 |
|
Jason Volk
|
9d423f84d8
|
ircd:;fs: Rename various fsync/sync related.
|
2018-12-13 16:54:09 -08:00 |
|
Jason Volk
|
b80735c575
|
ircd::fs: Add sync()/syncfs().
|
2018-12-12 13:16:47 -08:00 |
|
Jason Volk
|
c156266bd8
|
ircd::fs: Simplify error handling.
|
2018-12-12 13:16:47 -08:00 |
|
Jason Volk
|
638a629151
|
ircd::fs: Translate boost to std for exceptions out of stdin::readline.
|
2018-12-11 14:32:51 -08:00 |
|
Jason Volk
|
45bf911952
|
ircd::conf: Add feature to toggle whether conf item is persisted in a db.
|
2018-12-08 16:27:32 -08:00 |
|
Jason Volk
|
313bffffc2
|
ircd::fs: Add path to error message thrown from ls() et al.
|
2018-12-08 15:50:08 -08:00 |
|
Jason Volk
|
1ba22a21ba
|
ircd: Disperse accumulated global options as conf items in namespaces.
|
2018-12-08 15:36:34 -08:00 |
|
Jason Volk
|
24e423c714
|
ircd::fs: Add support test for fallocate().
|
2018-12-03 12:58:42 -08:00 |
|
Jason Volk
|
47d6fbb35f
|
ircd::fs: Consolidate support tests and indications into namespace.
|
2018-12-03 12:55:52 -08:00 |
|
Jason Volk
|
711dfacd9a
|
ircd::fs: Improve strategy for AIO fsync/fdsync related.
|
2018-12-01 16:10:53 -08:00 |
|
Jason Volk
|
ca525b081f
|
ircd: Add noaio global flag; add command line option.
|
2018-12-01 15:55:53 -08:00 |
|
Jason Volk
|
965ecd16e5
|
ircd::fs: Break apart / improve make_iov() related stack / cleanup typedefs.
|
2018-12-01 15:46:38 -08:00 |
|
Jason Volk
|
2dc36775a8
|
ircd::fs: Check IOV_MAX limits for make_iov().
|
2018-12-01 15:21:06 -08:00 |
|
Jason Volk
|
58d80ddc53
|
ircd::fs: Add option to toggle AIO for fsync related.
|
2018-11-29 10:18:43 -08:00 |
|
Jason Volk
|
44bf18d4df
|
ircd::fs: Integrate read(iov) suite.
|
2018-11-28 17:26:25 -08:00 |
|
Jason Volk
|
466ad228b0
|
ircd::fs: Integrate an overwrite() iov suite.
|
2018-11-28 17:26:06 -08:00 |
|
Jason Volk
|
20fe537409
|
ircd::fs: Integrate append() iov suite.
|
2018-11-28 17:21:28 -08:00 |
|
Jason Volk
|
db36ea6255
|
ircd::fs: fs::write() stack based on pwritev() using iov.
|
2018-11-28 17:10:48 -08:00 |
|
Jason Volk
|
c9b10bd841
|
ircd::fs: Use better typedefs for vector_view of buffers.
|
2018-11-28 17:10:17 -08:00 |
|