diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2010-08-11 14:34:32 +0200 |
---|---|---|
committer | Kay Sievers <kay.sievers@vrfy.org> | 2010-08-11 14:34:32 +0200 |
commit | ebd189621f4b7e0034ea7a7067199bc9a0f28145 (patch) | |
tree | 0aa9b39dd7ab5c545fb1294bbea172da7493541b /libudev/libudev-device-private.c | |
parent | ce9a42bec40330d0a0c83d21f07177cb2d08f1ac (diff) |
do not rename the database on device rename
Harald Hoyer discovered some incorrect behavior while debugging
problems with network interface renaming:
Udev events might be queued for devices which are renamed. A new
device registered the same time may claime the old name and create
a database entry for it. The current rename logic would move over
this databse entry to the wrong device.
Diffstat (limited to 'libudev/libudev-device-private.c')
-rw-r--r-- | libudev/libudev-device-private.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/libudev/libudev-device-private.c b/libudev/libudev-device-private.c index 8c8ac244be..a4b2fb0169 100644 --- a/libudev/libudev-device-private.c +++ b/libudev/libudev-device-private.c @@ -177,19 +177,3 @@ int udev_device_delete_db(struct udev_device *udev_device) unlink(filename); return 0; } - -int udev_device_rename_db(struct udev_device *udev_device) -{ - struct udev *udev = udev_device_get_udev(udev_device); - char filename_old[UTIL_PATH_SIZE]; - char filename[UTIL_PATH_SIZE]; - - if (strcmp(udev_device_get_sysname(udev_device), udev_device_get_sysname_old(udev_device)) == 0) - return 0; - - util_strscpyl(filename_old, sizeof(filename_old), udev_get_dev_path(udev), "/.udev/db/", - udev_device_get_subsystem(udev_device), ":", udev_device_get_sysname_old(udev_device), NULL); - util_strscpyl(filename, sizeof(filename), udev_get_dev_path(udev), "/.udev/db/", - udev_device_get_subsystem(udev_device), ":", udev_device_get_sysname(udev_device), NULL); - return rename(filename_old, filename); -} |