/*
* Inject random faults into the on-disk data.
*/
+ /* ARGSUSED */
void
- ztest_fault_inject(ztest_args_t *za)
+ ztest_fault_inject(ztest_ds_t *zd, uint64_t id)
{
+ ztest_shared_t *zs = ztest_shared;
+ spa_t *spa = zs->zs_spa;
int fd;
uint64_t offset;
- uint64_t leaves = MAX(zopt_mirrors, 1) * zopt_raidz;
+ uint64_t leaves;
- uint64_t bad = 0x1990c0ffeedecade;
+ uint64_t bad = 0x1990c0ffeedecadeull;
uint64_t top, leaf;
char path0[MAXPATHLEN];
char pathrand[MAXPATHLEN];
* Additional file level attributes, that are stored
* in the upper half of zp_flags
*/
-#define ZFS_READONLY 0x0000000100000000
-#define ZFS_HIDDEN 0x0000000200000000
-#define ZFS_SYSTEM 0x0000000400000000
-#define ZFS_ARCHIVE 0x0000000800000000
-#define ZFS_IMMUTABLE 0x0000001000000000
-#define ZFS_NOUNLINK 0x0000002000000000
-#define ZFS_APPENDONLY 0x0000004000000000
-#define ZFS_NODUMP 0x0000008000000000
-#define ZFS_OPAQUE 0x0000010000000000
-#define ZFS_AV_QUARANTINED 0x0000020000000000
-#define ZFS_AV_MODIFIED 0x0000040000000000
-#define ZFS_REPARSE 0x0000080000000000
+#define ZFS_READONLY 0x0000000100000000ull
+#define ZFS_HIDDEN 0x0000000200000000ull
+#define ZFS_SYSTEM 0x0000000400000000ull
+#define ZFS_ARCHIVE 0x0000000800000000ull
+#define ZFS_IMMUTABLE 0x0000001000000000ull
+#define ZFS_NOUNLINK 0x0000002000000000ull
+#define ZFS_APPENDONLY 0x0000004000000000ull
+#define ZFS_NODUMP 0x0000008000000000ull
+#define ZFS_OPAQUE 0x0000010000000000ull
+#define ZFS_AV_QUARANTINED 0x0000020000000000ull
+#define ZFS_AV_MODIFIED 0x0000040000000000ull
++#define ZFS_REPARSE 0x0000080000000000ull
- #define ZFS_ATTR_SET(zp, attr, value) \
+ #define ZFS_ATTR_SET(zp, attr, value, pflags, tx) \
{ \
if (value) \
- zp->z_phys->zp_flags |= attr; \
+ pflags |= attr; \
else \
- zp->z_phys->zp_flags &= ~attr; \
+ pflags &= ~attr; \
+ VERIFY(0 == sa_update(zp->z_sa_hdl, SA_ZPL_FLAGS(zp->z_zfsvfs), \
+ &pflags, sizeof (pflags), tx)); \
}
/*