mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 04:42:12 +00:00
VFS: export sync_sb_inodes
This patch exports the 'sync_sb_inodes()' which is needed for UBIFS because it has to force write-back from time to time. Namely, the UBIFS budgeting subsystem forces write-back when its pessimistic callculations show that there is no free space on the media. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
parent
ae8547b0a9
commit
4ee6afd344
@ -439,8 +439,8 @@ __writeback_single_inode(struct inode *inode, struct writeback_control *wbc)
|
||||
* on the writer throttling path, and we get decent balancing between many
|
||||
* throttled threads: we don't want them all piling up on inode_sync_wait.
|
||||
*/
|
||||
static void
|
||||
sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc)
|
||||
void generic_sync_sb_inodes(struct super_block *sb,
|
||||
struct writeback_control *wbc)
|
||||
{
|
||||
const unsigned long start = jiffies; /* livelock avoidance */
|
||||
|
||||
@ -526,6 +526,13 @@ sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc)
|
||||
spin_unlock(&inode_lock);
|
||||
return; /* Leave any unwritten inodes on s_io */
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(generic_sync_sb_inodes);
|
||||
|
||||
static void sync_sb_inodes(struct super_block *sb,
|
||||
struct writeback_control *wbc)
|
||||
{
|
||||
generic_sync_sb_inodes(sb, wbc);
|
||||
}
|
||||
|
||||
/*
|
||||
* Start writeback of dirty pagecache data against all unlocked inodes.
|
||||
|
@ -1729,6 +1729,8 @@ static inline void invalidate_remote_inode(struct inode *inode)
|
||||
extern int invalidate_inode_pages2(struct address_space *mapping);
|
||||
extern int invalidate_inode_pages2_range(struct address_space *mapping,
|
||||
pgoff_t start, pgoff_t end);
|
||||
extern void generic_sync_sb_inodes(struct super_block *sb,
|
||||
struct writeback_control *wbc);
|
||||
extern int write_inode_now(struct inode *, int);
|
||||
extern int filemap_fdatawrite(struct address_space *);
|
||||
extern int filemap_flush(struct address_space *);
|
||||
|
Loading…
Reference in New Issue
Block a user