- 论坛徽章:
- 0
|
E4,你怎么在内核中直接写文件的?
[quote]原帖由 "qjlemon"]这样是绕过了cache,直接到了设备驱动里了吧。[/quote 发表:
没有绕过,我觉得,因为sys_write里面就是这样的.可以开sys_write代码.
172 asmlinkage ssize_t sys_write(unsigned int fd, const char * buf, size_t count)
173 {
174 ssize_t ret;
175 struct file * file;
176
177 ret = -EBADF;
178 file = fget(fd);
179 if (file) {
180 if (file->;f_mode & FMODE_WRITE) {
181 struct inode *inode = file->;f_dentry->;d_inode;
182 ret = locks_verify_area(FLOCK_VERIFY_WRITE, inode, file,
183 file->;f_pos, count);
184 if (!ret) {
185 ssize_t (*write)(struct file *, const char *, size_t, loff_t *);
186 ret = -EINVAL;
187 if (file->;f_op && (write = file->;f_op->;write) != NULL)
188 ret = write(file, buf, count, &file->;f_pos);
189 }
190 }
191 if (ret >; 0)
192 dnotify_parent(file->;f_dentry, DN_MODIFY);
193 fput(file);
194 }
195 return ret;
196 }
197
198
第187句不就是么? |
|