]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw/d3n: fix valgrind invalid read during exit 63352/head
authorMark Kogan <mkogan@ibm.com>
Mon, 19 May 2025 14:52:42 +0000 (14:52 +0000)
committerMark Kogan <mkogan@ibm.com>
Mon, 19 May 2025 14:59:44 +0000 (14:59 +0000)
The valgrind indication is a false positive in this case, is seems there is a race of memory read and free of the libaio and aio kernel threads which had not timer-d out yet during exit()

reducing the aio_idle_time timeout to mitigate

```
man aio_init
...
aio_idle_time
This field specifies the amount of time in seconds that a worker thread
should wait for further requests before terminating, after having
completed a previous request.   The
default value is 1.
...
```

Fixes: https://tracker.ceph.com/issues/64835
Signed-off-by: Mark Kogan <mkogan@ibm.com>
src/rgw/driver/rados/rgw_d3n_datacache.cc

index 851a6cbaba9c7d0f1300069d64df0081b232bc0d..7a0440108e1083bf13754016145d96d278774a14 100644 (file)
@@ -106,7 +106,7 @@ void D3nDataCache::init(CephContext *_cct) {
   struct aioinit ainit{0};
   ainit.aio_threads = cct->_conf.get_val<int64_t>("rgw_d3n_libaio_aio_threads");
   ainit.aio_num = cct->_conf.get_val<int64_t>("rgw_d3n_libaio_aio_num");
-  ainit.aio_idle_time = 5;
+  ainit.aio_idle_time = 2;
   aio_init(&ainit);
 #endif
 }