From 3fc546f93d92c09188d5018ea47def33b149c2e9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 4 Mar 2011 00:22:00 +0100 Subject: [PATCH] path: don't use IN_ATTRIB on parent dirs when watching a file, since those cannot be removed without emptying the dir first anyway and we need IN_ATTRIB only to detect the link count dropping to 0 --- TODO | 3 --- src/path.c | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/TODO b/TODO index 820391dbc79..36c738e4e7d 100644 --- a/TODO +++ b/TODO @@ -11,9 +11,6 @@ F15: * load EnvironmentFile= when starting services, not when reloading configuration https://bugzilla.redhat.com/show_bug.cgi?id=661282 -* drop IN_ATTRIB from inotify watches for .path units where possible to avoid - lots of wakeups due to /dev changing when we watch a subdir of /dev. - * NFS, networkmanager ordering issue * add fstab fields to add wait timeouts, change Wants to Requires by local-fs.target diff --git a/src/path.c b/src/path.c index bd40ab6f99b..1455b47995e 100644 --- a/src/path.c +++ b/src/path.c @@ -223,9 +223,9 @@ static int path_watch_one(Path *p, PathSpec *s) { /* Trim the path at the last slash. Keep the slash if it's the root dir. */ slash[slash == k] = 0; - flags = IN_DELETE_SELF|IN_MOVE_SELF|IN_ATTRIB; + flags = IN_MOVE_SELF; if (!exists) - flags |= IN_CREATE | IN_MOVED_TO; + flags |= IN_DELETE_SELF | IN_ATTRIB | IN_CREATE | IN_MOVED_TO; if (inotify_add_watch(s->inotify_fd, k, flags) >= 0) exists = true;