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

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [fs/] [minix/] [file.c] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 *  linux/fs/minix/file.c
3
 *
4
 *  Copyright (C) 1991, 1992 Linus Torvalds
5
 *
6
 *  minix regular file handling primitives
7
 */
8
 
9
#include <linux/buffer_head.h>          /* for fsync_inode_buffers() */
10
#include "minix.h"
11
 
12
/*
13
 * We have mostly NULLs here: the current defaults are OK for
14
 * the minix filesystem.
15
 */
16
int minix_sync_file(struct file *, struct dentry *, int);
17
 
18
const struct file_operations minix_file_operations = {
19
        .llseek         = generic_file_llseek,
20
        .read           = do_sync_read,
21
        .aio_read       = generic_file_aio_read,
22
        .write          = do_sync_write,
23
        .aio_write      = generic_file_aio_write,
24
        .mmap           = generic_file_mmap,
25
        .fsync          = minix_sync_file,
26
        .splice_read    = generic_file_splice_read,
27
};
28
 
29
const struct inode_operations minix_file_inode_operations = {
30
        .truncate       = minix_truncate,
31
        .getattr        = minix_getattr,
32
};
33
 
34
int minix_sync_file(struct file * file, struct dentry *dentry, int datasync)
35
{
36
        struct inode *inode = dentry->d_inode;
37
        int err;
38
 
39
        err = sync_mapping_buffers(inode->i_mapping);
40
        if (!(inode->i_state & I_DIRTY))
41
                return err;
42
        if (datasync && !(inode->i_state & I_DIRTY_DATASYNC))
43
                return err;
44
 
45
        err |= minix_sync_inode(inode);
46
        return err ? -EIO : 0;
47
}

powered by: WebSVN 2.1.0

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