diff --git a/fs/xfs/linux/xfs_iops.c b/fs/xfs/linux/xfs_iops.c
index 25f7260482c4d74f16b0474059ab4e9f5713ce41..4b3e61d6ccd9874ab2e2b6d2938e19f51070ce64 100644
--- a/fs/xfs/linux/xfs_iops.c
+++ b/fs/xfs/linux/xfs_iops.c
@@ -536,6 +536,10 @@ linvfs_setattr(
 
 	if (ia_valid & (ATTR_MTIME_SET | ATTR_ATIME_SET))
 		flags = ATTR_UTIME;
+#ifdef ATTR_NO_BLOCK
+	if ((ia_valid & ATTR_NO_BLOCK))
+		flags |= ATTR_NONBLOCK;
+#endif
 
 	VOP_SETATTR(vp, &vattr, flags, NULL, error);
 	if (error)