Blame view
fs/sysv/file.c
1.15 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/* * linux/fs/sysv/file.c * * minix/file.c * Copyright (C) 1991, 1992 Linus Torvalds * * coh/file.c * Copyright (C) 1993 Pascal Haible, Bruno Haible * * sysv/file.c * Copyright (C) 1993 Bruno Haible * * SystemV/Coherent regular file handling primitives */ #include "sysv.h" /* * We have mostly NULLs here: the current defaults are OK for * the coh filesystem. */ |
4b6f5d20b [PATCH] Make most... |
22 |
const struct file_operations sysv_file_operations = { |
1da177e4c Linux-2.6.12-rc2 |
23 |
.llseek = generic_file_llseek, |
543ade1fc [PATCH] Streamlin... |
24 25 26 27 |
.read = do_sync_read, .aio_read = generic_file_aio_read, .write = do_sync_write, .aio_write = generic_file_aio_write, |
1da177e4c Linux-2.6.12-rc2 |
28 29 |
.mmap = generic_file_mmap, .fsync = sysv_sync_file, |
5ffc4ef45 sendfile: remove ... |
30 |
.splice_read = generic_file_splice_read, |
1da177e4c Linux-2.6.12-rc2 |
31 |
}; |
c5ef1c42c [PATCH] mark stru... |
32 |
const struct inode_operations sysv_file_inode_operations = { |
1da177e4c Linux-2.6.12-rc2 |
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
.truncate = sysv_truncate, .getattr = sysv_getattr, }; int sysv_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); if (!(inode->i_state & I_DIRTY)) return err; if (datasync && !(inode->i_state & I_DIRTY_DATASYNC)) return err; err |= sysv_sync_inode(inode); return err ? -EIO : 0; } |