Messages in this thread Patch in this message | | | From | Artem Bityutskiy <> | Subject | [PATCH 1/1] VFS: introduce s_dirty accessors | Date | Thu, 10 Jun 2010 13:56:33 +0300 |
| |
From: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
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> --- 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 471e1ff..68ca1b0 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 *, struct vfsmount *mnt); extern void simple_set_mnt(struct vfsmount *mnt, struct super_block *sb); +static inline void sb_mark_dirty(struct super_block *sb) +{ + sb->s_dirt = 1; +} +static inline void sb_mark_clean(struct super_block *sb) +{ + sb->s_dirt = 0; +} +static inline int sb_is_dirty(struct super_block *sb) +{ + return sb->s_dirt; +} + /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ #define fops_get(fops) \ (((fops) && try_module_get((fops)->owner) ? (fops) : NULL)) -- 1.7.0.1
| |