Re: Forgotten MFC

From: Tomoaki AOKI <junchoon_at_dec.sakura.ne.jp>
Date: Fri, 11 Apr 2025 19:09:13 UTC
On Fri, 11 Apr 2025 20:49:34 +0300
Artem Bunichev <tembun@bk.ru> wrote:

> Hi all!
> 
> I tried to post this question to freebsd-questions mailing list more than 2
> weeks ago, but I received no answer from there.  So, I decided that this
> list may be a proper place for it.
> 
> To bring in some context: I reported a problem to mailing lists and got an
> answer that it is caused by the fact, that a particular commit (quite an old
> one) has not been MFC'ed to 14-STABLE branch.
> 
> My original message runs:
> -----
> I've been thinking about it and got curious: how did this kind of happened?  As
> far as I know (and read in the Commiter's Guide), MFC'ing is done by manually
> picking some commits and cherry-picking them to another branch (in this case, to
> -STABLE).  Also, a special field in commit message can be set: "MFC after:" to
> get an email which will remind about MFC'ing this commit.  So as I can see, this
> commit didn't have such a field and it simply was missed and forgotten?  It's
> been a while (more than a year, and the longest delay before MFC I personally
> saw is about 1 month) and I wonder would that commit never been MFC'ed into
> 14-STABLE branch if nobody reports about it?  I guess it _would_ be included in
> the upcoming release (branched from -CURRENT), but really curious how would
> that be with -STABLE.  And if it really would be lost, how do developers usually
> deal with that?  Apart from cases when the problems are reported, do they
> manually walk through the commits to pick up some forgotten ones?
> 
> And also I'm interested: what software does the parsing of a commit message for
> "MFC after:" field and schedules the email reminder?  Tried to do some search
> in /usr/src, but didn't find much.
> -----
> 
> I am, myself, not much of a developer, but I'm very interested in FreeBSD and
> want to become more involved in it, so this is just a curiosity of mine - I want
> to understand the process better.
> 
> Thank you,
> Artem

Me, too, not a developer, but you need to specify which commit you mean
to get answers from developer.

And freebsd-stable (for src) or freebsd-ports (for ports/pkgs) ML would
better fit WRT MFC'ings.


Generally, MFCs are done for bugfixes (including security fixes) and
supports for newer hardwares. And sometimes, when related committers
consider it useful and does not violate POLA, new functionalities.

And basically, never done if it violates POLA (introducing
incompatibilities, chaning already-existing behavior, ...).

  *Sometimes missingly done and reverted afterwards.

More, even if the commit itself "looks" OK, in some cases,
prerequiresite commits for it violates POLA, avoiding it to be MEC'ed.

Regards.

-- 
Tomoaki AOKI    <junchoon@dec.sakura.ne.jp>