This neatly avoids a situation where the MDS trims past the segment created for
the `flush journal` command.
Here's what it looks like:
2024-07-30T20:15:51.679+0000
7f70a809a640 1 mds.d asok_command: flush journal {prefix=flush journal} (starting...)
2024-07-30T20:15:51.679+0000
7f70a809a640 10 mds.1.26 handle_asok_command: flush journal
2024-07-30T20:15:51.679+0000
7f70a809a640 20 mds.1.26 send
2024-07-30T20:15:51.679+0000
7f70a809a640 20 mds.1.26 flush_mdlog
2024-07-30T20:15:51.679+0000
7f70a809a640 10 mds.1.cache create_subtree_map 106 subtrees, 105 fullauth
...
2024-07-30T20:15:51.680+0000
7f70a809a640 20 mds.1.log _submit_entry ESubtreeMap 105 subtrees , 0 ambiguous [metablob 0x101, 107 dirs]
2024-07-30T20:15:51.680+0000
7f70a809a640 20 mds.1.log _start_new_segment: seq = 522843 starting new segment LogSegment(522843/0xffffffffffffffff events=0)
...
2024-07-30T20:15:51.686+0000
7f709e887640 20 mds.1.26 handle_clear_mdlog: r=0
2024-07-30T20:15:51.686+0000
7f709e887640 5 mds.1.26 trim_mdlog: beginning segment expiry
2024-07-30T20:15:51.686+0000
7f709e887640 10 mds.1.log trim_to: 522843 23/0/0
...
2024-07-30T20:15:51.858+0000
7f709e887640 20 mds.1.26 expire_segments
2024-07-30T20:15:51.858+0000
7f709e887640 5 mds.1.26 expire_segments: waiting for 22 segments to expire
...
2024-07-30T20:15:52.386+0000
7f70a008a640 20 mds.1.26 handle_expire_segments: r=0
2024-07-30T20:15:52.386+0000
7f70a008a640 20 mds.1.26 trim_segments
2024-07-30T20:15:52.386+0000
7f709e887640 5 mds.1.26 trim_expired_segments: expiry complete, expire_pos/trim_pos is now
22f4c774/
22c00000
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(503314/0x22f4c774 events=649)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(503314/0x22f4c774 events=649)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(503963/0x230019e6 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(503963/0x230019e6 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(504987/0x23119d93 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(504987/0x23119d93 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(506011/0x23234d24 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(506011/0x23234d24 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(507035/0x23392678 events=397)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(507035/0x23392678 events=397)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(507432/0x23400db4 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(507432/0x23400db4 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(508456/0x2351c0af events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(508456/0x2351c0af events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(509480/0x23639df0 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(509480/0x23639df0 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(510504/0x2375912d events=607)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(510504/0x2375912d events=607)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(511111/0x2380290f events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(511111/0x2380290f events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(512135/0x2391b7f3 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(512135/0x2391b7f3 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(513159/0x23a6a15f events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(513159/0x23a6a15f events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(514183/0x23b855e7 events=442)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(514183/0x23b855e7 events=442)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(514625/0x23c01325 events=979)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(514625/0x23c01325 events=979)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(515604/0x23d0e086 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: expiring up to this major segment seq=515604
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(503314/0x22f4c774 events=649)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(503963/0x230019e6 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(504987/0x23119d93 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(506011/0x23234d24 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(507035/0x23392678 events=397)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(507432/0x23400db4 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(508456/0x2351c0af events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(509480/0x23639df0 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(510504/0x2375912d events=607)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(511111/0x2380290f events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(512135/0x2391b7f3 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(513159/0x23a6a15f events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(514183/0x23b855e7 events=442)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(514625/0x23c01325 events=979)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(515604/0x23d0e086 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(516628/0x23e2a879 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(516628/0x23e2a879 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(517652/0x23f47dbf events=665)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(517652/0x23f47dbf events=665)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(518317/0x240007be events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(518317/0x240007be events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(519341/0x2411af83 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(519341/0x2411af83 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(520365/0x24234a83 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(520365/0x24234a83 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(521389/0x24344292 events=691)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(521389/0x24344292 events=691)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(522080/0x24400e24 events=763)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: maybe expiring LogSegment(522080/0x24400e24 events=763)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: examining LogSegment(522843/0x244c4fda events=1)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments: expiring up to this major segment seq=522843
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(515604/0x23d0e086 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(516628/0x23e2a879 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(517652/0x23f47dbf events=665)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(518317/0x240007be events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(519341/0x2411af83 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(520365/0x24234a83 events=1024)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(521389/0x24344292 events=691)
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.log _trim_expired_segments: expiring LogSegment(522080/0x24400e24 events=763)
2024-07-30T20:15:52.386+0000
7f709e887640 10 mds.1.log _trim_expired_segments waiting for expiry LogSegment(522843/0x244c4fda events=1)
2024-07-30T20:15:52.386+0000
7f709e887640 1 -- [v2:127.0.0.1:6872/
1197350146,v1:127.0.0.1:6873/
1197350146] --> [v2:127.0.0.1:6850/
2027314847,v1:127.0.0.1:6851/
2027314847] -- osd_op(unknown.0.26:131573 2.7 2:
ea85266a:::201.
00000000:head [writefull 0~90 [fadvise_dontneed] in=90b] snapc 0=[] ondisk+write+known_if_redirected+full_force+supports_pool_eio e76) -- 0x555daee1ac00 con 0x555da2bc7180
2024-07-30T20:15:52.386+0000
7f709e887640 5 mds.1.26 trim_expired_segments: trim complete, expire_pos/trim_pos is now
244c4fda/
22c00000
2024-07-30T20:15:52.386+0000
7f709e887640 20 mds.1.26 write_journal_head
Related-to: https://tracker.ceph.com/issues/59119
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>