ext4: release donor reference when EXT4_IOC_MOVE_EXT ioctl fails
authorDjalal Harouni <tixxdz@opendz.org>
Thu, 27 Sep 2012 02:58:50 +0000 (22:58 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 27 Sep 2012 02:58:50 +0000 (22:58 -0400)
When the EXT4_IOC_MOVE_EXT ioctl() fails on bigalloc file systems, we
should jump to the 'mext_out' label to release the donor file reference.

Signed-off-by: Djalal Harouni <tixxdz@opendz.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/ioctl.c

index 4c8174aa685c5446f34f3c9f3ea1e36956659dd9..17c53a69454d77e3b73fd8c1b22eac0bcfbe306a 100644 (file)
@@ -258,7 +258,8 @@ group_extend_out:
                               EXT4_FEATURE_RO_COMPAT_BIGALLOC)) {
                        ext4_msg(sb, KERN_ERR,
                                 "Online defrag not supported with bigalloc");
-                       return -EOPNOTSUPP;
+                       err = -EOPNOTSUPP;
+                       goto mext_out;
                }
 
                err = mnt_want_write_file(filp);