login
Header Space

 
 

[PATCH take 2 01/28] VFS: introduce writeback_inodes_sb()

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: LKML <linux-kernel@...>
Cc: Adrian Hunter <ext-adrian.hunter@...>, Artem Bityutskiy <Artem.Bityutskiy@...>
Date: Tuesday, May 6, 2008 - 6:35 am

Let file systems to writeback their pages and inodes when needed. This
is needed for UBIFS budgeting sub-system because it has to force
write-back from time to time.

Note, it cannot be called if one of the dirty pages is locked by
the caller, otherwise it'll deadlock.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
---
 fs/fs-writeback.c         |    8 ++++++++
 include/linux/writeback.h |    1 +
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 0655767..4591270 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -573,6 +573,14 @@ void sync_inodes_sb(struct super_block *sb, int wait)
 	spin_unlock(&inode_lock);
 }
 
+void writeback_inodes_sb(struct super_block *sb, struct writeback_control *wbc)
+{
+	spin_lock(&inode_lock);
+	sync_sb_inodes(sb, wbc);
+	spin_unlock(&inode_lock);
+}
+EXPORT_SYMBOL_GPL(writeback_inodes_sb);
+
 /*
  * Rather lame livelock avoidance.
  */
diff --git a/include/linux/writeback.h b/include/linux/writeback.h
index b7b3362..0083a0a 100644
--- a/include/linux/writeback.h
+++ b/include/linux/writeback.h
@@ -71,6 +71,7 @@ struct writeback_control {
 void writeback_inodes(struct writeback_control *wbc);
 int inode_wait(void *);
 void sync_inodes_sb(struct super_block *, int wait);
+void writeback_inodes_sb(struct super_block *sb, struct writeback_control *wbc);
 void sync_inodes(int wait);
 
 /* writeback.h requires fs.h; it, too, is not included from here. */
-- 
1.5.4.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH take 2] UBIFS - new flash file system, Artem Bityutskiy, (Tue May 6, 6:35 am)
Re: [PATCH take 2] UBIFS - new flash file system, Christoph Hellwig, (Fri May 16, 6:40 am)
Re: [PATCH take 2] UBIFS - new flash file system, Artem Bityutskiy, (Fri May 23, 11:18 am)
Re: [PATCH take 2] UBIFS - new flash file system, Artem Bityutskiy, (Mon May 19, 7:30 am)
Re: [PATCH take 2] UBIFS - new flash file system, Andi Kleen, (Mon May 19, 8:36 am)
Re: [PATCH take 2] UBIFS - new flash file system, Adrian Hunter, (Fri May 16, 9:10 am)
Re: [PATCH take 2] UBIFS - new flash file system, Christoph Hellwig, (Wed May 7, 4:01 am)
Re: [PATCH take 2] UBIFS - new flash file system, Artem Bityutskiy, (Wed May 7, 4:07 am)
Re: [PATCH take 2] UBIFS - new flash file system, Christoph Hellwig, (Wed May 7, 4:10 am)
Re: [PATCH take 2] UBIFS - new flash file system, Artem Bityutskiy, (Wed May 7, 6:31 am)
Re: [PATCH take 2] UBIFS - new flash file system, Artem Bityutskiy, (Wed May 7, 4:32 am)
Re: [PATCH take 2] UBIFS - new flash file system, Artem Bityutskiy, (Wed May 7, 4:11 am)
[PATCH take 2 21/28] UBIFS: add Garbage Collector, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 27/28] UBIFS: add debugging stuff, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 26/28] UBIFS: add header files, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 18/28] UBIFS: add LEB properties tree, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 23/28] UBIFS: add budgeting, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 22/28] UBIFS: add VFS operations, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 24/28] UBIFS: add extended attribute support, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 28/28] UBIFS: include FS to compilation, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 25/28] UBIFS: add orphans handling sub-system, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 20/28] UBIFS: add LEB find subsystem, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 19/28] UBIFS: add LEB properties tree, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 17/28] UBIFS: add LEB properties, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 15/28] UBIFS: add TNC commit implementation, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 02/28] do_mounts: allow UBI root device name, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Artem Bityutskiy, (Tue May 6, 6:35 am)
Re: [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Artem Bityutskiy, (Tue May 20, 8:45 am)
Re: [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Artem Bityutskiy, (Thu May 22, 6:53 am)
Re: [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Artem Bityutskiy, (Thu May 22, 7:00 am)
Re: [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Artem Bityutskiy, (Wed May 7, 12:55 pm)
Re: [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Christoph Hellwig, (Wed May 7, 4:00 am)
Re: [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Artem Bityutskiy, (Tue May 13, 4:31 am)
Re: [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Christoph Hellwig, (Tue May 13, 4:59 am)
Re: [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb(), Artem Bityutskiy, (Tue May 13, 5:22 am)
[PATCH take 2 05/28] UBIFS: add flash scanning, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 03/28] UBIFS: add brief documentation, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 16/28] UBIFS: add TNC shrinker, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 14/28] UBIFS: add TNC implementation, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 12/28] UBIFS: add the journal, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 13/28] UBIFS: add commit functionality, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 11/28] UBIFS: add key helpers, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 09/28] UBIFS: add file-system recovery, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 08/28] UBIFS: add superblock and master node, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 04/28] UBIFS: add I/O sub-system, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 07/28] UBIFS: add file-system build, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 10/28] UBIFS: add compression support, Artem Bityutskiy, (Tue May 6, 6:35 am)
[PATCH take 2 06/28] UBIFS: add journal replay, Artem Bityutskiy, (Tue May 6, 6:35 am)
Re: [PATCH take 2 06/28] UBIFS: add journal replay, Marcin Slusarz, (Tue May 6, 6:05 pm)
Re: [PATCH take 2 06/28] UBIFS: add journal replay, Artem Bityutskiy, (Wed May 7, 1:57 am)
speck-geostationary