diff options
| author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-07-27 22:15:10 +0000 |
|---|---|---|
| committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-07-27 22:15:10 +0000 |
| commit | b5875be0451b92bdd99663c8305ae46bd6a7d90c (patch) | |
| tree | 68a6a5f79ac618c79ba3777c21faaea9aec2f0b4 /libdde-linux26/contrib/include/linux/reiserfs_fs_i.h | |
| parent | ce6a36c7f7c88e7ca0fda816f9282237bb86829d (diff) | |
| parent | 7996a3d79d55b7f879dfd62e202bbfe2963718d3 (diff) | |
Merge branch 'upstream-merged'
Diffstat (limited to 'libdde-linux26/contrib/include/linux/reiserfs_fs_i.h')
| -rw-r--r-- | libdde-linux26/contrib/include/linux/reiserfs_fs_i.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/libdde-linux26/contrib/include/linux/reiserfs_fs_i.h b/libdde-linux26/contrib/include/linux/reiserfs_fs_i.h new file mode 100644 index 00000000..ce3663fb --- /dev/null +++ b/libdde-linux26/contrib/include/linux/reiserfs_fs_i.h @@ -0,0 +1,67 @@ +#ifndef _REISER_FS_I +#define _REISER_FS_I + +#include <linux/list.h> + +struct reiserfs_journal_list; + +/** bitmasks for i_flags field in reiserfs-specific part of inode */ +typedef enum { + /** this says what format of key do all items (but stat data) of + an object have. If this is set, that format is 3.6 otherwise + - 3.5 */ + i_item_key_version_mask = 0x0001, + /** If this is unset, object has 3.5 stat data, otherwise, it has + 3.6 stat data with 64bit size, 32bit nlink etc. */ + i_stat_data_version_mask = 0x0002, + /** file might need tail packing on close */ + i_pack_on_close_mask = 0x0004, + /** don't pack tail of file */ + i_nopack_mask = 0x0008, + /** If those is set, "safe link" was created for this file during + truncate or unlink. Safe link is used to avoid leakage of disk + space on crash with some files open, but unlinked. */ + i_link_saved_unlink_mask = 0x0010, + i_link_saved_truncate_mask = 0x0020, + i_has_xattr_dir = 0x0040, + i_data_log = 0x0080, + i_ever_mapped = 0x0100 +} reiserfs_inode_flags; + +struct reiserfs_inode_info { + __u32 i_key[4]; /* key is still 4 32 bit integers */ + /** transient inode flags that are never stored on disk. Bitmasks + for this field are defined above. */ + __u32 i_flags; + + __u32 i_first_direct_byte; // offset of first byte stored in direct item. + + /* copy of persistent inode flags read from sd_attrs. */ + __u32 i_attrs; + + int i_prealloc_block; /* first unused block of a sequence of unused blocks */ + int i_prealloc_count; /* length of that sequence */ + struct list_head i_prealloc_list; /* per-transaction list of inodes which + * have preallocated blocks */ + + unsigned new_packing_locality:1; /* new_packig_locality is created; new blocks + * for the contents of this directory should be + * displaced */ + + /* we use these for fsync or O_SYNC to decide which transaction + ** needs to be committed in order for this inode to be properly + ** flushed */ + unsigned long i_trans_id; + struct reiserfs_journal_list *i_jl; + struct mutex i_mmap; +#ifdef CONFIG_REISERFS_FS_POSIX_ACL + struct posix_acl *i_acl_access; + struct posix_acl *i_acl_default; +#endif +#ifdef CONFIG_REISERFS_FS_XATTR + struct rw_semaphore xattr_sem; +#endif + struct inode vfs_inode; +}; + +#endif |
