aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-05-27 06:53:02 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2011-05-27 07:04:40 -0400
commitaa38572954ade525817fe88c54faebf85e5a61c0 (patch)
treeef398ec06c97134592f62a49c99f3f80041b427c /include
parentd6e9bd256c88ce5f4b668249e363a74f51393daa (diff)
fs: pass exact type of data dirties to ->dirty_inode
Tell the filesystem if we just updated timestamp (I_DIRTY_SYNC) or anything else, so that the filesystem can track internally if it needs to push out a transaction for fdatasync or not. This is just the prototype change with no user for it yet. I plan to push large XFS changes for the next merge window, and getting this trivial infrastructure in this window would help a lot to avoid tree interdependencies. Also remove incorrect comments that ->dirty_inode can't block. That has been changed a long time ago, and many implementations rely on it. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ext3_fs.h2
-rw-r--r--include/linux/fs.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h
index 85c1d302c12e..5e06acf95d0f 100644
--- a/include/linux/ext3_fs.h
+++ b/include/linux/ext3_fs.h
@@ -909,7 +909,7 @@ extern int ext3_setattr (struct dentry *, struct iattr *);
909extern void ext3_evict_inode (struct inode *); 909extern void ext3_evict_inode (struct inode *);
910extern int ext3_sync_inode (handle_t *, struct inode *); 910extern int ext3_sync_inode (handle_t *, struct inode *);
911extern void ext3_discard_reservation (struct inode *); 911extern void ext3_discard_reservation (struct inode *);
912extern void ext3_dirty_inode(struct inode *); 912extern void ext3_dirty_inode(struct inode *, int);
913extern int ext3_change_inode_journal_flag(struct inode *, int); 913extern int ext3_change_inode_journal_flag(struct inode *, int);
914extern int ext3_get_inode_loc(struct inode *, struct ext3_iloc *); 914extern int ext3_get_inode_loc(struct inode *, struct ext3_iloc *);
915extern int ext3_can_truncate(struct inode *inode); 915extern int ext3_can_truncate(struct inode *inode);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 241609346dfb..573028df050d 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1618,7 +1618,7 @@ struct super_operations {
1618 struct inode *(*alloc_inode)(struct super_block *sb); 1618 struct inode *(*alloc_inode)(struct super_block *sb);
1619 void (*destroy_inode)(struct inode *); 1619 void (*destroy_inode)(struct inode *);
1620 1620
1621 void (*dirty_inode) (struct inode *); 1621 void (*dirty_inode) (struct inode *, int flags);
1622 int (*write_inode) (struct inode *, struct writeback_control *wbc); 1622 int (*write_inode) (struct inode *, struct writeback_control *wbc);
1623 int (*drop_inode) (struct inode *); 1623 int (*drop_inode) (struct inode *);
1624 void (*evict_inode) (struct inode *); 1624 void (*evict_inode) (struct inode *);