Lines Matching refs:snapp
355 mntfs_elem_in_range(mntsnap_t *snapp, mntelem_t *elemp) in mntfs_elem_in_range() argument
357 timespec_t *stimep = &snapp->mnts_time; in mntfs_elem_in_range()
380 mntfs_get_next_elem(mntsnap_t *snapp, mntelem_t *elemp) in mntfs_get_next_elem() argument
382 int show_hidden = snapp->mnts_flags & MNTS_SHOWHIDDEN; in mntfs_get_next_elem()
387 (!mntfs_elem_in_range(snapp, elemp) || in mntfs_get_next_elem()
399 mntfs_freesnap(mntnode_t *mnp, mntsnap_t *snapp) in mntfs_freesnap() argument
405 int show_hidden = snapp->mnts_flags & MNTS_SHOWHIDDEN; in mntfs_freesnap()
411 if (snapp->mnts_nmnts == 0) in mntfs_freesnap()
417 if (mntfs_elem_in_range(snapp, elemp) && in mntfs_freesnap()
428 ASSERT(number_decremented == snapp->mnts_nmnts); in mntfs_freesnap()
431 bzero(snapp, sizeof (mntsnap_t)); in mntfs_freesnap()
500 mntfs_snapshot(mntnode_t *mnp, mntsnap_t *snapp) in mntfs_snapshot() argument
535 if (snapp->mnts_nmnts) { in mntfs_snapshot()
536 if (mntfs_newest(&last_mtime, &snapp->mnts_last_mtime) == in mntfs_snapshot()
550 snapp->mnts_next = snapp->mnts_first; in mntfs_snapshot()
551 snapp->mnts_flags &= ~MNTS_REWIND; in mntfs_snapshot()
552 snapp->mnts_foffset = snapp->mnts_ieoffset = 0; in mntfs_snapshot()
556 mntfs_freesnap(mnp, snapp); in mntfs_snapshot()
779 vfs_mono_time(&snapp->mnts_time); in mntfs_snapshot()
780 snapp->mnts_last_mtime = last_mtime; in mntfs_snapshot()
781 snapp->mnts_first = snapp->mnts_next = firstp; in mntfs_snapshot()
782 snapp->mnts_flags = show_hidden ? MNTS_SHOWHIDDEN : 0; in mntfs_snapshot()
783 snapp->mnts_nmnts = nmnts; in mntfs_snapshot()
784 snapp->mnts_text_size = total_text_size; in mntfs_snapshot()
785 snapp->mnts_foffset = snapp->mnts_ieoffset = 0; in mntfs_snapshot()
889 mntsnap_t *snapp = &mnp->mnt_read; in mntread() local
901 if (snapp->mnts_nmnts == 0 || (off == (off_t)0)) in mntread()
902 mntfs_snapshot(mnp, snapp); in mntread()
904 if ((size_t)(off + len) > snapp->mnts_text_size) in mntread()
905 len = snapp->mnts_text_size - off; in mntread()
907 if (off < 0 || len > snapp->mnts_text_size) { in mntread()
924 if (off == 0 || (off == snapp->mnts_foffset)) { in mntread()
925 elemp = snapp->mnts_next; in mntread()
926 ieoffset = snapp->mnts_ieoffset; in mntread()
937 if (off > snapp->mnts_foffset) { in mntread()
938 elemp = snapp->mnts_next; in mntread()
939 total_off = snapp->mnts_foffset - snapp->mnts_ieoffset; in mntread()
941 elemp = snapp->mnts_first; in mntread()
946 elemp = mntfs_get_next_elem(snapp, elemp); in mntread()
967 elemp = mntfs_get_next_elem(snapp, elemp); in mntread()
982 snapp->mnts_next = elemp; in mntread()
983 snapp->mnts_foffset = off + len; in mntread()
984 snapp->mnts_ieoffset = ieoffset; in mntread()
1218 mntsnap_t *snapp; in mntpoll() local
1223 snapp = &mnp->mnt_ioctl; in mntpoll()
1225 snapp = &mnp->mnt_read; in mntpoll()
1236 vfs_mnttab_poll(&snapp->mnts_last_mtime, phpp); in mntpoll()
1473 mntsnap_t *snapp = &mnp->mnt_ioctl; in mntioctl() local
1484 if (snapp->mnts_nmnts == 0 || in mntioctl()
1485 (snapp->mnts_flags & MNTS_REWIND)) { in mntioctl()
1490 if (snapp->mnts_nmnts == 0 || in mntioctl()
1491 (snapp->mnts_flags & MNTS_REWIND)) in mntioctl()
1492 mntfs_snapshot(mnp, snapp); in mntioctl()
1496 if (suword32(up, snapp->mnts_nmnts) != 0) in mntioctl()
1509 if (snapp->mnts_nmnts == 0 || in mntioctl()
1510 (snapp->mnts_flags & MNTS_REWIND)) { in mntioctl()
1515 if (snapp->mnts_nmnts == 0 || in mntioctl()
1516 (snapp->mnts_flags & MNTS_REWIND)) in mntioctl()
1517 mntfs_snapshot(mnp, snapp); in mntioctl()
1522 len = 2 * snapp->mnts_nmnts * sizeof (uint_t); in mntioctl()
1530 for (elemp = snapp->mnts_first; elemp; in mntioctl()
1531 elemp = mntfs_get_next_elem(snapp, elemp)) { in mntioctl()
1537 ASSERT(i == snapp->mnts_nmnts); in mntioctl()
1689 if (snapp->mnts_nmnts == 0 || in mntioctl()
1690 (snapp->mnts_flags & MNTS_REWIND)) in mntioctl()
1691 mntfs_snapshot(mnp, snapp); in mntioctl()
1708 elemp = snapp->mnts_next; in mntioctl()
1711 for (; elemp; elemp = mntfs_get_next_elem(snapp, in mntioctl()
1754 elemp = mntfs_get_next_elem(snapp, elemp); in mntioctl()
1784 elemp = mntfs_get_next_elem(snapp, elemp); in mntioctl()
1786 snapp->mnts_next = elemp; in mntioctl()
1803 if (snapp->mnts_nmnts == 0 || in mntioctl()
1804 (snapp->mnts_flags & MNTS_REWIND)) in mntioctl()
1805 mntfs_snapshot(mnp, snapp); in mntioctl()
1806 if ((elemp = snapp->mnts_next) == NULL) { in mntioctl()
1845 elemp = mntfs_get_next_elem(snapp, elemp); in mntioctl()
1847 snapp->mnts_next = elemp; in mntioctl()