Virtual iSCSI linux -- share as ISCSI ExFat, but have it go to XFS?

Solution 1:

You should look into using ZFS. With that, you will have pools of storage space, which can be allocated either to traditional file systems, or virtual block devices.

The traditional file systems can be shared by NFS or SMB. The virtual block devices (zvolumes) can be used as iSCSI targets.

If you want to stick with XFS, then you can use Linux loopback device to create a virtual block device backed up by a file on the file system. That loopback block device can then be used as an iSCSI target.

iSCSI in itself is not tied to a filesystem. It is a filesystem agnostic mechanism to access remote block devices over IP network. So, once you connect to the iSCSI target from Windows, you can format the drive with any filesystem you want.