]> git.ipfire.org Git - people/ms/linux.git/blobdiff - fs/xfs/xfs_ioctl.c
Merge branch 'for-6.0/dax' into libnvdimm-fixes
[people/ms/linux.git] / fs / xfs / xfs_ioctl.c
index 0d67ff8a8961d1d0777007442f9d79ec0215e23d..1f783e97962968eebc5d1270aa27aecdf1752a3e 100644 (file)
@@ -955,6 +955,7 @@ xfs_ioc_ag_geometry(
        struct xfs_mount        *mp,
        void                    __user *arg)
 {
+       struct xfs_perag        *pag;
        struct xfs_ag_geometry  ageo;
        int                     error;
 
@@ -965,7 +966,12 @@ xfs_ioc_ag_geometry(
        if (memchr_inv(&ageo.ag_reserved, 0, sizeof(ageo.ag_reserved)))
                return -EINVAL;
 
-       error = xfs_ag_get_geometry(mp, ageo.ag_number, &ageo);
+       pag = xfs_perag_get(mp, ageo.ag_number);
+       if (!pag)
+               return -EINVAL;
+
+       error = xfs_ag_get_geometry(pag, &ageo);
+       xfs_perag_put(pag);
        if (error)
                return error;
 
@@ -985,7 +991,7 @@ xfs_fill_fsxattr(
        struct fileattr         *fa)
 {
        struct xfs_mount        *mp = ip->i_mount;
-       struct xfs_ifork        *ifp = XFS_IFORK_PTR(ip, whichfork);
+       struct xfs_ifork        *ifp = xfs_ifork_ptr(ip, whichfork);
 
        fileattr_fill_xflags(fa, xfs_ip2xflags(ip));