nfs_clvfsops.c (242833) | nfs_clvfsops.c (243782) |
---|---|
1/*- 2 * Copyright (c) 1989, 1993, 1995 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Rick Macklem at The University of Guelph. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 19 unchanged lines hidden (view full) --- 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * 32 * from nfs_vfsops.c 8.12 (Berkeley) 5/20/95 33 */ 34 35#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1989, 1993, 1995 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Rick Macklem at The University of Guelph. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 19 unchanged lines hidden (view full) --- 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * 32 * from nfs_vfsops.c 8.12 (Berkeley) 5/20/95 33 */ 34 35#include <sys/cdefs.h> |
36__FBSDID("$FreeBSD: head/sys/fs/nfsclient/nfs_clvfsops.c 242833 2012-11-09 18:02:25Z attilio $"); | 36__FBSDID("$FreeBSD: head/sys/fs/nfsclient/nfs_clvfsops.c 243782 2012-12-02 01:16:04Z rmacklem $"); |
37 38 39#include "opt_bootp.h" 40#include "opt_nfsroot.h" 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/kernel.h> --- 1577 unchanged lines hidden (view full) --- 1622 if (sizep != NULL) 1623 *sizep = np->n_size; 1624 if (timeop != NULL) { 1625 timeop->tv_sec = nmp->nm_timeo / NFS_HZ; 1626 timeop->tv_usec = (nmp->nm_timeo % NFS_HZ) * (1000000 / NFS_HZ); 1627 } 1628} 1629 | 37 38 39#include "opt_bootp.h" 40#include "opt_nfsroot.h" 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/kernel.h> --- 1577 unchanged lines hidden (view full) --- 1622 if (sizep != NULL) 1623 *sizep = np->n_size; 1624 if (timeop != NULL) { 1625 timeop->tv_sec = nmp->nm_timeo / NFS_HZ; 1626 timeop->tv_usec = (nmp->nm_timeo % NFS_HZ) * (1000000 / NFS_HZ); 1627 } 1628} 1629 |
1630/* 1631 * This function prints out an option name, based on the conditional 1632 * argument. 1633 */ 1634static __inline void nfscl_printopt(struct nfsmount *nmp, int testval, 1635 char *opt, char **buf, size_t *blen) 1636{ 1637 int len; 1638 1639 if (testval != 0 && *blen > strlen(opt)) { 1640 len = snprintf(*buf, *blen, "%s", opt); 1641 if (len != strlen(opt)) 1642 printf("EEK!!\n"); 1643 *buf += len; 1644 *blen -= len; 1645 } 1646} 1647 1648/* 1649 * This function printf out an options integer value. 1650 */ 1651static __inline void nfscl_printoptval(struct nfsmount *nmp, int optval, 1652 char *opt, char **buf, size_t *blen) 1653{ 1654 int len; 1655 1656 if (*blen > strlen(opt) + 1) { 1657 /* Could result in truncated output string. */ 1658 len = snprintf(*buf, *blen, "%s=%d", opt, optval); 1659 if (len < *blen) { 1660 *buf += len; 1661 *blen -= len; 1662 } 1663 } 1664} 1665 1666/* 1667 * Load the option flags and values into the buffer. 1668 */ 1669void nfscl_retopts(struct nfsmount *nmp, char *buffer, size_t buflen) 1670{ 1671 char *buf; 1672 size_t blen; 1673 1674 buf = buffer; 1675 blen = buflen; 1676 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_NFSV4) != 0, "nfsv4", &buf, 1677 &blen); 1678 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_NFSV3) != 0, "nfsv3", &buf, 1679 &blen); 1680 nfscl_printopt(nmp, (nmp->nm_flag & (NFSMNT_NFSV3 | NFSMNT_NFSV4)) == 0, 1681 "nfsv2", &buf, &blen); 1682 nfscl_printopt(nmp, nmp->nm_sotype == SOCK_STREAM, ",tcp", &buf, &blen); 1683 nfscl_printopt(nmp, nmp->nm_sotype != SOCK_STREAM, ",udp", &buf, &blen); 1684 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_RESVPORT) != 0, ",resvport", 1685 &buf, &blen); 1686 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_NOCONN) != 0, ",noconn", 1687 &buf, &blen); 1688 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_SOFT) == 0, ",hard", &buf, 1689 &blen); 1690 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_SOFT) != 0, ",soft", &buf, 1691 &blen); 1692 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_INT) != 0, ",intr", &buf, 1693 &blen); 1694 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_NOCTO) == 0, ",cto", &buf, 1695 &blen); 1696 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_NOCTO) != 0, ",nocto", &buf, 1697 &blen); 1698 nfscl_printopt(nmp, (nmp->nm_flag & (NFSMNT_NOLOCKD | NFSMNT_NFSV4)) == 1699 0, ",lockd", &buf, &blen); 1700 nfscl_printopt(nmp, (nmp->nm_flag & (NFSMNT_NOLOCKD | NFSMNT_NFSV4)) == 1701 NFSMNT_NOLOCKD, ",nolockd", &buf, &blen); 1702 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_RDIRPLUS) != 0, ",rdirplus", 1703 &buf, &blen); 1704 nfscl_printopt(nmp, (nmp->nm_flag & NFSMNT_KERB) == 0, ",sec=sys", 1705 &buf, &blen); 1706 nfscl_printopt(nmp, (nmp->nm_flag & (NFSMNT_KERB | NFSMNT_INTEGRITY | 1707 NFSMNT_PRIVACY)) == NFSMNT_KERB, ",sec=krb5", &buf, &blen); 1708 nfscl_printopt(nmp, (nmp->nm_flag & (NFSMNT_KERB | NFSMNT_INTEGRITY | 1709 NFSMNT_PRIVACY)) == (NFSMNT_KERB | NFSMNT_INTEGRITY), ",sec=krb5i", 1710 &buf, &blen); 1711 nfscl_printopt(nmp, (nmp->nm_flag & (NFSMNT_KERB | NFSMNT_INTEGRITY | 1712 NFSMNT_PRIVACY)) == (NFSMNT_KERB | NFSMNT_PRIVACY), ",sec=krb5p", 1713 &buf, &blen); 1714 nfscl_printoptval(nmp, nmp->nm_acdirmin, ",acdirmin", &buf, &blen); 1715 nfscl_printoptval(nmp, nmp->nm_acdirmax, ",acdirmax", &buf, &blen); 1716 nfscl_printoptval(nmp, nmp->nm_acregmin, ",acregmin", &buf, &blen); 1717 nfscl_printoptval(nmp, nmp->nm_acregmax, ",acregmax", &buf, &blen); 1718 nfscl_printoptval(nmp, nmp->nm_nametimeo, ",nametimeo", &buf, &blen); 1719 nfscl_printoptval(nmp, nmp->nm_negnametimeo, ",negnametimeo", &buf, 1720 &blen); 1721 nfscl_printoptval(nmp, nmp->nm_rsize, ",rsize", &buf, &blen); 1722 nfscl_printoptval(nmp, nmp->nm_wsize, ",wsize", &buf, &blen); 1723 nfscl_printoptval(nmp, nmp->nm_readdirsize, ",readdirsize", &buf, 1724 &blen); 1725 nfscl_printoptval(nmp, nmp->nm_readahead, ",readahead", &buf, &blen); 1726 nfscl_printoptval(nmp, nmp->nm_wcommitsize, ",wcommitsize", &buf, 1727 &blen); 1728 nfscl_printoptval(nmp, nmp->nm_timeo, ",timeout", &buf, &blen); 1729 nfscl_printoptval(nmp, nmp->nm_retry, ",retrans", &buf, &blen); 1730} 1731 |
|