diff options
| author | Ben Pfaff <blp@nicira.com> | 2009-08-19 13:03:46 -0700 |
|---|---|---|
| committer | Ben Pfaff <blp@nicira.com> | 2009-08-19 13:03:46 -0700 |
| commit | 8fef8c7121222233075a03d57db7e0b48d5f6be5 (patch) | |
| tree | 5cb9822a490c41694be2c8af80ec6a5300ad7a28 /datapath/dp_sysfs_if.c | |
| parent | d2cd45db48e2713b74c3a31f746f923a72294e46 (diff) | |
| parent | 6dd3fad481b5d801695c2b0529c7d37cac2c9b19 (diff) | |
| download | openvswitch-8fef8c7121222233075a03d57db7e0b48d5f6be5.tar.gz | |
Merge citrix into master.
This was a somewhat difficult merge since there was a fair amount of
superficially divergent development on the two branches, especially in the
datapath.
This has been build-tested against XenServer 5.5.0 and XenServer 5.7.0
build 15122. It has been booted and connected to XenCenter on 5.5.0.
The merge revealed a couple of outstanding bugs, which will be fixed on
citrix and then merged back into master.
Diffstat (limited to 'datapath/dp_sysfs_if.c')
| -rw-r--r-- | datapath/dp_sysfs_if.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/datapath/dp_sysfs_if.c b/datapath/dp_sysfs_if.c index ab928f6c6..95c26dc42 100644 --- a/datapath/dp_sysfs_if.c +++ b/datapath/dp_sysfs_if.c @@ -21,7 +21,7 @@ #include "dp_sysfs.h" #include "datapath.h" -#ifdef SUPPORT_SYSFS +#ifdef CONFIG_SYSFS struct brport_attribute { struct attribute attr; @@ -278,9 +278,10 @@ int dp_sysfs_add_if(struct net_bridge_port *p) int err; /* Create /sys/class/net/<devname>/brport directory. */ - err = kobject_add(&p->kobj); + err = kobject_add(&p->kobj, &p->dev->NETDEV_DEV_MEMBER.kobj, + SYSFS_BRIDGE_PORT_ATTR); if (err) - goto err_put; + goto err; /* Create symlink from /sys/class/net/<devname>/brport/bridge to * /sys/class/net/<bridgename>. */ @@ -306,15 +307,12 @@ int dp_sysfs_add_if(struct net_bridge_port *p) kobject_uevent(&p->kobj, KOBJ_ADD); - return err; + return 0; err_del: kobject_del(&p->kobj); -err_put: - kobject_put(&p->kobj); - - /* Ensure that dp_sysfs_del_if becomes a no-op. */ - p->kobj.dentry = NULL; +err: + p->linkname[0] = 0; return err; } @@ -322,12 +320,10 @@ int dp_sysfs_del_if(struct net_bridge_port *p) { if (p->linkname[0]) { sysfs_remove_link(&p->dp->ifobj, p->linkname); - p->linkname[0] = '\0'; - } - if (p->kobj.dentry) { kobject_uevent(&p->kobj, KOBJ_REMOVE); kobject_del(&p->kobj); + p->linkname[0] = '\0'; } return 0; } -#endif /* SUPPORT_SYSFS */ +#endif /* CONFIG_SYSFS */ |
