<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/openrc.git/src/mountinfo, branch origin/master</title>
<subtitle>[no description]</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/openrc.git/atom?h=origin%2Fmaster</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/atom?h=origin%2Fmaster'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/'/>
<updated>2026-03-30T11:52:58Z</updated>
<entry>
<title>mountinfo: don't kill openrc on do_unmount</title>
<updated>2026-03-30T11:52:58Z</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2026-03-30T11:52:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=fde59b31364a9cc61ea265a4967b5aa7f0be5b65'/>
<id>urn:sha1:fde59b31364a9cc61ea265a4967b5aa7f0be5b65</id>
<content type='text'>
</content>
</entry>
<entry>
<title>do_unmount: add parallel unmounting</title>
<updated>2025-11-12T19:27:33Z</updated>
<author>
<name>NRK</name>
<email>nrk@disroot.org</email>
</author>
<published>2025-03-18T04:31:35Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=303bc524e8da4df9337a76120d4a62774ff7adaa'/>
<id>urn:sha1:303bc524e8da4df9337a76120d4a62774ff7adaa</id>
<content type='text'>
this turns mouninfo into a multicall binary which can also do
parallel unmounting. most mountinfo code is unchanged; only
notable change is find_mounts() now returns the number of mounts
found and also takes the "process" function as an argument; so
that is_mounted() can be implemented on top of it.

do_unmount mostly follows the logic of previous code. some
notable changes:

- do_unmount is now "lazy" when it comes to retrying failed
  unmounts. it will greedily keep running unmount as long as it
  can before it looks at the "waiting" queue.
- it will check if the mountpoint is still mounted or not when
  umount returns non-zero exit code. this is due to the fact that
  multiple umount calls might race to unmount a shared mount. so
  if umount fails _but_ the mountpoint is no longer mounted, we
  assume success.
- do_unmount used to fail if fuser did not find any pids using
  the mount. the new code tries one more time; the rationale being
  that there's a gap between the umount call and the fuser call,
  and so whatever was using the mount before might have stopped
  using it now and so it's worth another attempt.

Fixes: https://github.com/OpenRC/openrc/issues/662
Closes: https://github.com/OpenRC/openrc/pull/698
</content>
</entry>
<entry>
<title>librc, mountinfo: fix build headers for netbsd</title>
<updated>2025-09-07T02:40:27Z</updated>
<author>
<name>SetiQyu</name>
<email>leo.lundberg99@gmail.com</email>
</author>
<published>2025-07-22T20:17:46Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=459db56ce0b54c5549af131fbdab24ba39f0f338'/>
<id>urn:sha1:459db56ce0b54c5549af131fbdab24ba39f0f338</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*: don't check for file existence before opening it</title>
<updated>2025-06-16T08:53:07Z</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2025-06-15T19:52:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=81d1d9d7d4e984bffeedc3c5bd9639dac4692df7'/>
<id>urn:sha1:81d1d9d7d4e984bffeedc3c5bd9639dac4692df7</id>
<content type='text'>
{f,}open and setmntent will already fail if the file does not exists, no
need for an extra syscall
</content>
</entry>
<entry>
<title>*: use access(..., F_OK) instead of exists/stat.2</title>
<updated>2025-06-16T08:53:07Z</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2025-06-15T19:26:09Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=dc3ce8692f911aa4bcb7a56e3265d06a20729319'/>
<id>urn:sha1:dc3ce8692f911aa4bcb7a56e3265d06a20729319</id>
<content type='text'>
the exists() helper uses stat.2 unnecessarily, while calling access is
simpler and does not require filling a struct stat for no reason.

since this would make exists() into a wrapper that calls a single
function and nothing else, let's just inline the calls to access and
remove the helper.
</content>
</entry>
<entry>
<title>build: add project arguments instead of adhoc c_args</title>
<updated>2025-05-27T11:38:43Z</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2025-05-01T22:05:09Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=6f9dc39a5f0eeff098bc04ce835626f731833c66'/>
<id>urn:sha1:6f9dc39a5f0eeff098bc04ce835626f731833c66</id>
<content type='text'>
</content>
</entry>
<entry>
<title>build: use declare_dependency for librc</title>
<updated>2025-05-27T11:38:43Z</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2025-04-30T23:38:55Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=20b93f00ee45e436cea2f23853a68ad83e0db977'/>
<id>urn:sha1:20b93f00ee45e436cea2f23853a68ad83e0db977</id>
<content type='text'>
</content>
</entry>
<entry>
<title>build: use declare_dependency for libeinfo</title>
<updated>2025-05-27T11:38:43Z</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2025-04-30T23:24:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=e7db99edc9ef88db92d766041fb0ffcb65f9eabb'/>
<id>urn:sha1:e7db99edc9ef88db92d766041fb0ffcb65f9eabb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>build: use static_library and declare_dependency for shared code</title>
<updated>2025-05-27T11:38:43Z</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2025-04-30T22:50:17Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=543bb09ed1da2b5dbd619b965fbd3a601053b487'/>
<id>urn:sha1:543bb09ed1da2b5dbd619b965fbd3a601053b487</id>
<content type='text'>
</content>
</entry>
<entry>
<title>misc: Replace rc_getline and getline with xgetline.</title>
<updated>2024-09-24T18:36:13Z</updated>
<author>
<name>Anna (navi) Figueiredo Gomes</name>
<email>navi@vlhl.dev</email>
</author>
<published>2024-09-19T11:33:29Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/openrc.git/commit/?id=64c3b3e757dfbcca592efea38947c577c73e3768'/>
<id>urn:sha1:64c3b3e757dfbcca592efea38947c577c73e3768</id>
<content type='text'>
rc_getline is an implementation from when getline wasn't available on
most libcs, and is planned for removal, however much of of the code
relies on it's behaviour of removing new lines at the end of strings.

To avoid duplicating the new line removal logic in a dozen places, we
introduce a new helper function xgetline, which just wraps around
getline but removes the new line at the end.
</content>
</entry>
</feed>
