Print this page
use NULL getmemid segop as a shorthand for ENODEV
Instead of forcing every segment driver to implement a dummy function to
return (hopefully) ENODEV, handle NULL getmemid segop function pointer as
"return ENODEV" shorthand.
*** 75,85 ****
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);
- static int segnf_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp);
struct seg_ops segnf_ops = {
.dup = segnf_dup,
.unmap = segnf_unmap,
--- 75,84 ----
*** 102,112 ****
.advise = (int (*)(struct seg *, caddr_t, size_t, uint_t))
segnf_nop,
.dump = segnf_dump,
.pagelock = segnf_pagelock,
.setpagesize = segnf_setpagesize,
- .getmemid = segnf_getmemid,
};
/*
* vnode and page for the page of zeros we use for the nf mappings.
*/
--- 101,110 ----
*** 463,474 ****
segnf_setpagesize(struct seg *seg, caddr_t addr, size_t len,
uint_t szc)
{
return (ENOTSUP);
}
-
- /*ARGSUSED*/
- static int
- segnf_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp)
- {
- return (ENODEV);
- }
--- 461,465 ----