On Thu, Jan 12, 2017 at 1:06 AM, Michael Morak <michael.mo...@gmail.com> wrote:
> Hi,
>
> I have a similar setup. The problem is that some of your services may still
> have open handles on files that no longer exist after updating (i.e. the
> service, when originally started, opened an .so library file that it needs
> to run, but the file then gets deleted or replaced during the emerge -u).
> Simply restart all services (and other running programs) that have locks on
> files that were updated.
>
> The reason those files do not show up in your lsof command is that they may
> not be open for writing but only for reading. A read lock on a file may
> still give you the "/ is busy" message, since the open-for-read file cannot
> be (fully) deleted while a running application still has a lock on it. You

I figured it would be something like that. But I don't understand the
gory innards:

process foobard requires a library foo.so. foobard was started when /
was ro. Then / is mounted rw and a new version of foo.so is installed.
Of course, foobard still uses foo.so (old). What prevents / to be
remounted ro? foo.so (new) is already on disk, foo.so (old) is still
being used, kept in RAM (I assume...)

This is not a big problem to me, but I would like to have a better
understanding.

Thanks

Jorge

Reply via email to