|
@@ -103,6 +103,8 @@ enum {
|
|
/* for the list of ino */
|
|
/* for the list of ino */
|
|
enum {
|
|
enum {
|
|
ORPHAN_INO, /* for orphan ino list */
|
|
ORPHAN_INO, /* for orphan ino list */
|
|
|
|
+ APPEND_INO, /* for append ino list */
|
|
|
|
+ UPDATE_INO, /* for update ino list */
|
|
MAX_INO_ENTRY, /* max. list */
|
|
MAX_INO_ENTRY, /* max. list */
|
|
};
|
|
};
|
|
|
|
|
|
@@ -994,6 +996,8 @@ enum {
|
|
FI_NO_EXTENT, /* not to use the extent cache */
|
|
FI_NO_EXTENT, /* not to use the extent cache */
|
|
FI_INLINE_XATTR, /* used for inline xattr */
|
|
FI_INLINE_XATTR, /* used for inline xattr */
|
|
FI_INLINE_DATA, /* used for inline data*/
|
|
FI_INLINE_DATA, /* used for inline data*/
|
|
|
|
+ FI_APPEND_WRITE, /* inode has appended data */
|
|
|
|
+ FI_UPDATE_WRITE, /* inode has in-place-update data */
|
|
};
|
|
};
|
|
|
|
|
|
static inline void set_inode_flag(struct f2fs_inode_info *fi, int flag)
|
|
static inline void set_inode_flag(struct f2fs_inode_info *fi, int flag)
|
|
@@ -1252,6 +1256,9 @@ struct page *grab_meta_page(struct f2fs_sb_info *, pgoff_t);
|
|
struct page *get_meta_page(struct f2fs_sb_info *, pgoff_t);
|
|
struct page *get_meta_page(struct f2fs_sb_info *, pgoff_t);
|
|
int ra_meta_pages(struct f2fs_sb_info *, int, int, int);
|
|
int ra_meta_pages(struct f2fs_sb_info *, int, int, int);
|
|
long sync_meta_pages(struct f2fs_sb_info *, enum page_type, long);
|
|
long sync_meta_pages(struct f2fs_sb_info *, enum page_type, long);
|
|
|
|
+void add_dirty_inode(struct f2fs_sb_info *, nid_t, int type);
|
|
|
|
+void remove_dirty_inode(struct f2fs_sb_info *, nid_t, int type);
|
|
|
|
+bool exist_written_data(struct f2fs_sb_info *, nid_t, int);
|
|
int acquire_orphan_inode(struct f2fs_sb_info *);
|
|
int acquire_orphan_inode(struct f2fs_sb_info *);
|
|
void release_orphan_inode(struct f2fs_sb_info *);
|
|
void release_orphan_inode(struct f2fs_sb_info *);
|
|
void add_orphan_inode(struct f2fs_sb_info *, nid_t);
|
|
void add_orphan_inode(struct f2fs_sb_info *, nid_t);
|