diff options
Diffstat (limited to 'fs/jfs/inode.c')
| -rw-r--r-- | fs/jfs/inode.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c index b2ae190a77ba..9dd126276c9f 100644 --- a/fs/jfs/inode.c +++ b/fs/jfs/inode.c | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <linux/buffer_head.h> | 22 | #include <linux/buffer_head.h> |
| 23 | #include <linux/pagemap.h> | 23 | #include <linux/pagemap.h> |
| 24 | #include <linux/quotaops.h> | 24 | #include <linux/quotaops.h> |
| 25 | #include <linux/writeback.h> | ||
| 25 | #include "jfs_incore.h" | 26 | #include "jfs_incore.h" |
| 26 | #include "jfs_inode.h" | 27 | #include "jfs_inode.h" |
| 27 | #include "jfs_filsys.h" | 28 | #include "jfs_filsys.h" |
| @@ -120,8 +121,10 @@ int jfs_commit_inode(struct inode *inode, int wait) | |||
| 120 | return rc; | 121 | return rc; |
| 121 | } | 122 | } |
| 122 | 123 | ||
| 123 | int jfs_write_inode(struct inode *inode, int wait) | 124 | int jfs_write_inode(struct inode *inode, struct writeback_control *wbc) |
| 124 | { | 125 | { |
| 126 | int wait = wbc->sync_mode == WB_SYNC_ALL; | ||
| 127 | |||
| 125 | if (test_cflag(COMMIT_Nolink, inode)) | 128 | if (test_cflag(COMMIT_Nolink, inode)) |
| 126 | return 0; | 129 | return 0; |
| 127 | /* | 130 | /* |
| @@ -146,6 +149,9 @@ void jfs_delete_inode(struct inode *inode) | |||
| 146 | { | 149 | { |
| 147 | jfs_info("In jfs_delete_inode, inode = 0x%p", inode); | 150 | jfs_info("In jfs_delete_inode, inode = 0x%p", inode); |
| 148 | 151 | ||
| 152 | if (!is_bad_inode(inode)) | ||
| 153 | dquot_initialize(inode); | ||
| 154 | |||
| 149 | if (!is_bad_inode(inode) && | 155 | if (!is_bad_inode(inode) && |
| 150 | (JFS_IP(inode)->fileset == FILESYSTEM_I)) { | 156 | (JFS_IP(inode)->fileset == FILESYSTEM_I)) { |
| 151 | truncate_inode_pages(&inode->i_data, 0); | 157 | truncate_inode_pages(&inode->i_data, 0); |
| @@ -158,9 +164,9 @@ void jfs_delete_inode(struct inode *inode) | |||
| 158 | /* | 164 | /* |
| 159 | * Free the inode from the quota allocation. | 165 | * Free the inode from the quota allocation. |
| 160 | */ | 166 | */ |
| 161 | vfs_dq_init(inode); | 167 | dquot_initialize(inode); |
| 162 | vfs_dq_free_inode(inode); | 168 | dquot_free_inode(inode); |
| 163 | vfs_dq_drop(inode); | 169 | dquot_drop(inode); |
| 164 | } | 170 | } |
| 165 | 171 | ||
| 166 | clear_inode(inode); | 172 | clear_inode(inode); |
