当前位置:  技术问答>linux和unix

filp_open都返回成功了,为什么找不到文件?

    来源: 互联网  发布时间:2017-03-24

    本文导语:  想在驱动加载init的时候,在文本中写入数据,但发现函数执行之后并没有在相应的system目录中找到icinfo.dat文件 是不是这个时候文件系统还没加载完啊?但是各个函数都返回值都是正确的啊。奇怪! static char ICINFO[...

想在驱动加载init的时候,在文本中写入数据,但发现函数执行之后并没有在相应的system目录中找到icinfo.dat文件
是不是这个时候文件系统还没加载完啊?但是各个函数都返回值都是正确的啊。奇怪!


static char ICINFO[] = "flast: ACE12En";
static void WriteICINFO()
{

struct file *pf=NULL;
mm_segment_t old_fs;
pf=filp_open("/system/icinfo.data",O_RDWR|O_APPEND|O_CREAT,0644);
printk("Persie:WriteICINFO..n");
old_fs=get_fs();
set_fs(KERNEL_DS);
if(pf!=NULL)
{
int res=0;
char buf[20];
memset(buf,0,sizeof(buf)/sizeof(buf[0]));
res=pf->f_op->write(pf,(char*)ICINFO,sizeof(ICINFO)/sizeof(ICINFO[0]),&pf->f_pos);
set_fs(old_fs);
printk("Persie:res=%dn",res);//这里也打印出正常的长度
}
else
printk("pf==NULL!n");
if(pf!=NULL);
filp_close(pf,NULL);
}

|
Linux启动完成后,在shell里看下:
#ls -l /system/icinfo.data

|
楼主找到原因了么? 分享下

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3