Merge branch 'for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu
[sfrench/cifs-2.6.git] / fs / xfs / xfs_ioctl.c
index b36abd453709fa8666073d35cd046aa8095474fd..d7dfc13f30f5a7a9828d7467f18f7737f8e40f79 100644 (file)
@@ -34,6 +34,7 @@
 #include "scrub/xfs_scrub.h"
 #include "xfs_sb.h"
 #include "xfs_ag.h"
+#include "xfs_health.h"
 
 #include <linux/capability.h>
 #include <linux/cred.h>
@@ -787,18 +788,17 @@ xfs_ioc_fsgeometry(
 {
        struct xfs_fsop_geom    fsgeo;
        size_t                  len;
-       int                     error;
 
-       error = xfs_fs_geometry(&mp->m_sb, &fsgeo, struct_version);
-       if (error)
-               return error;
+       xfs_fs_geometry(&mp->m_sb, &fsgeo, struct_version);
 
        if (struct_version <= 3)
                len = sizeof(struct xfs_fsop_geom_v1);
        else if (struct_version == 4)
                len = sizeof(struct xfs_fsop_geom_v4);
-       else
+       else {
+               xfs_fsop_geom_health(mp, &fsgeo);
                len = sizeof(fsgeo);
+       }
 
        if (copy_to_user(arg, &fsgeo, len))
                return -EFAULT;
@@ -1150,7 +1150,7 @@ xfs_ioctl_setattr_get_trans(
 
        error = xfs_trans_alloc(mp, &M_RES(mp)->tr_ichange, 0, 0, 0, &tp);
        if (error)
-               return ERR_PTR(error);
+               goto out_unlock;
 
        xfs_ilock(ip, XFS_ILOCK_EXCL);
        xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL | join_flags);
@@ -2043,9 +2043,7 @@ xfs_file_ioctl(
        case XFS_IOC_FSCOUNTS: {
                xfs_fsop_counts_t out;
 
-               error = xfs_fs_counts(mp, &out);
-               if (error)
-                       return error;
+               xfs_fs_counts(mp, &out);
 
                if (copy_to_user(arg, &out, sizeof(out)))
                        return -EFAULT;