Print this page
6144 use C99 initializers in segment ops structures


 741                 if (!(map[i].u.g.g_flags & SEGMF_GFLAGS_WR)) {
 742                         mapop[i].flags |= GNTMAP_readonly;
 743                 }
 744         }
 745         e = xen_map_gref(GNTTABOP_map_grant_ref, mapop, cnt, B_TRUE);
 746         if ((e != 0) || (mapop[0].status != GNTST_okay)) {
 747                 return (FC_MAKE_ERR(EFAULT));
 748         }
 749 
 750         /* save handle for segmf_release_grefs() and mark it as mapped */
 751         for (i = 0; i < cnt; i++) {
 752                 ASSERT(mapop[i].status == GNTST_okay);
 753                 map[i].u.g.g_handle = mapop[i].handle;
 754                 map[i].u.g.g_flags |= SEGMF_GFLAGS_MAPPED;
 755         }
 756 
 757         return (0);
 758 }
 759 
 760 static struct seg_ops segmf_ops = {
 761         segmf_dup,
 762         segmf_unmap,
 763         segmf_free,
 764         segmf_fault,
 765         segmf_faulta,
 766         segmf_setprot,
 767         segmf_checkprot,
 768         (int (*)())segmf_kluster,
 769         (size_t (*)(struct seg *))NULL, /* swapout */
 770         segmf_sync,
 771         segmf_incore,
 772         segmf_lockop,
 773         segmf_getprot,
 774         segmf_getoffset,
 775         segmf_gettype,
 776         segmf_getvp,
 777         segmf_advise,
 778         segmf_dump,
 779         segmf_pagelock,
 780         segmf_setpagesize,
 781         segmf_getmemid,
 782         segmf_getpolicy,
 783         segmf_capable,
 784         seg_inherit_notsup
 785 };


 741                 if (!(map[i].u.g.g_flags & SEGMF_GFLAGS_WR)) {
 742                         mapop[i].flags |= GNTMAP_readonly;
 743                 }
 744         }
 745         e = xen_map_gref(GNTTABOP_map_grant_ref, mapop, cnt, B_TRUE);
 746         if ((e != 0) || (mapop[0].status != GNTST_okay)) {
 747                 return (FC_MAKE_ERR(EFAULT));
 748         }
 749 
 750         /* save handle for segmf_release_grefs() and mark it as mapped */
 751         for (i = 0; i < cnt; i++) {
 752                 ASSERT(mapop[i].status == GNTST_okay);
 753                 map[i].u.g.g_handle = mapop[i].handle;
 754                 map[i].u.g.g_flags |= SEGMF_GFLAGS_MAPPED;
 755         }
 756 
 757         return (0);
 758 }
 759 
 760 static struct seg_ops segmf_ops = {
 761         .dup            = segmf_dup,
 762         .unmap          = segmf_unmap,
 763         .free           = segmf_free,
 764         .fault          = segmf_fault,
 765         .faulta         = segmf_faulta,
 766         .setprot        = segmf_setprot,
 767         .checkprot      = segmf_checkprot,
 768         .kluster        = segmf_kluster,
 769         .sync           = segmf_sync,
 770         .incore         = segmf_incore,
 771         .lockop         = segmf_lockop,
 772         .getprot        = segmf_getprot,
 773         .getoffset      = segmf_getoffset,
 774         .gettype        = segmf_gettype,
 775         .getvp          = segmf_getvp,
 776         .advise         = segmf_advise,
 777         .dump           = segmf_dump,
 778         .pagelock       = segmf_pagelock,
 779         .setpagesize    = segmf_setpagesize,
 780         .getmemid       = segmf_getmemid,
 781         .getpolicy      = segmf_getpolicy,
 782         .capable        = segmf_capable,
 783         .inherit        = seg_inherit_notsup,

 784 };