Print this page
use NULL setpagesize segop as a shorthand for ENOTSUP
Instead of forcing every segment driver to implement a dummp function to
return (hopefully) ENOTSUP, handle NULL setpagesize segop function pointer
as "return ENOTSUP" shorthand.

*** 73,84 **** static int segnf_gettype(struct seg *seg, caddr_t addr); static int segnf_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp); static void segnf_dump(struct seg *seg); static int segnf_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***ppp, enum lock_type type, enum seg_rw rw); - static int segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len, - uint_t szc); struct seg_ops segnf_ops = { .dup = segnf_dup, .unmap = segnf_unmap, --- 73,82 ----
*** 100,110 **** .getvp = segnf_getvp, .advise = (int (*)(struct seg *, caddr_t, size_t, uint_t)) segnf_nop, .dump = segnf_dump, .pagelock = segnf_pagelock, - .setpagesize = segnf_setpagesize, }; /* * vnode and page for the page of zeros we use for the nf mappings. */ --- 98,107 ----
*** 453,465 **** segnf_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***ppp, enum lock_type type, enum seg_rw rw) { return (ENOTSUP); } - - /*ARGSUSED*/ - static int - segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len, - uint_t szc) - { - return (ENOTSUP); - } --- 450,454 ----