[issue15748] Various symlink test failures in test_shutil on FreeBSD
Trent Nelson
report at bugs.python.org
Sat Sep 1 01:16:05 CEST 2012
Trent Nelson added the comment:
Turns out our unit test uncovered a very subtle corner-case bug in ZFS, requiring the following patch to FreeBSD:
a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
index 69374fb..7f61517 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
@@ -1695,6 +1695,7 @@ sa_modify_attrs(sa_handle_t *hdl, sa_attr_type_t newattr,
ASSERT(action == SA_REPLACE);
SA_ADD_BULK_ATTR(attr_desc, j, attr,
locator, datastart, buflen);
+ length_idx++;
} else {
length = SA_REGISTERED_LEN(sa, attr);
if (length == 0) {
I guess the unit test should probably be patched to to skip the test IFF the underlying filesystem is ZFS and it exhibits the "length 24" problem. (Actually, detecting if the underlying filesystem is ZFS is non-trivial -- just testing for the "length 24" bug is probably sufficient.) I'll look into this later.
(According to Andriy Gapon (FreeBSD developer that came up with the patch), the bug is likely to affect all ZFS implementations since the beginning of time.)
----------
resolution: -> postponed
stage: -> needs patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue15748>
_______________________________________
More information about the Python-bugs-list
mailing list