OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [fs/] [sysv/] [file.c] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 *  linux/fs/sysv/file.c
3
 *
4
 *  minix/file.c
5
 *  Copyright (C) 1991, 1992  Linus Torvalds
6
 *
7
 *  coh/file.c
8
 *  Copyright (C) 1993  Pascal Haible, Bruno Haible
9
 *
10
 *  sysv/file.c
11
 *  Copyright (C) 1993  Bruno Haible
12
 *
13
 *  SystemV/Coherent regular file handling primitives
14
 */
15
 
16
#include <linux/fs.h>
17
#include <linux/sysv_fs.h>
18
 
19
/*
20
 * We have mostly NULLs here: the current defaults are OK for
21
 * the coh filesystem.
22
 */
23
struct file_operations sysv_file_operations = {
24
        llseek:         generic_file_llseek,
25
        read:           generic_file_read,
26
        write:          generic_file_write,
27
        mmap:           generic_file_mmap,
28
        fsync:          sysv_sync_file,
29
};
30
 
31
struct inode_operations sysv_file_inode_operations = {
32
        truncate:       sysv_truncate,
33
};
34
 
35
int sysv_sync_file(struct file * file, struct dentry *dentry, int datasync)
36
{
37
        struct inode *inode = dentry->d_inode;
38
        int err;
39
 
40
        err = fsync_inode_buffers(inode);
41
        err |= fsync_inode_data_buffers(inode);
42
        if (!(inode->i_state & I_DIRTY))
43
                return err;
44
        if (datasync && !(inode->i_state & I_DIRTY_DATASYNC))
45
                return err;
46
 
47
        err |= sysv_sync_inode(inode);
48
        return err ? -EIO : 0;
49
}

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.