ext4: check ext4_journal_get_write_access() errors
[deliverable/linux.git] / fs / ext4 / namei.c
index 68611945687d70cb63d461c77908e1217457fe1f..63c33e053478cb64f4d9f9ef3deea7bc1ada8e97 100644 (file)
@@ -57,10 +57,15 @@ static struct buffer_head *ext4_append(handle_t *handle,
 
        *block = inode->i_size >> inode->i_sb->s_blocksize_bits;
 
-       if ((bh = ext4_bread(handle, inode, *block, 1, err))) {
+       bh = ext4_bread(handle, inode, *block, 1, err);
+       if (bh) {
                inode->i_size += inode->i_sb->s_blocksize;
                EXT4_I(inode)->i_disksize = inode->i_size;
-               ext4_journal_get_write_access(handle,bh);
+               *err = ext4_journal_get_write_access(handle, bh);
+               if (*err) {
+                       brelse(bh);
+                       bh = NULL;
+               }
        }
        return bh;
 }
This page took 0.024301 seconds and 5 git commands to generate.