arm_linux_yaffs2文件系统移植到内核GUN编译错误问题处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
yaffs2更新的比较慢,跟不上内核的更新速度.所以只能自己做些修改
first step
刚开始从官网下载下来的直接打补丁后会出现一系列的错误.如下:
**fs/yaffs2/yaffs_vfs.c: In function 'yaffs_readpage_nolock':
fs/yaffs2/yaffs_vfs.c:286:34: error: 'struct file' has no member named 'f_dentry'
obj = yaffs_dentry_to_obj(f->f_dentry);
^
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_hold_space':
fs/yaffs2/yaffs_vfs.c:484:34: error: 'struct file' has no member named 'f_dentry'
obj = yaffs_dentry_to_obj(f->f_dentry);
^
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_release_space':
fs/yaffs2/yaffs_vfs.c:502:34: error: 'struct file' has no member named 'f_dentry'
obj = yaffs_dentry_to_obj(f->f_dentry);
^
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_file_write':
fs/yaffs2/yaffs_vfs.c:594:34: error: 'struct file' has no member named 'f_dentry'
obj = yaffs_dentry_to_obj(f->f_dentry);
^
fs/yaffs2/yaffs_vfs.c:606:11: error: 'struct file' has no member named 'f_dentry'
inode = f->f_dentry->d_inode;
^
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_file_flush':
fs/yaffs2/yaffs_vfs.c:730:55: error: 'struct file' has no member named 'f_dentry'
struct yaffs_obj *obj = yaffs_dentry_to_obj(file->f_dentry);
^
fs/yaffs2/yaffs_vfs.c: At top level:
fs/yaffs2/yaffs_vfs.c:780:10: error: 'new_sync_read' undeclared here (not in a function)
.read = new_sync_read,
^
fs/yaffs2/yaffs_vfs.c:781:11: error: 'new_sync_write' undeclared here (not in a function)
.write = new_sync_write,
^
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_follow_link':
fs/yaffs2/yaffs_vfs.c:1078:2: error: implicit declaration of function 'nd_set_link' [-Werror=implicit-function-declaration]
nd_set_link(nd, alias);
^
fs/yaffs2/yaffs_vfs.c: At top level:
fs/yaffs2/yaffs_vfs.c:1118:17: warning: initialization from incompatible pointer type
.follow_link = yaffs_follow_link,
^
fs/yaffs2/yaffs_vfs.c:1118:17: warning: (near initialization for
'yaffs_symlink_inode_operations.follow_link')
fs/yaffs2/yaffs_vfs.c:1120:14: warning: initialization from incompatible pointer type
.put_link = yaffs_put_link,
^
fs/yaffs2/yaffs_vfs.c:1120:14: warning: (near initialization for
'yaffs_symlink_inode_operations.put_link')
fs/yaffs2/yaffs_vfs.c: In function 'yaffs_iterate':
fs/yaffs2/yaffs_vfs.c:1730:34: error: 'struct file' has no member named 'f_dentry'
obj = yaffs_dentry_to_obj(f->f_dentry);
^
cc1: some warnings being treated as errors
make[4]: *** [fs/yaffs2/yaffs_vfs.o] Error 1
make[3]: *** [fs/yaffs2] Error 2
make[2]: *** [fs] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: ***
[/home/anzyelay/Downloads/buildroot-2016.05/output/build/linux-4.4.16 /.stamp_built] Error 2
make: *** [_all] Error 2**
上面有三个问题要解决
∙1: error: ‘struct file’ has no member named ‘f_dentry’
∙2: error: ‘new_sync_read/write’ undeclared here
∙3: error: implicit declaration of function ‘nd_set_link’
1 ‘struct file’ has no member named
‘f_dentry’