aboutsummaryrefslogtreecommitdiffstats
path: root/fs/hfsplus/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/hfsplus/super.c')
-rw-r--r--fs/hfsplus/super.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c
index 811a84d2d96..796198d2655 100644
--- a/fs/hfsplus/super.c
+++ b/fs/hfsplus/super.c
@@ -127,8 +127,14 @@ static int hfsplus_system_write_inode(struct inode *inode)
127 hfsplus_mark_mdb_dirty(inode->i_sb); 127 hfsplus_mark_mdb_dirty(inode->i_sb);
128 } 128 }
129 hfsplus_inode_write_fork(inode, fork); 129 hfsplus_inode_write_fork(inode, fork);
130 if (tree) 130 if (tree) {
131 hfs_btree_write(tree); 131 int err = hfs_btree_write(tree);
132 if (err) {
133 printk(KERN_ERR "hfs: b-tree write err: %d, ino %lu\n",
134 err, inode->i_ino);
135 return err;
136 }
137 }
132 return 0; 138 return 0;
133} 139}
134 140
@@ -226,6 +232,7 @@ out:
226 232
227static void delayed_sync_fs(struct work_struct *work) 233static void delayed_sync_fs(struct work_struct *work)
228{ 234{
235 int err;
229 struct hfsplus_sb_info *sbi; 236 struct hfsplus_sb_info *sbi;
230 237
231 sbi = container_of(work, struct hfsplus_sb_info, sync_work.work); 238 sbi = container_of(work, struct hfsplus_sb_info, sync_work.work);
@@ -234,7 +241,9 @@ static void delayed_sync_fs(struct work_struct *work)
234 sbi->work_queued = 0; 241 sbi->work_queued = 0;
235 spin_unlock(&sbi->work_lock); 242 spin_unlock(&sbi->work_lock);
236 243
237 hfsplus_sync_fs(sbi->alloc_file->i_sb, 1); 244 err = hfsplus_sync_fs(sbi->alloc_file->i_sb, 1);
245 if (err)
246 printk(KERN_ERR "hfs: delayed sync fs err %d\n", err);
238} 247}
239 248
240void hfsplus_mark_mdb_dirty(struct super_block *sb) 249void hfsplus_mark_mdb_dirty(struct super_block *sb)