网上查了不少资料 感觉和第五个参数有关系,之前用了第五个参数用了NULL也不行
执行结果始终是
[root@localhost testNFS]# ./testNSF
nfsMount /mnt/nfs_gx to 192.168.159.131:/home/work failed ret=-1
mount error: Invalid argument
程序如下:
#include <stdio.h>
#include <sys/mount.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#define szNfsLocDir "/mnt/nfs_gx"
#define NFServerDir "192.168.159.131:/home/work"
#define TARGET "/mnt"
#define ERROR -1
#define OK 0
int main(int argc, char **argv)
{
// 首先UnMount,以保证后续的Mount成功
int ret=0;
int fd = 0;
// struct nfs_mount_data data;
/*
if(umount( szNfsLocDir)<0)
{
perror("umount error");
}
*/
ret=mount(NFServerDir, szNfsLocDir,"nfs", MS_MGC_VAL,"rw,tcp,soft,rsize=8192,wsize=8192,timeo=100,intr,retry=1");
// ret=system("mount -t nfs 192.168.159.131:/home/work1/ /mnt/nfs_gx/");
if( OK == ret)
{
printf("nfsMount %s to %s success\n",szNfsLocDir,NFServerDir);
perror("mount success");
}
else
{
printf("nfsMount %s to %s failed ret=%d \n",szNfsLocDir,NFServerDir,ret);
perror("mount error");
return -1;
}
return 0;
}
4 个解决方案
#1
system命令挂载成功吗?貌似很多时候要加上-o nolock参数。
#2
多谢回复 system可以正常挂载 但是我想用mount函数调用的方式进行挂载 网上查了很多貌似也没用成功的例子啊
#3
用函数时,参数和命令不一样
#4
能不能把第五个参数解释下,不是很懂!
#1
system命令挂载成功吗?貌似很多时候要加上-o nolock参数。
#2
多谢回复 system可以正常挂载 但是我想用mount函数调用的方式进行挂载 网上查了很多貌似也没用成功的例子啊
#3
用函数时,参数和命令不一样
#4
能不能把第五个参数解释下,不是很懂!