diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2009-12-18 21:25:13 +0100 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2009-12-18 21:25:13 +0100 |
commit | 560739148143061336096dc3c021f94fe1bce37b (patch) | |
tree | a3714892ff1665eb8eb96b8368715c33295f2755 | |
parent | 6fb1b637d4fc9e94d0c492d8a3049f30db88dd54 (diff) |
update mtime of nodes and links when we re-use them
-rw-r--r-- | udev/udev-node.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/udev/udev-node.c b/udev/udev-node.c index 24f2ccf618..c80a74c218 100644 --- a/udev/udev-node.c +++ b/udev/udev-node.c @@ -25,6 +25,7 @@ #include <errno.h> #include <grp.h> #include <dirent.h> +#include <sys/time.h> #include <sys/stat.h> #include <sys/types.h> @@ -55,6 +56,8 @@ int udev_node_mknod(struct udev_device *dev, const char *file, dev_t devnum, mod info(udev, "preserve file '%s', because it has correct dev_t\n", file); preserve = 1; udev_selinux_lsetfilecon(udev, file, mode); + /* update time stamp when we re-use the node, like on media change events */ + utimes(file, NULL); } else { char file_tmp[UTIL_PATH_SIZE + sizeof(TMP_FILE_EXT)]; @@ -175,6 +178,7 @@ static int node_symlink(struct udev *udev, const char *node, const char *slink) info(udev, "preserve already existing symlink '%s' to '%s'\n", slink, target); udev_selinux_lsetfilecon(udev, slink, S_IFLNK); + lutimes(slink, NULL); goto exit; } } |