vhost: scsi: constify target_core_fabric_ops structures
authorBhumika Goyal <bhumirks@gmail.com>
Mon, 9 Jan 2017 15:21:02 +0000 (20:51 +0530)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 19 Jan 2017 21:46:29 +0000 (23:46 +0200)
Declare target_core_fabric_ops strucrues as const as they are only
passed as an argument to the functions target_register_template and
target_unregister_template. The arguments are of type const struct
target_core_fabric_ops *, so target_core_fabric_ops structures having
this property can be declared const.
Done using Coccinelle:

@r disable optional_qualifier@
identifier i;
position p;
@@
static struct target_core_fabric_ops i@p={...};

@ok@
position p;
identifier r.i;
@@
(
target_register_template(&i@p)
|
target_unregister_template(&i@p)
)
@bad@
position p!={r.p,ok.p};
identifier r.i;
@@
i@p

@depends on !bad disable optional_qualifier@
identifier r.i;
@@
+const
struct target_core_fabric_ops i;

File size before: drivers/vhost/scsi.o
   text    data     bss     dec     hex filename
  18063    2985      40   21088    5260 drivers/vhost/scsi.o

File size after: drivers/vhost/scsi.o
   text    data     bss     dec     hex filename
  18479    2601      40   21120    5280 drivers/vhost/scsi.o

Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
drivers/vhost/scsi.c

index 253310c..620366d 100644 (file)
@@ -2087,7 +2087,7 @@ static struct configfs_attribute *vhost_scsi_wwn_attrs[] = {
        NULL,
 };
 
-static struct target_core_fabric_ops vhost_scsi_ops = {
+static const struct target_core_fabric_ops vhost_scsi_ops = {
        .module                         = THIS_MODULE,
        .name                           = "vhost",
        .get_fabric_name                = vhost_scsi_get_fabric_name,