diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2010-06-10 06:56:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-06 20:32:07 -0400 |
commit | 140236b4b1c749c9b795ea3d11558a0eb5a3a080 (patch) | |
tree | b720aa99ca2fc8bc012777c98d321b994c1730d7 /include | |
parent | 47a716cf0ca981b9549ec9815122ada7a0ff707c (diff) |
VFS: introduce s_dirty accessors
This patch introduces 3 VFS accessors: 'sb_mark_dirty()',
'sb_mark_clean()', and 'sb_is_dirty()'. They simply
set 'sb->s_dirt' or test 'sb->s_dirt'. The plan is to make
every FS use these accessors later instead of manipulating
the 'sb->s_dirt' flag directly.
Ultimately, this change is a preparation for the periodic
superblock synchronization optimization which is about
preventing the "sync_supers" kernel thread from waking up
even if there is nothing to synchronize.
This patch does not do any functional change, just adds
accessor functions.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fs.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 471e1ff5079a..68ca1b0491af 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1783,6 +1783,19 @@ extern int get_sb_pseudo(struct file_system_type *, char *, | |||
1783 | struct vfsmount *mnt); | 1783 | struct vfsmount *mnt); |
1784 | extern void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb); | 1784 | extern void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb); |
1785 | 1785 | ||
1786 | static inline void sb_mark_dirty(struct super_block *sb) | ||
1787 | { | ||
1788 | sb->s_dirt = 1; | ||
1789 | } | ||
1790 | static inline void sb_mark_clean(struct super_block *sb) | ||
1791 | { | ||
1792 | sb->s_dirt = 0; | ||
1793 | } | ||
1794 | static inline int sb_is_dirty(struct super_block *sb) | ||
1795 | { | ||
1796 | return sb->s_dirt; | ||
1797 | } | ||
1798 | |||
1786 | /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ | 1799 | /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ |
1787 | #define fops_get(fops) \ | 1800 | #define fops_get(fops) \ |
1788 | (((fops) && try_module_get((fops)->owner) ? (fops) : NULL)) | 1801 | (((fops) && try_module_get((fops)->owner) ? (fops) : NULL)) |