Add support to remove_target from sysfs.
Signed-off-by: Ishai Rabinovitz <[EMAIL PROTECTED]>

Index: last_stable/drivers/infiniband/ulp/srp/ib_srp.c
===================================================================
--- last_stable.orig/drivers/infiniband/ulp/srp/ib_srp.c        2006-06-05 
16:46:55.000000000 +0300
+++ last_stable/drivers/infiniband/ulp/srp/ib_srp.c     2006-06-05 
17:11:11.000000000 +0300
@@ -1516,6 +1516,10 @@
        return sprintf(buf, "%d\n", target->zero_req_lim);
 }
 
+static ssize_t srp_remove_target(struct class_device *cdev,
+                                const char *buf, size_t count);
+
+static CLASS_DEVICE_ATTR(remove_target, S_IWUSR, NULL, srp_remove_target);
 static CLASS_DEVICE_ATTR(id_ext,       S_IRUGO, show_id_ext,           NULL);
 static CLASS_DEVICE_ATTR(ioc_guid,     S_IRUGO, show_ioc_guid,         NULL);
 static CLASS_DEVICE_ATTR(service_id,   S_IRUGO, show_service_id,       NULL);
@@ -1524,6 +1528,7 @@
 static CLASS_DEVICE_ATTR(zero_req_lim, S_IRUGO, show_zero_req_lim,     NULL);
 
 static struct class_device_attribute *srp_host_attrs[] = {
+       &class_device_attr_remove_target,
        &class_device_attr_id_ext,
        &class_device_attr_ioc_guid,
        &class_device_attr_service_id,
@@ -1814,6 +1819,23 @@
 
 static CLASS_DEVICE_ATTR(add_target, S_IWUSR, NULL, srp_create_target);
 
+static ssize_t srp_remove_target(struct class_device *cdev,
+                                const char *buf, size_t count)
+{
+       int ret;
+       const char const remove_str[] = "remove";
+
+       if (strncmp(buf, "remove", sizeof(remove_str)))
+               return -EINVAL;
+
+       ret = _srp_remove_target(host_to_target(class_to_shost(cdev)));
+
+       if (ret)
+               return ret;
+
+       return count;
+}
+
 static ssize_t show_ibdev(struct class_device *class_dev, char *buf)
 {
        struct srp_host *host =
-- 
Ishai Rabinovitz
_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to