Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * VFS Operations.
- *
- * mount system call
- */
- int
- nfs_vfs_mount(mount_t mp, vnode_t vp, user_addr_t data, vfs_context_t ctx)
- {
- // ...
- switch (argsversion) {
- // ...
- case 6:
- /* convert old-style args to xdr */
- error = nfs_convert_old_nfs_args(mp, data, ctx, argsversion, inkernel, &xdrbuf);
- break;
- }
- /*
- * Convert old style NFS mount args to XDR.
- */
- static int
- nfs_convert_old_nfs_args(mount_t mp, user_addr_t data, vfs_context_t ctx, int argsversion, int inkernel, char **xdrbufp)
- {
- // ...
- struct sockaddr_storage ss;
- // ...
- /* copy socket address */
- if (inkernel)
- bcopy(CAST_DOWN(void *, args.addr), &ss, args.addrlen);
- else
- error = copyin(args.addr, &ss, args.addrlen);
- /* versus
- else {
- if ((size_t)args.addrlen > sizeof (struct sockaddr_storage))
- error = EINVAL;
- else
- error = copyin(args.addr, &ss, args.addrlen);
- }*/
- nfsmout_if(error);
- // ...
- }
Add Comment
Please, Sign In to add comment