xfs: define a flags field for the AG geometry ioctl structure
Define a flags field for the AG geometry ioctl structure. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
@@ -287,7 +287,7 @@ struct xfs_ag_geometry {
|
|||||||
uint32_t ag_ifree; /* o: inodes free */
|
uint32_t ag_ifree; /* o: inodes free */
|
||||||
uint32_t ag_sick; /* o: sick things in ag */
|
uint32_t ag_sick; /* o: sick things in ag */
|
||||||
uint32_t ag_checked; /* o: checked metadata in ag */
|
uint32_t ag_checked; /* o: checked metadata in ag */
|
||||||
uint32_t ag_reserved32; /* o: zero */
|
uint32_t ag_flags; /* i/o: flags for this ag */
|
||||||
uint64_t ag_reserved[12];/* o: zero */
|
uint64_t ag_reserved[12];/* o: zero */
|
||||||
};
|
};
|
||||||
#define XFS_AG_GEOM_SICK_SB (1 << 0) /* superblock */
|
#define XFS_AG_GEOM_SICK_SB (1 << 0) /* superblock */
|
||||||
|
|||||||
@@ -1038,6 +1038,10 @@ xfs_ioc_ag_geometry(
|
|||||||
|
|
||||||
if (copy_from_user(&ageo, arg, sizeof(ageo)))
|
if (copy_from_user(&ageo, arg, sizeof(ageo)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
if (ageo.ag_flags)
|
||||||
|
return -EINVAL;
|
||||||
|
if (memchr_inv(&ageo.ag_reserved, 0, sizeof(ageo.ag_reserved)))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
error = xfs_ag_get_geometry(mp, ageo.ag_number, &ageo);
|
error = xfs_ag_get_geometry(mp, ageo.ag_number, &ageo);
|
||||||
if (error)
|
if (error)
|
||||||
|
|||||||
Reference in New Issue
Block a user