mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
generic/530: fix shutdown failure of generic/530 in overlay
Testcases are recommended to use _require_scratch_shutdown() and _scratch_shutdown() pair helper function to test and execute shutdown. generic/530 formmerly used _require_scratch_shutdown() to test whether the filesystem supports shutdown or not, while executed the shutdown action in a raw binary (src/t_open_tmpfiles) rather than the recommended _scratch_shutdown() helper. This will cause a "shutdown: Inappropriate ioctl for device" error message when testing overlay filesystem. This patch simply move the shutdown action from the raw binary into the packaged _scratch_shutdown() helper. That is, we remove the "shutdown" interface of t_open_tmpfiles.c and call _scratch_shutdown() in genric/530 and xfs/501. Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com> Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Eryu Guan <guaneryu@gmail.com>
This commit is contained in:
@@ -24,7 +24,6 @@ static int min_fd = -1;
|
||||
static int max_fd = -1;
|
||||
static unsigned int nr_opened = 0;
|
||||
static float start_time;
|
||||
static int shutdown_fs = 0;
|
||||
|
||||
void clock_time(float *time)
|
||||
{
|
||||
@@ -69,22 +68,6 @@ void die(void)
|
||||
end_time - start_time);
|
||||
fflush(stdout);
|
||||
|
||||
if (shutdown_fs) {
|
||||
/*
|
||||
* Flush the log so that we have to process the
|
||||
* unlinked inodes the next time we mount.
|
||||
*/
|
||||
int flag = XFS_FSOP_GOING_FLAGS_LOGFLUSH;
|
||||
int ret;
|
||||
|
||||
ret = ioctl(min_fd, XFS_IOC_GOINGDOWN, &flag);
|
||||
if (ret) {
|
||||
perror("shutdown");
|
||||
exit(2);
|
||||
}
|
||||
exit(0);
|
||||
}
|
||||
|
||||
clock_time(&start_time);
|
||||
for (fd = min_fd; fd <= max_fd; fd++)
|
||||
close(fd);
|
||||
@@ -160,8 +143,6 @@ int main(int argc, char *argv[])
|
||||
if (ret)
|
||||
perror(argv[1]);
|
||||
}
|
||||
if (argc > 2 && !strcmp(argv[2], "shutdown"))
|
||||
shutdown_fs = 1;
|
||||
|
||||
clock_time(&start_time);
|
||||
while (1)
|
||||
|
||||
+3
-1
@@ -49,7 +49,9 @@ ulimit -n $max_files
|
||||
|
||||
# Open a lot of unlinked files
|
||||
echo create >> $seqres.full
|
||||
$here/src/t_open_tmpfiles $SCRATCH_MNT shutdown >> $seqres.full
|
||||
$here/src/t_open_tmpfiles $SCRATCH_MNT >> $seqres.full
|
||||
_scratch_shutdown -f
|
||||
|
||||
|
||||
# Unmount to prove that we can clean it all
|
||||
echo umount >> $seqres.full
|
||||
|
||||
+3
-1
@@ -54,7 +54,9 @@ ulimit -n $max_files
|
||||
|
||||
# Open a lot of unlinked files
|
||||
echo create >> $seqres.full
|
||||
$here/src/t_open_tmpfiles $SCRATCH_MNT shutdown >> $seqres.full
|
||||
$here/src/t_open_tmpfiles $SCRATCH_MNT >> $seqres.full
|
||||
_scratch_shutdown -f
|
||||
|
||||
|
||||
# Unmount to prove that we can clean it all
|
||||
echo umount >> $seqres.full
|
||||
|
||||
Reference in New Issue
Block a user