diff options
author | edp <none@none> | 2006-09-12 20:10:35 -0700 |
---|---|---|
committer | edp <none@none> | 2006-09-12 20:10:35 -0700 |
commit | 6858add49406b6443e85c2ca32f5720a1db53354 (patch) | |
tree | 35fda3e61fec1565161fb511ed24be26971d36e2 /usr/src | |
parent | acd76fe5a01cfab51c34c67df884b68562a97f3f (diff) | |
download | illumos-gate-6858add49406b6443e85c2ca32f5720a1db53354.tar.gz |
6426980 lx zones can't mount nfsv3 filesystems on linux servers
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/lib/brand/lx/lx_brand/common/mount.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/usr/src/lib/brand/lx/lx_brand/common/mount.c b/usr/src/lib/brand/lx/lx_brand/common/mount.c index bf349f4755..502ca22ff1 100644 --- a/usr/src/lib/brand/lx/lx_brand/common/mount.c +++ b/usr/src/lib/brand/lx/lx_brand/common/mount.c @@ -305,12 +305,6 @@ i_make_nfs_args(lx_nfs_mount_data_t *lx_nmd, struct nfs_args *nfs_args, lx_nmd->nmd_addr.sin_family); return (-ENOTSUP); } - if (lx_nmd->nmd_root.lx_fh3_length != 0x20) { - lx_unsupported("unsupported nfs mount request, " - "nfs file handle length: 0x%x\n", - lx_nmd->nmd_root.lx_fh3_length); - return (-ENOTSUP); - } for (i = 0; i < LX_NMD_MAXHOSTNAMELEN; i++) { if (lx_nmd->nmd_hostname[i] == '\0') break; @@ -372,11 +366,19 @@ i_make_nfs_args(lx_nfs_mount_data_t *lx_nmd, struct nfs_args *nfs_args, options, options_size)) != 0) return (rv); + if (lx_nmd->nmd_root.lx_fh3_length > + sizeof (nfs_args_fh->fh3.fh3_u.data)) { + lx_unsupported("unsupported nfs mount request, " + "nfs file handle length: 0x%x\n", + lx_nmd->nmd_root.lx_fh3_length); + return (-ENOTSUP); + } + /* Set the v3 file handle info. */ nfs_args_fh->fh3.fh3_length = lx_nmd->nmd_root.lx_fh3_length; bcopy(&lx_nmd->nmd_root.lx_fh3_data, nfs_args_fh->fh3.fh3_u.data, - sizeof (nfs_args_fh->fh3.fh3_u.data)); + lx_nmd->nmd_root.lx_fh3_length); } else { /* * Assume nfs v2. Note that this could also be a v1 |