Hi Lennart,

So there really isn't a fast of way just checking if a file has an open file descriptor on it?

Sometimes atime is on relatime, so it only gets updated if modification is earlier.

On servers that don't shutdown, processes may access the file for long periods of time, and the atime may not be updated.

Thanks,
Roger

On 29/04/2015 9:33 PM, Lennart Poettering wrote:
On Wed, 29.04.15 15:10, Roger Qiu (roger....@polycademy.com) wrote:

Hello all,

I'm planning to use tmpwatch's `fuser` feature.

But I'd prefer to run this simple service using systemd's tmpfiles.
Does systemd tmpfiles support running `fuser` so that way it won't delete
any files that have an open file descriptor?
Nope, we do not support this, and it's unlikely we ever will. fuser is
relatively expensive, since it iterates manually through all
subdirectories of /proc to find open files. If the kernel had a better
interface for this, that makes this less expensive, we might consider
supporting that, but the iterating through /proc is simply too bad.

In almost all cases the atime checks we do should be fully sufficient
though. Do you have a case where they aren't?

(Note that we do compare all unix sockets we find with /proc/net/unix
though, which is relatively efficient still. Also, as unix sockets
which are actively used do not get their atime bumped this is kinda a
necessity to cover them nicely.)

Lennart


--
Founder of Matrix AI
http://matrix.ai/
+61420925975

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to