mirror of
https://github.com/trapexit/mergerfs.git
synced 2026-10-25 18:40:18 -04:00
Commit graph
Select branches
Hide pull requests
allocs
bespoke-policies
bespoke-policies2
c++11
clonefd
debug-output
docs-inotify
docstest
enotconn
export
follow-symlinks
foo
getattr
getattr-cache
getattr2
gh-pages
hash
hidden_files
ioctl-free
latest-release
libfuse-cxx
locks
manpage
master
memdebug
mfm
mmaptests
mtab
nfsdebug
nix-debugging
nobranches
node-size
optional
passthrough
passthrough-depth
passthrough-depth2
passthrough2
passthrough_debug
paths
read-failover
read-failover2
readdir
revert-1163-thread-defaults
revert-1345-latest-release
rmdir-errors
rootfd
rpmalloc
slab-maintenance
splice
splice-spin
splice2
stuff
test
threadpool
toggle-debug
toml
toml4
trapexit-patch-1
webui
webui-rebase
#100
#1005
#1007
#1008
#101
#1019
#1020
#1023
#1024
#1025
#1026
#1031
#1032
#1039
#1045
#1057
#1058
#106
#1074
#108
#1085
#1087
#1089
#109
#1091
#1092
#1093
#1104
#1105
#1106
#1107
#1109
#111
#1116
#1118
#1119
#112
#1120
#1123
#1124
#1125
#1126
#1127
#1128
#1129
#113
#1130
#1131
#1133
#1137
#1139
#114
#1140
#1142
#1143
#1145
#1146
#1147
#1149
#1150
#1151
#1153
#1154
#1155
#1156
#1159
#1161
#1163
#1165
#1166
#1170
#1171
#118
#1189
#119
#1191
#120
#1203
#1204
#1206
#1207
#1208
#1209
#121
#1212
#1213
#1219
#122
#1220
#1224
#1225
#1226
#1227
#1228
#1231
#1232
#1233
#1234
#1235
#1237
#1238
#1239
#1240
#1241
#1242
#1244
#1249
#125
#1254
#126
#1262
#1263
#1269
#1271
#1275
#1276
#1277
#1280
#1283
#1289
#1294
#1295
#1298
#1299
#1305
#1306
#1307
#1308
#1309
#1312
#1315
#1320
#1321
#1323
#1342
#1345
#1346
#135
#136
#137
#1377
#138
#1382
#1386
#1387
#1388
#1389
#139
#1390
#1391
#1392
#1395
#1397
#1398
#1399
#1402
#1407
#1408
#1409
#1410
#1412
#1413
#1414
#1415
#1416
#1423
#1425
#1426
#1429
#1431
#1433
#1434
#1435
#1438
#1439
#144
#1441
#1443
#1444
#1445
#1447
#1448
#1449
#145
#1450
#1453
#1455
#1456
#1457
#1458
#1459
#1462
#1463
#1464
#1466
#1467
#147
#1470
#1472
#1473
#1476
#1477
#1479
#1483
#1484
#1485
#1486
#1488
#1489
#1491
#1492
#1493
#1494
#1495
#1495
#1498
#1499
#1500
#1501
#1502
#1502
#1503
#1504
#1505
#1506
#1507
#1508
#1509
#151
#1512
#1513
#1514
#1515
#1516
#1518
#1519
#152
#1520
#1522
#1523
#1524
#1525
#1527
#1528
#1529
#1530
#1531
#1532
#1533
#1534
#1535
#1536
#1537
#1538
#1540
#1541
#1542
#1543
#1544
#1547
#1549
#155
#1550
#1551
#1552
#1553
#1554
#1555
#1556
#1557
#1559
#156
#1560
#1561
#1563
#1564
#1566
#1567
#1568
#1569
#157
#1570
#1573
#1574
#1575
#1577
#1578
#158
#1580
#1582
#1583
#1584
#1585
#159
#1590
#1591
#1592
#1593
#1595
#1598
#160
#1600
#1601
#1603
#1604
#1605
#1609
#1610
#1612
#1613
#1614
#1616
#1617
#1618
#1619
#162
#1620
#1621
#1623
#1624
#1625
#1626
#1627
#1628
#1629
#163
#1630
#1631
#1632
#1633
#1634
#1636
#1637
#1638
#1639
#164
#1640
#1641
#1642
#1643
#1644
#1647
#1648
#1649
#165
#1650
#1651
#1652
#1653
#1654
#1656
#1657
#1658
#1659
#166
#1660
#1661
#1663
#1664
#1666
#1667
#1668
#1669
#167
#1670
#1671
#1671
#1672
#1672
#1674
#1677
#1678
#1678
#168
#1680
#1681
#1682
#1683
#1685
#169
#171
#172
#177
#178
#178
#179
#180
#185
#190
#191
#192
#195
#196
#197
#199
#200
#201
#203
#205
#206
#207
#208
#210
#211
#212
#215
#218
#219
#220
#222
#223
#225
#226
#227
#228
#230
#231
#232
#233
#234
#235
#237
#238
#240
#241
#242
#243
#244
#245
#247
#249
#250
#251
#256
#257
#258
#259
#262
#263
#265
#266
#268
#269
#270
#271
#272
#274
#275
#278
#279
#280
#281
#285
#288
#290
#291
#293
#294
#296
#297
#298
#299
#30
#300
#301
#304
#305
#309
#31
#313
#314
#315
#316
#317
#318
#320
#321
#324
#325
#327
#328
#329
#330
#331
#331
#333
#334
#336
#34
#340
#341
#348
#349
#35
#350
#351
#352
#36
#360
#361
#362
#365
#37
#37
#371
#371
#372
#374
#376
#378
#379
#382
#383
#384
#385
#386
#387
#388
#389
#39
#390
#391
#392
#393
#394
#395
#396
#397
#398
#399
#400
#402
#403
#405
#409
#412
#415
#416
#418
#42
#420
#421
#422
#423
#424
#428
#429
#433
#434
#435
#44
#445
#449
#45
#450
#451
#452
#454
#46
#461
#469
#47
#471
#472
#473
#474
#475
#482
#49
#491
#493
#494
#495
#496
#499
#503
#503
#504
#505
#506
#509
#51
#510
#511
#513
#514
#515
#516
#517
#518
#520
#525
#527
#528
#529
#530
#531
#533
#534
#537
#539
#543
#544
#549
#55
#550
#552
#555
#556
#558
#559
#56
#563
#564
#565
#567
#568
#57
#574
#575
#577
#579
#580
#581
#582
#583
#584
#585
#586
#589
#591
#592
#593
#599
#60
#601
#603
#605
#609
#61
#610
#611
#615
#617
#619
#62
#620
#621
#622
#623
#624
#627
#628
#629
#63
#630
#632
#633
#635
#636
#639
#643
#653
#655
#657
#659
#66
#660
#662
#663
#668
#669
#67
#675
#677
#684
#685
#689
#69
#694
#697
#699
#70
#700
#701
#705
#706
#707
#710
#711
#716
#720
#722
#723
#726
#729
#730
#737
#74
#741
#749
#75
#754
#755
#758
#76
#762
#763
#766
#767
#77
#774
#775
#776
#777
#779
#78
#780
#781
#782
#783
#784
#786
#787
#789
#79
#790
#791
#792
#794
#795
#796
#797
#798
#80
#800
#805
#806
#807
#808
#809
#81
#810
#813
#814
#815
#817
#818
#819
#821
#825
#827
#828
#83
#831
#832
#833
#834
#835
#837
#843
#844
#845
#85
#851
#854
#855
#856
#857
#858
#86
#860
#865
#87
#870
#871
#876
#878
#880
#883
#884
#888
#889
#89
#891
#913
#914
#92
#923
#924
#926
#93
#938
#939
#94
#940
#944
#945
#95
#951
#953
#954
#955
#956
#957
#959
#96
#964
#966
#967
#968
#969
#97
#972
#975
#977
#978
#979
#98
#984
#99
#991
#997
1.0.0
1.0.1
1.0.2
1.1.0
1.2.0
1.2.1
1.2.2
1.2.3
1.2.4
1.3.0
1.4.0
1.4.1
1.5.0
1.5.1
1.6.0
1.7.0
1.7.1
2.0.0
2.0.1
2.1.0
2.1.1
2.1.2
2.10.0
2.11.0
2.12.0
2.12.1
2.12.2
2.12.3
2.13.0
2.13.1
2.14.0
2.15.0
2.16.0
2.16.1
2.17.0
2.18.0
2.19.0
2.2.0
2.20.0
2.21.0
2.22.0
2.22.1
2.23.0
2.23.1
2.24.0
2.24.1
2.24.2
2.25.0
2.25.1
2.26.0
2.26.1
2.26.2
2.27.0
2.27.1
2.28.0
2.28.1
2.28.2
2.28.3
2.29.0
2.3.0
2.30.0
2.31.0
2.32.0
2.32.1
2.32.2
2.32.3
2.32.4
2.32.5
2.32.6
2.33.0
2.33.1
2.33.2
2.33.3
2.33.4
2.33.5
2.34.0
2.34.1
2.35.0
2.35.1
2.36.0
2.37.0
2.37.1
2.38.0
2.38.1
2.39.0
2.4.0
2.40.0
2.40.1
2.40.2
2.41.0
2.41.1
2.42.0
2.5.0
2.6.0
2.7.0
2.8.0
2.9.0
2.9.1
-
e55bf1829b
thread_pool: skip _remove_thread_scaling_locked during shutdown
Antonio S. Musumeci
2026-04-18 17:50:30 -04:00 -
1b158549b8
thread_pool: document shutdown contract
Antonio S. Musumeci
2026-04-18 17:49:43 -04:00 -
fbf69071d2
thread_pool: use acquire ordering in tasks_pending for weak memory
Antonio S. Musumeci
2026-04-18 17:48:46 -04:00 -
17c0ffaddc
thread_pool: remove dead code and fix stale comment
Antonio S. Musumeci
2026-04-18 17:47:49 -04:00 -
da68cf3a85
Formatting: normalize brace style and parameter alignment
Antonio S. Musumeci
2026-04-18 01:01:00 -04:00 -
ec40866091
libfuse: small safety and portability fixes across opt/cpu/fusermount/maintenance_thread
Antonio S. Musumeci
2026-04-18 01:00:51 -04:00 -
bd0714272e
libfuse: thread_pool/objpool/fuse_loop - safer memory and iteration
Antonio S. Musumeci
2026-04-18 01:00:32 -04:00 -
27acd9fcc7
libfuse: use atomic fuse_session pointer in signal handler
Antonio S. Musumeci
2026-04-18 01:00:19 -04:00 -
4516685ca7
libfuse: harden fuse.cpp against NULL nodes; use lock guards; check allocations
Antonio S. Musumeci
2026-04-18 01:00:11 -04:00 -
0bdbaf1d6c
libfuse: remove userdata from init/destroy APIs; drop unused fuse_reply_ioctl_iov
Antonio S. Musumeci
2026-04-18 00:59:52 -04:00 -
e67b7d0825
log: default debug log path to empty; skip set when empty
Antonio S. Musumeci
2026-04-18 00:59:08 -04:00 -
981d5473ee
str: null-safe same() and startswith()
Antonio S. Musumeci
2026-04-18 00:59:00 -04:00 -
364f8c4407
fs_movefile_and_open: -ENOSPC when no destination branch available
Antonio S. Musumeci
2026-04-18 00:58:51 -04:00 -
ef9c7ad5df
fuse_statfs: scale with long double to avoid integer overflow
Antonio S. Musumeci
2026-04-18 00:58:43 -04:00 -
4288a60c5d
fuse_readlink: always null-terminate buffer
Antonio S. Musumeci
2026-04-18 00:58:28 -04:00 -
cf38a37176
fuse_readdir: atomic initialized flag; bound error string; check msgbuf allocation
Antonio S. Musumeci
2026-04-18 00:58:06 -04:00 -
f5d9a60b9d
fuse_getattr/statx: populate timeouts in fake_root and controlfile replies
Antonio S. Musumeci
2026-04-18 00:57:31 -04:00 -
0c17492c78
FUSE: pass Branches::Ptr by value with empty-branches guards
Antonio S. Musumeci
2026-04-18 00:56:15 -04:00 -
98648ae44b
FUSE: require valid file/dir handle; drop open_files fallback
Antonio S. Musumeci
2026-04-18 00:53:11 -04:00 -
0dcca0f1a3
branches: re-link default_minfreespace pointer on copy/move; atomically publish branch mode changes
Antonio S. Musumeci
2026-04-18 00:45:32 -04:00 -
103cd358f2
state: atomic ref_count in OpenFile
Antonio S. Musumeci
2026-04-18 00:45:23 -04:00 -
aa46001923
Remove unused rwlock.hpp header and includes
Antonio S. Musumeci
2026-04-18 00:45:12 -04:00 -
8812435880
Formatting: normalize brace style and parameter alignment
Antonio S. Musumeci
2026-04-18 01:01:00 -04:00 -
861d52ceb3
libfuse: small safety and portability fixes across opt/cpu/fusermount/maintenance_thread
Antonio S. Musumeci
2026-04-18 01:00:51 -04:00 -
a5043d801a
libfuse: thread_pool/objpool/fuse_loop - safer memory and iteration
Antonio S. Musumeci
2026-04-18 01:00:32 -04:00 -
23ec04cc5d
libfuse: use atomic fuse_session pointer in signal handler
Antonio S. Musumeci
2026-04-18 01:00:19 -04:00 -
148cc7fa02
libfuse: harden fuse.cpp against NULL nodes; use lock guards; check allocations
Antonio S. Musumeci
2026-04-18 01:00:11 -04:00 -
3c12ea3a5f
libfuse: remove userdata from init/destroy APIs; drop unused fuse_reply_ioctl_iov
Antonio S. Musumeci
2026-04-18 00:59:52 -04:00 -
e1fe849f43
log: default debug log path to empty; skip set when empty
Antonio S. Musumeci
2026-04-18 00:59:08 -04:00 -
6834a4e078
str: null-safe same() and startswith()
Antonio S. Musumeci
2026-04-18 00:59:00 -04:00 -
1c5db05681
fs_movefile_and_open: -ENOSPC when no destination branch available
Antonio S. Musumeci
2026-04-18 00:58:51 -04:00 -
f0f1aaf45c
fuse_statfs: scale with long double to avoid integer overflow
Antonio S. Musumeci
2026-04-18 00:58:43 -04:00 -
02a1b2d014
fuse_readlink: always null-terminate buffer
Antonio S. Musumeci
2026-04-18 00:58:28 -04:00 -
1e8e313db0
fuse_readdir: atomic initialized flag; bound error string; check msgbuf allocation
Antonio S. Musumeci
2026-04-18 00:58:06 -04:00 -
524acacadb
fuse_getattr/statx: populate timeouts in fake_root and controlfile replies
Antonio S. Musumeci
2026-04-18 00:57:31 -04:00 -
1a6f4ad309
FUSE: pass Branches::Ptr by value with empty-branches guards
Antonio S. Musumeci
2026-04-18 00:56:15 -04:00 -
4d813d4c0f
FUSE: require valid file/dir handle; drop open_files fallback
Antonio S. Musumeci
2026-04-18 00:53:11 -04:00 -
da3cb9ae56
branches: re-link default_minfreespace pointer on copy/move; atomically publish branch mode changes
Antonio S. Musumeci
2026-04-18 00:45:32 -04:00 -
deba02e3d3
state: atomic ref_count in OpenFile
Antonio S. Musumeci
2026-04-18 00:45:23 -04:00 -
e5c90cb5fe
Remove unused rwlock.hpp header and includes
Antonio S. Musumeci
2026-04-18 00:45:12 -04:00 -
ff48ff6047
Handle/ignore SIGHUP
Antonio SJ Musumeci
2026-04-17 11:03:49 -05:00 -
6518ad4a1b
Handle/ignore SIGHUP
Antonio SJ Musumeci
2026-04-17 11:03:49 -05:00 -
d5a2187713
Fix make race condition
Antonio SJ Musumeci
2026-04-16 13:07:41 -05:00 -
b80d040447
Fix make race condition
Antonio SJ Musumeci
2026-04-16 13:07:41 -05:00 -
351adc2b20
Add tests for HashSet, rapidhash withSeed consistency, and ReaddirCalc parity with calc
Antonio S. Musumeci
2026-04-10 22:11:50 -04:00 -
a1e681f36b
Use ReaddirCalc in all readdir implementations
Antonio S. Musumeci
2026-04-10 22:05:07 -04:00 -
e3a467de80
Refactor fs_inode
Antonio S. Musumeci
2026-04-10 22:04:57 -04:00 -
cdadda5eb9
Replace khash with custom hash set
Antonio S. Musumeci
2026-04-10 22:04:50 -04:00 -
4c9a9d7e15
Upgrade rapidhash
Antonio SJ Musumeci
2026-04-12 21:57:34 -05:00 -
cf57bcf698
Add tests for HashSet, rapidhash withSeed consistency, and ReaddirCalc parity with calc
Antonio S. Musumeci
2026-04-10 22:11:50 -04:00 -
83c3938fb3
Use ReaddirCalc in all readdir implementations
Antonio S. Musumeci
2026-04-10 22:05:07 -04:00 -
c2bc707b4e
Refactor fs_inode
Antonio S. Musumeci
2026-04-10 22:04:57 -04:00 -
e721dc6c87
Replace khash with custom hash set
Antonio S. Musumeci
2026-04-10 22:04:50 -04:00 -
9f4b967d66
Upgrade rapidhash
Antonio SJ Musumeci
2026-04-12 21:57:34 -05:00 -
b8b97ffeca
checkpoint
Antonio S. Musumeci
2026-04-11 17:17:26 -04:00 -
118f2e767e
checkpoint
Antonio S. Musumeci
2026-04-11 15:06:41 -04:00 -
5f2972278a
checkpoint
Antonio S. Musumeci
2026-04-11 14:15:44 -04:00 -
8ef23782f6
checkpoint
Antonio S. Musumeci
2026-04-11 13:46:57 -04:00 -
425e30b50f
Use nanosleep rather than yield and return EINTR
Antonio SJ Musumeci
2026-04-09 16:14:17 -05:00 -
adca612e43
checkpoint
Antonio S. Musumeci
2026-04-11 12:30:30 -04:00 -
31d345529d
Use nanosleep rather than yield and return EINTR
Antonio SJ Musumeci
2026-04-09 16:14:17 -05:00 -
9446f784a9
checkpoint
Antonio S. Musumeci
2026-04-11 00:59:30 -04:00 -
890b899219
fix stale line-number reference in monitor comment
Antonio S. Musumeci
2026-04-10 22:31:00 -04:00 -
81e8f6281a
fix data race on _threads between constructor and autoscale workers
Antonio S. Musumeci
2026-04-10 22:24:14 -04:00 -
26c10d8a2e
fix hill-climb monitor expected_count after shrink
Antonio S. Musumeci
2026-04-10 22:21:20 -04:00 -
5f50f76b66
fix idle self-exit allowing pool to drain to 0 threads
Antonio S. Musumeci
2026-04-10 22:18:23 -04:00 -
f3b4703ee2
fix constructor resource leak and monitor condvar lost-wakeup race
Antonio S. Musumeci
2026-04-10 22:15:35 -04:00 -
12a3a689ed
fix tasks_pending() load ordering to bias toward zero as intended
Antonio S. Musumeci
2026-04-10 22:12:02 -04:00 -
911d31c04e
checkpoint
Antonio S. Musumeci
2026-04-10 22:09:11 -04:00 -
ea2d08ae4d
checkpoint
Antonio S. Musumeci
2026-04-10 22:00:43 -04:00 -
37bb632524
checkpoint
Antonio S. Musumeci
2026-04-10 21:58:00 -04:00 -
aff4ea1f01
checkpoint
Antonio S. Musumeci
2026-04-10 21:32:14 -04:00 -
b210680bad
checkpoint
Antonio S. Musumeci
2026-04-10 20:37:44 -04:00 -
51f803ca9c
checkpoint
Antonio S. Musumeci
2026-04-10 19:44:23 -04:00 -
36a16249ac
checkpoint
Antonio S. Musumeci
2026-04-10 19:31:10 -04:00 -
bd56969399
checkpoint
Antonio S. Musumeci
2026-04-10 19:17:04 -04:00 -
7ce5364c35
thread_pool: extract _try_claim_removal to deduplicate CAS loop
Antonio S. Musumeci
2026-04-10 18:46:48 -04:00 -
2d3528431b
thread_pool: use producer token on fast path of enqueue_work_autoscale
Antonio S. Musumeci
2026-04-10 18:20:14 -04:00 -
375f1f9303
thread_pool: measure cooldown from completion in _maybe_grow_on_pressure
Antonio S. Musumeci
2026-04-10 17:34:22 -04:00 -
159a5c7b71
thread_pool: skip spurious wakeups in hill-climb monitor
Antonio S. Musumeci
2026-04-10 17:32:51 -04:00 -
c43a14f269
thread_pool: close TOCTOU in set_threads by reading _remove_count under lock
Antonio S. Musumeci
2026-04-10 17:29:07 -04:00 -
06a2ba2f35
thread_pool: use acquire ordering in tasks_pending for ARM/POWER
Antonio S. Musumeci
2026-04-10 16:48:19 -04:00 -
05413b86fd
thread_pool: serialize idle self-exit with scaling operations
Antonio S. Musumeci
2026-04-10 16:46:01 -04:00 -
dbb7c5e785
thread_pool: close TOCTOU race in _remove_thread_scaling_locked
Antonio S. Musumeci
2026-04-10 16:44:53 -04:00 -
f9e36b3889
thread_pool: replace assert with runtime check in enqueue_work_autoscale
Antonio S. Musumeci
2026-04-10 16:44:18 -04:00 -
bc3a0ed8d6
thread_pool: snapshot min_threads before _try_remove_self_if_above call
Antonio S. Musumeci
2026-04-10 16:38:39 -04:00 -
13f56e6ea1
thread_pool: store scaling config by value
Antonio S. Musumeci
2026-04-10 16:23:08 -04:00 -
d1bcde3753
Fix thread pool shutdown race
Antonio S. Musumeci
2026-04-10 14:18:02 -04:00 -
462020d19a
Make _scaling_config const to enforce write-once invariant
Antonio S. Musumeci
2026-04-10 13:44:27 -04:00 -
0a0c82c224
Document thread-safety of _scaling_config and _autoscale_enabled
Antonio S. Musumeci
2026-04-10 13:42:49 -04:00 -
65e136c667
Document why relaxed ordering is correct for _remove_count CAS
Antonio S. Musumeci
2026-04-10 13:41:06 -04:00 -
02703ef239
Apply cooldown backoff on pthread_create failure
Antonio S. Musumeci
2026-04-10 13:34:34 -04:00 -
1dd979f955
Reset hill-climb warmup after idle period to re-seed EMA
Antonio S. Musumeci
2026-04-10 13:25:33 -04:00 -
47a097ee96
Use condvar for monitor sleep to allow instant shutdown wakeup
Antonio S. Musumeci
2026-04-10 13:14:34 -04:00 -
a90e13a19d
Fix set_threads over-shrink when prior removals are still pending
Antonio S. Musumeci
2026-04-10 12:59:16 -04:00 -
62d905bb29
Fix monitor/fast-path cooldown race in hill-climb scaling
Antonio S. Musumeci
2026-04-10 12:56:51 -04:00 -
4d35726fc6
Assert try_enqueue does not move-from callable on failure
Antonio S. Musumeci
2026-04-10 12:40:43 -04:00 -
ea47934c63
Fix idle pool stall when shrinking via _remove_count
Antonio S. Musumeci
2026-04-10 12:39:30 -04:00 -
ec024b246a
Load completed before enqueued in tasks_pending to bias low
Antonio S. Musumeci
2026-04-10 12:06:51 -04:00 -
80af7ffcc0
Drain _remove_count in destructor before sending poison pills
Antonio S. Musumeci
2026-04-10 11:46:59 -04:00