Unupgraded ZFS servers may crash if they received unaligned
DIO, so we need a compat flag and a test to recognize those
servers.
This patch extracts server-side logic from two master patches
to improve interop testing, but does not implement client UDIO.
Lustre-change: https://review.whamcloud.com/51126
Lustre-commit:
0e6e60b1233b08952c338b2c4f121ef749a99f8b
Was-Change-Id: I5d6ee3fa5dca989c671417f35a981767ee55d6e2
Lustre-change: https://review.whamcloud.com/45616
Lustre-commit:
7194eb6431d2ef7245ef3b13394b60e220145187
Was-Change-Id: I7eeebf9a608f006c8095b95f0677adb99f19d640
Test-Parameters: trivial testlist=sanity env=ONLY=56 fstype=zfs
Test-Parameters: testlist=sanity env=ONLY=56 clientbuildno=4505 clientjob=lustre-master clientdistro=el8.8
Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Change-Id: I8b987c00f741a884ba28c18309cc2f90baf4809a
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/54239
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
OBD_CONNECT2_PCCRO | \
OBD_CONNECT2_ATOMIC_OPEN_LOCK | \
OBD_CONNECT2_ENCRYPT_NAME | \
- OBD_CONNECT2_ENCRYPT_FID2PATH)
+ OBD_CONNECT2_ENCRYPT_FID2PATH | \
+ OBD_CONNECT2_UNALIGNED_DIO)
#define OST_CONNECT_SUPPORTED (OBD_CONNECT_SRVLOCK | OBD_CONNECT_GRANT | \
OBD_CONNECT_REQPORTAL | OBD_CONNECT_VERSION | \
#define OST_CONNECT_SUPPORTED2 (OBD_CONNECT2_LOCKAHEAD | OBD_CONNECT2_INC_XID |\
OBD_CONNECT2_ENCRYPT | OBD_CONNECT2_LSEEK | \
OBD_CONNECT2_REPLAY_CREATE | \
- OBD_CONNECT2_COMPRESS)
+ OBD_CONNECT2_COMPRESS | \
+ OBD_CONNECT2_UNALIGNED_DIO)
#define ECHO_CONNECT_SUPPORTED (OBD_CONNECT_FID)
#define ECHO_CONNECT_SUPPORTED2 0
static inline struct page *kmem_to_page(void *addr)
{
- LASSERT(!((unsigned long)addr & ~PAGE_MASK));
if (is_vmalloc_addr(addr))
return vmalloc_to_page(addr);
else