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

Subversion Repositories or1k

[/] [or1k/] [tags/] [LINUX_2_4_26_OR32/] [linux/] [linux-2.4/] [include/] [linux/] [umsdos_fs_i.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef UMSDOS_FS_I_H
2
#define UMSDOS_FS_I_H
3
 
4
#ifndef _LINUX_TYPES_H
5
#include <linux/types.h>
6
#endif
7
 
8
#include <linux/msdos_fs_i.h>
9
#include <linux/pipe_fs_i.h>
10
 
11
/* #Specification: strategy / in memory inode
12
 * Here is the information specific to the inode of the UMSDOS file
13
 * system. This information is added to the end of the standard struct
14
 * inode. Each file system has its own extension to struct inode,
15
 * so do the umsdos file system.
16
 *
17
 * The strategy is to have the umsdos_inode_info as a superset of
18
 * the msdos_inode_info, since most of the time the job is done
19
 * by the msdos fs code.
20
 *
21
 * So we duplicate the msdos_inode_info, and add our own info at the
22
 * end.
23
 *
24
 * The offset in this EMD file of the entry: pos
25
 *
26
 * For directory, we have dir_locking_info to help synchronise
27
 * file creation and file lookup. See also msdos_fs_i.h for more
28
 * information about msdos_inode_info.
29
 *
30
 * Special file and fifo do have an inode which correspond to an
31
 * empty MSDOS file.
32
 *
33
 * symlink are processed mostly like regular file. The content is the
34
 * link.
35
 *
36
 * The UMSDOS specific extension is placed after the union.
37
 */
38
 
39
struct dir_locking_info {
40
        wait_queue_head_t p;
41
        short int looking;      /* How many process doing a lookup */
42
        short int creating;     /* Is there any creation going on here
43
                                 *  Only one at a time, although one
44
                                 *  may recursively lock, so it is a counter
45
                                 */
46
        long pid;               /* pid of the process owning the creation
47
                                 * lock */
48
};
49
 
50
struct umsdos_inode_info {
51
        struct msdos_inode_info msdos_info;
52
        struct dir_locking_info dir_info;
53
        int i_patched;                  /* Inode has been patched */
54
        int i_is_hlink;                 /* Resolved hardlink inode? */
55
        off_t pos;                      /* Entry offset in the emd_owner file */
56
};
57
 
58
#endif

powered by: WebSVN 2.1.0

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