diff options
author | Christoph Hellwig <hch@lst.de> | 2010-03-05 03:21:37 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2010-03-05 13:25:52 -0500 |
commit | a9185b41a4f84971b930c519f0c63bd450c4810d (patch) | |
tree | 268cf4e206cca12fb9e1dd68984e7c190e465b46 /fs/adfs | |
parent | 26821ed40b4230259e770c9911180f38fcaa6f59 (diff) |
pass writeback_control to ->write_inode
This gives the filesystem more information about the writeback that
is happening. Trond requested this for the NFS unstable write handling,
and other filesystems might benefit from this too by beeing able to
distinguish between the different callers in more detail.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/adfs')
-rw-r--r-- | fs/adfs/adfs.h | 2 | ||||
-rw-r--r-- | fs/adfs/inode.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/fs/adfs/adfs.h b/fs/adfs/adfs.h index 9cc18775b832..2ff622f6f547 100644 --- a/fs/adfs/adfs.h +++ b/fs/adfs/adfs.h | |||
@@ -121,7 +121,7 @@ struct adfs_discmap { | |||
121 | 121 | ||
122 | /* Inode stuff */ | 122 | /* Inode stuff */ |
123 | struct inode *adfs_iget(struct super_block *sb, struct object_info *obj); | 123 | struct inode *adfs_iget(struct super_block *sb, struct object_info *obj); |
124 | int adfs_write_inode(struct inode *inode,int unused); | 124 | int adfs_write_inode(struct inode *inode, struct writeback_control *wbc); |
125 | int adfs_notify_change(struct dentry *dentry, struct iattr *attr); | 125 | int adfs_notify_change(struct dentry *dentry, struct iattr *attr); |
126 | 126 | ||
127 | /* map.c */ | 127 | /* map.c */ |
diff --git a/fs/adfs/inode.c b/fs/adfs/inode.c index 3f57ce4bee5d..0f5e30978135 100644 --- a/fs/adfs/inode.c +++ b/fs/adfs/inode.c | |||
@@ -9,6 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | #include <linux/smp_lock.h> | 10 | #include <linux/smp_lock.h> |
11 | #include <linux/buffer_head.h> | 11 | #include <linux/buffer_head.h> |
12 | #include <linux/writeback.h> | ||
12 | #include "adfs.h" | 13 | #include "adfs.h" |
13 | 14 | ||
14 | /* | 15 | /* |
@@ -360,7 +361,7 @@ out: | |||
360 | * The adfs-specific inode data has already been updated by | 361 | * The adfs-specific inode data has already been updated by |
361 | * adfs_notify_change() | 362 | * adfs_notify_change() |
362 | */ | 363 | */ |
363 | int adfs_write_inode(struct inode *inode, int wait) | 364 | int adfs_write_inode(struct inode *inode, struct writeback_control *wbc) |
364 | { | 365 | { |
365 | struct super_block *sb = inode->i_sb; | 366 | struct super_block *sb = inode->i_sb; |
366 | struct object_info obj; | 367 | struct object_info obj; |
@@ -375,7 +376,7 @@ int adfs_write_inode(struct inode *inode, int wait) | |||
375 | obj.attr = ADFS_I(inode)->attr; | 376 | obj.attr = ADFS_I(inode)->attr; |
376 | obj.size = inode->i_size; | 377 | obj.size = inode->i_size; |
377 | 378 | ||
378 | ret = adfs_dir_update(sb, &obj, wait); | 379 | ret = adfs_dir_update(sb, &obj, wbc->sync_mode == WB_SYNC_ALL); |
379 | unlock_kernel(); | 380 | unlock_kernel(); |
380 | return ret; | 381 | return ret; |
381 | } | 382 | } |