)]}'
{"id":"openvpn~1961","triplet_id":"openvpn~master~I9579ab9a3f588a3841bb90c9a4b930b7690e0b71","project":"openvpn","branch":"master","full_branch":"refs/heads/master","attention_set":{"1000003":{"account":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"last_update":"2026-09-28 16:12:15.000000000","reason":"Reviewer was added"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I9579ab9a3f588a3841bb90c9a4b930b7690e0b71","subject":"mbuf: don\u0027t count dereferenced items in the queue length","status":"NEW","created":"2026-09-28 16:12:15.000000000","updated":"2026-09-28 16:12:15.000000000","submit_type":"CHERRY_PICK","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"2cd7edca5af8f330e96dc24c87ed9359e7280185","_number":1961,"virtual_id_number":1961,"owner":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"actions":{},"labels":{"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"}],"values":{"-2":"This shall not be submitted","-1":"I would prefer this is not submitted as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"}],"CC":[{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-09-28 16:12:15.000000000","updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"real_updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"reviewer":{"_account_id":1000026,"name":"openvpn-devel","email":"openvpn-devel@lists.sourceforge.net","username":"openvpn-devel"},"state":"CC"},{"updated":"2026-09-28 16:12:15.000000000","updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"real_updated_by":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"reviewer":{"_account_id":1000003,"name":"plaisthos","display_name":"Arne Schwabe","email":"arne-openvpn@rfc2549.org","username":"plaisthos"},"state":"REVIEWER"}],"messages":[{"id":"54fac2bc4851833c25ca9e592f20517093efff37","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"date":"2026-09-28 16:12:15.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"ee54ec4336d8a6fd39ebe77b38efef8eb4a56bec","revisions":{"ee54ec4336d8a6fd39ebe77b38efef8eb4a56bec":{"kind":"REWORK","_number":1,"created":"2026-09-28 16:12:15.000000000","uploader":{"_account_id":1000034,"name":"Gianmarco De Gregori","display_name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","username":"its_Giaan"},"ref":"refs/changes/61/1961/1","fetch":{"anonymous http":{"url":"https://gerrit.openvpn.net/openvpn","ref":"refs/changes/61/1961/1","commands":{"Branch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/61/1961/1 \u0026\u0026 git checkout -b change-1961 FETCH_HEAD","Checkout":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/61/1961/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/61/1961/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/61/1961/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://gerrit.openvpn.net/openvpn refs/changes/61/1961/1","Reset To":"git fetch https://gerrit.openvpn.net/openvpn refs/changes/61/1961/1 \u0026\u0026 git reset --hard FETCH_HEAD"}}},"commit":{"parents":[{"commit":"459fcbb252b9c9781d2807f4d44dbfd758a26afa","subject":"dco: stop fetching peer stats during client disconnect"}],"author":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-09-04 15:01:17.000000000","tz":120},"committer":{"name":"Gianmarco De Gregori","email":"gianmarco@mandelbit.com","date":"2026-09-28 13:30:21.000000000","tz":120},"subject":"mbuf: don\u0027t count dereferenced items in the queue length","message":"mbuf: don\u0027t count dereferenced items in the queue length\n\nItems of a closed instance are cleared in place, because head + len is\nthe ring\u0027s insertion point.  mbuf_extract_item() reclaims such holes as\nit walks past them, but nothing does once no live item is left behind\nthem, so ms-\u003elen keeps counting slots that can never be sent.\n\nmbuf_defined() and mbuf_peek() then disagree about whether the queue\nholds anything, and a ring made of nothing but holes still looks full\nto mbuf_add_item(), which tries to make room by dropping the oldest\npacket and finds nothing it can drop.\n\nA UDP socket hides this, as the IOW_MBUF write event reclaims the holes\non its way out; a TCP-only server has nothing that does.\n\nReclaim the holes once they reach the head, so that ms-\u003elen only counts\nwhat can still be sent.\n\nChange-Id: I9579ab9a3f588a3841bb90c9a4b930b7690e0b71\nSigned-off-by: Gianmarco De Gregori \u003cgianmarco@mandelbit.com\u003e\n"},"branch":"refs/heads/master"}},"requirements":[{"status":"NOT_READY","fallback_text":"All required checks must pass","type":"checks_pass"}],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"NOT_READY","labels":[{"label":"Code-Review","status":"NEED"}]},{"rule_name":"checks~ChecksSubmitRule","status":"NOT_READY","requirements":[{"status":"NOT_READY","fallback_text":"All required checks must pass","type":"checks_pass"}]}]}
