Print this page
use NULL dump segop as a shorthand for no-op
Instead of forcing every segment driver to implement a dummy function that
does nothing, handle NULL dump segop function pointer as a no-op shorthand.


1972 
1973 int
1974 segop_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
1975 {
1976         VERIFY3P(seg->s_ops->getvp, !=, NULL);
1977 
1978         return (seg->s_ops->getvp(seg, addr, vpp));
1979 }
1980 
1981 int
1982 segop_advise(struct seg *seg, caddr_t addr, size_t len, uint_t b)
1983 {
1984         VERIFY3P(seg->s_ops->advise, !=, NULL);
1985 
1986         return (seg->s_ops->advise(seg, addr, len, b));
1987 }
1988 
1989 void
1990 segop_dump(struct seg *seg)
1991 {
1992         VERIFY3P(seg->s_ops->dump, !=, NULL);

1993 
1994         seg->s_ops->dump(seg);
1995 }
1996 
1997 int
1998 segop_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***page,
1999     enum lock_type type, enum seg_rw rw)
2000 {
2001         VERIFY3P(seg->s_ops->pagelock, !=, NULL);
2002 
2003         return (seg->s_ops->pagelock(seg, addr, len, page, type, rw));
2004 }
2005 
2006 int
2007 segop_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
2008 {
2009         if (seg->s_ops->setpagesize == NULL)
2010                 return (ENOTSUP);
2011 
2012         return (seg->s_ops->setpagesize(seg, addr, len, szc));




1972 
1973 int
1974 segop_getvp(struct seg *seg, caddr_t addr, struct vnode **vpp)
1975 {
1976         VERIFY3P(seg->s_ops->getvp, !=, NULL);
1977 
1978         return (seg->s_ops->getvp(seg, addr, vpp));
1979 }
1980 
1981 int
1982 segop_advise(struct seg *seg, caddr_t addr, size_t len, uint_t b)
1983 {
1984         VERIFY3P(seg->s_ops->advise, !=, NULL);
1985 
1986         return (seg->s_ops->advise(seg, addr, len, b));
1987 }
1988 
1989 void
1990 segop_dump(struct seg *seg)
1991 {
1992         if (seg->s_ops->dump == NULL)
1993                 return;
1994 
1995         seg->s_ops->dump(seg);
1996 }
1997 
1998 int
1999 segop_pagelock(struct seg *seg, caddr_t addr, size_t len, struct page ***page,
2000     enum lock_type type, enum seg_rw rw)
2001 {
2002         VERIFY3P(seg->s_ops->pagelock, !=, NULL);
2003 
2004         return (seg->s_ops->pagelock(seg, addr, len, page, type, rw));
2005 }
2006 
2007 int
2008 segop_setpagesize(struct seg *seg, caddr_t addr, size_t len, uint_t szc)
2009 {
2010         if (seg->s_ops->setpagesize == NULL)
2011                 return (ENOTSUP);
2012 
2013         return (seg->s_ops->setpagesize(seg, addr, len, szc));