Deleted Added
full compact
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