📄 wrapfs-todo
字号:
# -*- text -*-replace our read w/ generic_file_read and see if that works instead. itwould call our readpage which is implemented.break write into pages. or better yet. use generic_writepage as our writefxn, and then implement updatepage, which will call the lower fxn's writefxn with the right args.then cryptfs and file names.fix leak in lower-fs refcounts.put copy_inode_modes everywhere!!! (esp. read/write)try truncatefix d_comparecheck appendXXX: we have to do a wrapfs_copy_inode (or subset thereof) in *ALL*functions, all file systems, and all OSs!!!follow all XXX comments and EZK comments* dentry questionsfollow all #warning everywere: panic if dentry->d_inode is null (negative dentry) what does it mean and what makes sense to do make a hidden_dentry for all wrapfs dentry's and pass it along as well iput(old_inode) convert to d_put(old_dentry?)when does a new dentry ever get created/malloc'ed for the first time?maybe we should "interpose" on a dentry only if its d_inode!=NULL (i.e., it is not a zero entry?)whenever I do inode_t *old_inode = old_dentry->d_inode;or the like, then assrt that old_inode is not null (see foofs_link)wherever iput happens, should I do d_iput instead (or also)?everwhere where I call err = hidden_inode->i_op-><FXN>(hidden_inide, dentry,...)should I instead pass hidden_dentry down? And if so, where do I get thathidden_dentry from?define our own dput and dentry functions?* code munging procedurefill in ops structure (from ion's usenetfs)add empty stubs for new functionsput old protos in // commentschange fxn protos* misc:does struct qstr have full pathname or just one component.unify main.c and super.c, and avoid fist_mod_dec_use_count()tell linux-kernel to expose fs/namei.c: double_lock/unlock ditto for lock_parent and linux/fs/read_write.c: default_llseek() LOOKUP_FOLLOW from fs/namei.c to some header file.linux/fs.h: namei macro should not use 1, but LOOKUP_FOLLOWask linux-kernel why writepage isn't called from anywhere, and why there'sno generic writepage.permission() should call the f/s permission() if it exists, else call therest of the code which should be moved into one do_permission() fxn, so wecan call do_permission directly ourselves.tell kernel hackers of pread/pwrite interface deficiencies.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -