chiark / gitweb /
[PATCH] "symlink only" test
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>
Thu, 11 Mar 2004 09:39:53 +0000 (01:39 -0800)
committerGreg KH <gregkh@suse.de>
Wed, 27 Apr 2005 04:35:09 +0000 (21:35 -0700)
Here is a test for the "symlink only" rule.

Any reason to do the apply_format() inside the loop?
I've changed it.

namedev.c
test/udev-test.pl

index 7305676d427644f6af545552c8cc969de7e13246..025a14aea4a5ae832c6d9de1987562a859b8112b 100644 (file)
--- a/namedev.c
+++ b/namedev.c
@@ -815,16 +815,11 @@ int namedev_name_device(struct sysfs_class_device *class_dev, struct udevice *ud
                        }
 
                        if (dev->symlink[0] != '\0') {
-                               char temp[NAME_MAX];
-
                                info("configured rule in '%s' at line %i applied, added symlink '%s'",
                                     dev->config_file, dev->config_line, dev->symlink);
-                               /* do not clobber dev */
-                               strfieldcpy(temp, dev->symlink);
-                               apply_format(udev, temp, sizeof(temp),
-                                            class_dev, sysfs_device);
-                               strfieldcat(udev->symlink, temp);
-                               strfieldcat(udev->symlink, " ");
+                               if (udev->symlink[0] != '\0')
+                                       strfieldcat(udev->symlink, " ");
+                               strfieldcat(udev->symlink, dev->symlink);
                        }
 
                        if (dev->name[0] != '\0') {
@@ -841,8 +836,8 @@ int namedev_name_device(struct sysfs_class_device *class_dev, struct udevice *ud
        goto done;
 
 found:
-       apply_format(udev, udev->name, sizeof(udev->name),
-                    class_dev, sysfs_device);
+       apply_format(udev, udev->name, sizeof(udev->name), class_dev, sysfs_device);
+       apply_format(udev, udev->symlink, sizeof(udev->symlink), class_dev, sysfs_device);
        udev->partitions = dev->partitions;
 
 done:
index 7db92691d31bddb25f24f07ba3d181842acb8e5c..c12a21ee3d7040e7b4efa4df3a29339a1c92565a 100644 (file)
@@ -511,6 +511,17 @@ EOF
                conf     => <<EOF
 BUS="scsi", SYSFS{whitespace_test}="WHITE  SPACE ", NAME="wrong-to-ignore"
 BUS="scsi", SYSFS{whitespace_test}="WHITE  SPACE   ", NAME="matched-with-space"
+EOF
+       },
+       {
+               desc     => "SYMLINK only rule",
+               subsys   => "block",
+               devpath  => "block/sda",
+               expected => "symlink-only2",
+               conf     => <<EOF
+BUS="scsi", KERNEL="sda", SYMLINK="symlink-only1"
+BUS="scsi", KERNEL="sda", SYMLINK="symlink-only2"
+BUS="scsi", KERNEL="sda", NAME="link", SYMLINK="symlink0"
 EOF
        },
 );