diff options
author | Jonathan Corbet <corbet@lwn.net> | 2024-09-05 14:01:38 -0600 |
---|---|---|
committer | Jonathan Corbet <corbet@lwn.net> | 2024-09-05 14:01:38 -0600 |
commit | d224338aa105bf3c4c4aa8b2ccdbd675c71ffbfe (patch) | |
tree | b7b6b8c98595c89f7ad5307120cb3156708991bc /fs/xfs/xfs_ioctl.c | |
parent | eb5ed2fae19745fcb7dd0dcfbfbcd8b2847bc5c1 (diff) | |
parent | 431c1646e1f86b949fa3685efc50b660a364c2b6 (diff) | |
download | lwn-d224338aa105bf3c4c4aa8b2ccdbd675c71ffbfe.tar.gz lwn-d224338aa105bf3c4c4aa8b2ccdbd675c71ffbfe.zip |
Merge tag 'v6.11-rc6' into docs-mw
This is done primarily to get a docs build fix merged via another tree so
that "make htmldocs" stops failing.
Diffstat (limited to 'fs/xfs/xfs_ioctl.c')
-rw-r--r-- | fs/xfs/xfs_ioctl.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/xfs/xfs_ioctl.c b/fs/xfs/xfs_ioctl.c index 4e933db75b12..6b13666d4e96 100644 --- a/fs/xfs/xfs_ioctl.c +++ b/fs/xfs/xfs_ioctl.c @@ -483,6 +483,17 @@ xfs_ioctl_setattr_xflags( /* Can't change realtime flag if any extents are allocated. */ if (ip->i_df.if_nextents || ip->i_delayed_blks) return -EINVAL; + + /* + * If S_DAX is enabled on this file, we can only switch the + * device if both support fsdax. We can't update S_DAX because + * there might be other threads walking down the access paths. + */ + if (IS_DAX(VFS_I(ip)) && + (mp->m_ddev_targp->bt_daxdev == NULL || + (mp->m_rtdev_targp && + mp->m_rtdev_targp->bt_daxdev == NULL))) + return -EINVAL; } if (rtflag) { |