<matrixBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.workflow.support.steps.build.BuildUpstreamCause'><shortDescription>Started by upstream project "gerrit-libosmocore" build number 2,370</shortDescription><upstreamBuild>2370</upstreamBuild><upstreamProject>gerrit-libosmocore</upstreamProject><upstreamUrl>job/gerrit-libosmocore/</upstreamUrl></cause></action><action></action><action></action><action _class='hudson.model.ParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>COMMENT_TYPE</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>DISTRO</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_CHANGE_NUMBER</name><value>42354</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_HOST</name><value>gerrit.osmocom.org</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_NUMBER</name><value>1</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_REVISION</name><value>47a27245a40c974893ff6e197dcabeb4ba0cbac3</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PATCHSET_UPLOADER_NAME</name><value>pespin</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PORT</name><value>29418</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_PROJECT</name><value>libosmocore</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REFSPEC</name><value>refs/changes/54/42354/1</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GERRIT_REPO_URL</name><value>ssh://jenkins@gerrit.osmocom.org:29418/libosmocore</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PIPELINE_BUILD_URL</name><value>https://jenkins.osmocom.org/jenkins/job/gerrit-libosmocore/2370/</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>PROJECT_NAME</name><value>libosmocore</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>BRANCH_CI</name><value>master</value></parameter></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>0</buildableDurationMillis><buildableTimeMillis>0</buildableTimeMillis><buildingDurationMillis>183807</buildingDurationMillis><executingTimeMillis>183807</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>7331</waitingDurationMillis><waitingTimeMillis>7331</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><osmith1.9.1 _class='hudson.plugins.git.util.Build'><buildNumber>1315</buildNumber><marked><SHA1>197248107c5c2007b44c4df1bec011e6c1754cda</SHA1><branch><SHA1>197248107c5c2007b44c4df1bec011e6c1754cda</SHA1><name>osmith/1.9.1</name></branch></marked><revision><SHA1>197248107c5c2007b44c4df1bec011e6c1754cda</SHA1><branch><SHA1>197248107c5c2007b44c4df1bec011e6c1754cda</SHA1><name>osmith/1.9.1</name></branch></revision></osmith1.9.1><pespinrel-1.12.0 _class='hudson.plugins.git.util.Build'><buildNumber>2156</buildNumber><marked><SHA1>d38417e5965ae02eaffdd87d281098f30105b8b7</SHA1><branch><SHA1>d38417e5965ae02eaffdd87d281098f30105b8b7</SHA1><name>pespin/rel-1.12.0</name></branch></marked><revision><SHA1>d38417e5965ae02eaffdd87d281098f30105b8b7</SHA1><branch><SHA1>d38417e5965ae02eaffdd87d281098f30105b8b7</SHA1><name>pespin/rel-1.12.0</name></branch></revision></pespinrel-1.12.0><osmith1.9.2 _class='hudson.plugins.git.util.Build'><buildNumber>1319</buildNumber><marked><SHA1>3f0bbe398e16513906d29802d058a87655fceaf1</SHA1><branch><SHA1>3f0bbe398e16513906d29802d058a87655fceaf1</SHA1><name>osmith/1.9.2</name></branch></marked><revision><SHA1>3f0bbe398e16513906d29802d058a87655fceaf1</SHA1><branch><SHA1>3f0bbe398e16513906d29802d058a87655fceaf1</SHA1><name>osmith/1.9.2</name></branch></revision></osmith1.9.2><osmithwip _class='hudson.plugins.git.util.Build'><buildNumber>1773</buildNumber><marked><SHA1>aa177c0f4457df953e3e6e121e8806a4cf403d72</SHA1><branch><SHA1>aa177c0f4457df953e3e6e121e8806a4cf403d72</SHA1><name>osmith/wip</name></branch></marked><revision><SHA1>aa177c0f4457df953e3e6e121e8806a4cf403d72</SHA1><branch><SHA1>aa177c0f4457df953e3e6e121e8806a4cf403d72</SHA1><name>osmith/wip</name></branch></revision></osmithwip><pespinrel-1.10.0 _class='hudson.plugins.git.util.Build'><buildNumber>1877</buildNumber><marked><SHA1>a32a6ee4a6532e0c1d358ecebb8f13b8acc75dc1</SHA1><branch><SHA1>a32a6ee4a6532e0c1d358ecebb8f13b8acc75dc1</SHA1><name>pespin/rel-1.10.0</name></branch></marked><revision><SHA1>a32a6ee4a6532e0c1d358ecebb8f13b8acc75dc1</SHA1><branch><SHA1>a32a6ee4a6532e0c1d358ecebb8f13b8acc75dc1</SHA1><name>pespin/rel-1.10.0</name></branch></revision></pespinrel-1.10.0><osmith1.11.2 _class='hudson.plugins.git.util.Build'><buildNumber>2093</buildNumber><marked><SHA1>22a11a35e3feec31b86738d19f3d85406feb099a</SHA1><branch><SHA1>22a11a35e3feec31b86738d19f3d85406feb099a</SHA1><name>osmith/1.11.2</name></branch></marked><revision><SHA1>22a11a35e3feec31b86738d19f3d85406feb099a</SHA1><branch><SHA1>22a11a35e3feec31b86738d19f3d85406feb099a</SHA1><name>osmith/1.11.2</name></branch></revision></osmith1.11.2><osmith1.11.3 _class='hudson.plugins.git.util.Build'><buildNumber>2118</buildNumber><marked><SHA1>17ca3339e13d779a330781334e92f48d7ea87d36</SHA1><branch><SHA1>17ca3339e13d779a330781334e92f48d7ea87d36</SHA1><name>osmith/1.11.3</name></branch></marked><revision><SHA1>17ca3339e13d779a330781334e92f48d7ea87d36</SHA1><branch><SHA1>17ca3339e13d779a330781334e92f48d7ea87d36</SHA1><name>osmith/1.11.3</name></branch></revision></osmith1.11.3><rel-1.9.1 _class='hudson.plugins.git.util.Build'><buildNumber>1740</buildNumber><marked><SHA1>3a1bb866bbc481b379034723ede51a2e4e8b9c65</SHA1><branch><SHA1>3a1bb866bbc481b379034723ede51a2e4e8b9c65</SHA1><name>rel-1.9.1</name></branch></marked><revision><SHA1>3a1bb866bbc481b379034723ede51a2e4e8b9c65</SHA1><branch><SHA1>3a1bb866bbc481b379034723ede51a2e4e8b9c65</SHA1><name>rel-1.9.1</name></branch></revision></rel-1.9.1><arehbeinosmo_io_ipa _class='hudson.plugins.git.util.Build'><buildNumber>833</buildNumber><marked><SHA1>d75a0cca8117b609da75111388bf8baea5dac0a5</SHA1><branch><SHA1>d75a0cca8117b609da75111388bf8baea5dac0a5</SHA1><name>arehbein/osmo_io_ipa</name></branch></marked><revision><SHA1>d75a0cca8117b609da75111388bf8baea5dac0a5</SHA1><branch><SHA1>d75a0cca8117b609da75111388bf8baea5dac0a5</SHA1><name>arehbein/osmo_io_ipa</name></branch></revision></arehbeinosmo_io_ipa><rel-1.11.1 _class='hudson.plugins.git.util.Build'><buildNumber>1946</buildNumber><marked><SHA1>87de74a9f5835fb56a4758860aea3e673c29060e</SHA1><branch><SHA1>87de74a9f5835fb56a4758860aea3e673c29060e</SHA1><name>rel-1.11.1</name></branch></marked><revision><SHA1>87de74a9f5835fb56a4758860aea3e673c29060e</SHA1><branch><SHA1>87de74a9f5835fb56a4758860aea3e673c29060e</SHA1><name>rel-1.11.1</name></branch></revision></rel-1.11.1><rel-1.9.3 _class='hudson.plugins.git.util.Build'><buildNumber>1743</buildNumber><marked><SHA1>55ea51049775e623880f62026ad827f580aec7a2</SHA1><branch><SHA1>55ea51049775e623880f62026ad827f580aec7a2</SHA1><name>rel-1.9.3</name></branch></marked><revision><SHA1>55ea51049775e623880f62026ad827f580aec7a2</SHA1><branch><SHA1>55ea51049775e623880f62026ad827f580aec7a2</SHA1><name>rel-1.9.3</name></branch></revision></rel-1.9.3><master _class='hudson.plugins.git.util.Build'><buildNumber>2371</buildNumber><marked><SHA1>47a27245a40c974893ff6e197dcabeb4ba0cbac3</SHA1><branch><SHA1>47a27245a40c974893ff6e197dcabeb4ba0cbac3</SHA1><name>master</name></branch></marked><revision><SHA1>47a27245a40c974893ff6e197dcabeb4ba0cbac3</SHA1><branch><SHA1>47a27245a40c974893ff6e197dcabeb4ba0cbac3</SHA1><name>master</name></branch></revision></master></buildsByBranchName><lastBuiltRevision><SHA1>47a27245a40c974893ff6e197dcabeb4ba0cbac3</SHA1><branch><SHA1>47a27245a40c974893ff6e197dcabeb4ba0cbac3</SHA1><name>master</name></branch></lastBuiltRevision><remoteUrl>ssh://jenkins@gerrit.osmocom.org:29418/libosmocore</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#2371</displayName><duration>183807</duration><estimatedDuration>180383</estimatedDuration><fullDisplayName>gerrit-libosmocore-build #2371</fullDisplayName><id>2371</id><inProgress>false</inProgress><keepLog>false</keepLog><number>2371</number><queueId>58538</queueId><result>SUCCESS</result><timestamp>1773423850601</timestamp><url>https://jenkins.osmocom.org/jenkins/job/gerrit-libosmocore-build/2371/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/core/osmo_io.c</affectedPath><commitId>47a27245a40c974893ff6e197dcabeb4ba0cbac3</commitId><timestamp>1773423628000</timestamp><author><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pespin</absoluteUrl><fullName>Pau Espin Pedrol</fullName></author><authorEmail>pespin@sysmocom.de</authorEmail><comment>osmo_io: Rewrite iofd_handle_send_completion() to fix multiple issues

Previous implementation had multiple issues, which this patch addresses:
* Didn't call user cb updating completed bytes for a given msg which had
  a partial write.
* rc checks against "Incomplete write" were wrong, because rc was not
  being decremented with previous msgs idxs being processed.
* Didn't take into account the write(0, fd, buf) = 0 valid user case for
  regular files.

The rewrite also simplifies the logic by splitting the "rc &lt; 0" (error) paths
from the "rc &gt;= 0" (successful) paths.

Related: SYS#7842
Change-Id: Ia016e4df7be5e534a8212f7271caff9779e08eb1
</comment><date>2026-03-13 18:40:28 +0100</date><id>47a27245a40c974893ff6e197dcabeb4ba0cbac3</id><msg>osmo_io: Rewrite iofd_handle_send_completion() to fix multiple issues</msg><path><editType>edit</editType><file>src/core/osmo_io.c</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.osmocom.org/jenkins/user/pespin</absoluteUrl><fullName>Pau Espin Pedrol</fullName></culprit><run><number>2371</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-libosmocore-build/a2=default,a3=default,a4=default,arch=amd64,label=io_uring/2371/</url></run><run><number>2371</number><url>https://jenkins.osmocom.org/jenkins/job/gerrit-libosmocore-build/a2=default,a3=default,a4=default,arch=arm-none-eabi,label=io_uring/2371/</url></run></matrixBuild>