📄 file.c
字号:
/* * linux/fs/minix/file.c * * Copyright (C) 1991, 1992 Linus Torvalds * * minix regular file handling primitives */#include <linux/buffer_head.h> /* for fsync_inode_buffers() */#include "minix.h"/* * We have mostly NULLs here: the current defaults are OK for * the minix filesystem. */int minix_sync_file(struct file *, struct dentry *, int);const struct file_operations minix_file_operations = { .llseek = generic_file_llseek, .read = generic_file_read, .write = generic_file_write, .mmap = generic_file_mmap, .fsync = minix_sync_file, //将文件所有被缓冲的的数据写回磁盘 .sendfile = generic_file_sendfile,};struct inode_operations minix_file_inode_operations = { .truncate = minix_truncate, //设置文件的大小 .getattr = minix_getattr,};int minix_sync_file(struct file * file, struct dentry *dentry, int datasync){ struct inode *inode = dentry->d_inode; int err; err = sync_mapping_buffers(inode->i_mapping); //启动io并等待io if (!(inode->i_state & I_DIRTY)) return err; if (datasync && !(inode->i_state & I_DIRTY_DATASYNC)) return err; err |= minix_sync_inode(inode); return err ? -EIO : 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -