[systemd-devel] Preferred way to recurse over a directory?

Luca Boccassi bluca at debian.org
Wed Sep 15 11:17:43 UTC 2021


On Wed, 2021-09-15 at 10:43 +0200, Lennart Poettering wrote:
> On Di, 14.09.21 23:26, Albert Brox (albert at exypno.tech) wrote:
> 
> > I'm working on PR #20239 loadcred-dir and wondering what the preferred way
> > to recurse over a directory is.
> > 
> > I was told recursively calling the `load_credential` function is too racy so
> > I'm led to ftw/nftw. However I see in the TODO file, "Get rid of nftw(). We
> > should refuse to use such useless APIs on principle." Can anyone point me in
> > the right direction?
> 
> Do your own recursion, use xopendirat() to get a subdir fd from a dir
> fd, and then call your funciton on that, always iterating with
> readdir() as needed.
> 
> (Probably best to keep these discussions on the PR though).
> 
> Lennart

I have had this implementation in my downstream tree for a while (no
use for it upstream yet), feel free to cherry-pick and use it for your
PR:

https://github.com/bluca/systemd/commit/58a36591a4b4353232d024f26d253995bd88f99d

-- 
Kind regards,
Luca Boccassi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20210915/fc7d1724/attachment.sig>


More information about the systemd-devel mailing list