diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-08-25 09:12:35 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-08-25 09:12:35 +0000 |
commit | c7fc24dc4420057f103afe8fc64524ebc25c5d37 (patch) | |
tree | 3682407a599b8f9f03fc096298134cafba1c9b2f /include/linux/umsdos_fs_i.h | |
parent | 1d793fade8b063fde3cf275bf1a5c2d381292cd9 (diff) |
o Merge with Linux 2.1.116.
o New Newport console code.
o New G364 console code.
Diffstat (limited to 'include/linux/umsdos_fs_i.h')
-rw-r--r-- | include/linux/umsdos_fs_i.h | 93 |
1 files changed, 48 insertions, 45 deletions
diff --git a/include/linux/umsdos_fs_i.h b/include/linux/umsdos_fs_i.h index 1020179eb..dea618561 100644 --- a/include/linux/umsdos_fs_i.h +++ b/include/linux/umsdos_fs_i.h @@ -4,65 +4,68 @@ #ifndef _LINUX_TYPES_H #include <linux/types.h> #endif + #include <linux/msdos_fs_i.h> #include <linux/pipe_fs_i.h> /* #Specification: strategy / in memory inode - Here is the information specific to the inode of the UMSDOS file - system. This information is added to the end of the standard struct - inode. Each file system has its own extension to struct inode, - so do the umsdos file system. - - The strategy is to have the umsdos_inode_info as a superset of - the msdos_inode_info, since most of the time the job is done - by the msdos fs code. - - So we duplicate the msdos_inode_info, and add our own info at the - end. - - For all file type (and directory) the inode has a reference to: - the directory which hold this entry: i_dir_owner - The EMD file of i_dir_owner: i_emd_owner - The offset in this EMD file of the entry: pos - - For directory, we also have a reference to the inode of its - own EMD file. Also, we have dir_locking_info to help synchronise - file creation and file lookup. This data is sharing space with - the pipe_inode_info not used by directory. See also msdos_fs_i.h - for more information about pipe_inode_info and msdos_inode_info. + * Here is the information specific to the inode of the UMSDOS file + * system. This information is added to the end of the standard struct + * inode. Each file system has its own extension to struct inode, + * so do the umsdos file system. + * + * The strategy is to have the umsdos_inode_info as a superset of + * the msdos_inode_info, since most of the time the job is done + * by the msdos fs code. + * + * So we duplicate the msdos_inode_info, and add our own info at the + * end. + * + * For all file type (and directory) the inode has a reference to: + * the directory which hold this entry: i_dir_owner + * The EMD file of i_dir_owner: i_emd_owner + * The offset in this EMD file of the entry: pos + * + * For directory, we also have a reference to the inode of its + * own EMD file. Also, we have dir_locking_info to help synchronise + * file creation and file lookup. This data is sharing space with + * the pipe_inode_info not used by directory. See also msdos_fs_i.h + * for more information about pipe_inode_info and msdos_inode_info. + * + * Special file and fifo do have an inode which correspond to an + * empty MSDOS file. + * + * symlink are processed mostly like regular file. The content is the + * link. + * + * fifos add there own extension to the inode. I have reserved some + * space for fifos side by side with msdos_inode_info. This is just + * to for the show, because msdos_inode_info already include the + * pipe_inode_info. + * + * The UMSDOS specific extension is placed after the union. + */ - Special file and fifo do have an inode which correspond to an - empty MSDOS file. - - symlink are processed mostly like regular file. The content is the - link. - - fifos add there own extension to the inode. I have reserved some - space for fifos side by side with msdos_inode_info. This is just - to for the show, because msdos_inode_info already include the - pipe_inode_info. - - The UMSDOS specific extension is placed after the union. -*/ struct dir_locking_info { struct wait_queue *p; - short int looking; /* How many process doing a lookup */ - short int creating; /* Is there any creation going on here */ - /* Only one at a time, although one */ - /* may recursively lock, so it is a counter */ - long pid; /* pid of the process owning the creation */ - /* lock */ + short int looking; /* How many process doing a lookup */ + short int creating; /* Is there any creation going on here + * Only one at a time, although one + * may recursively lock, so it is a counter + */ + long pid; /* pid of the process owning the creation */ + /* lock */ }; + struct umsdos_inode_info { union { struct msdos_inode_info msdos_info; struct pipe_inode_info pipe_info; struct dir_locking_info dir_info; - }u; /* Simply a filler, never referenced by fs/umsdos/... */ - unsigned long i_dir_owner; /* Inode of the dir which hold this */ - /* entry */ + } u; /* Simply a filler, never referenced by fs/umsdos/... */ + unsigned long i_dir_owner; /* Inode of the dir which hold this entry */ unsigned long i_emd_owner; /* Inode of the EMD file of i_dir_owner */ - off_t pos; /* Entry offset in the emd_owner file */ + off_t pos; /* Entry offset in the emd_owner file */ /* The rest is used only if this inode describe a directory */ unsigned long i_emd_dir; /* Inode of the EMD file of this inode */ }; |