All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fsstress: cleanup flist with test directory together
@ 2017-05-17 15:48 Zorro Lang
  0 siblings, 0 replies; only message in thread
From: Zorro Lang @ 2017-05-17 15:48 UTC (permalink / raw)
  To: fstests

The "-c" option of fsstress will clean up the test directory after
each run. But it only does "rm -rf $dir". If run fsstress likes:

  fsstress -d $test_dir -n 1000 -p 10 -l 0 -c

fsstress will remove all test directories at the end of each run,
but the flist still save those *deleted* entries. It'll cause
more and more useless ENOENT failures. So we need to release all
entries in flist too.

Signed-off-by: Zorro Lang <zlang@redhat.com>
---
 ltp/fsstress.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/ltp/fsstress.c b/ltp/fsstress.c
index 6d8f117..e9fd276 100644
--- a/ltp/fsstress.c
+++ b/ltp/fsstress.c
@@ -280,6 +280,7 @@ int	attr_list_path(pathname_t *, char *, const int, int, attrlist_cursor_t *);
 int	attr_remove_path(pathname_t *, const char *, int);
 int	attr_set_path(pathname_t *, const char *, const char *, const int, int);
 void	check_cwd(void);
+void	cleanup_flist(void);
 int	creat_path(pathname_t *, mode_t);
 void	dcache_enter(int, int);
 void	dcache_init(void);
@@ -794,6 +795,25 @@ check_cwd(void)
 #endif
 }
 
+/*
+ * go thru flist and release all entries
+ *
+ * NOTE: this function shouldn't be called until the end of a process
+ */
+void
+cleanup_flist(void)
+{
+	flist_t	*flp;
+	int	i;
+
+	for (i = 0, flp = flist; i < FT_nft; i++, flp++) {
+		flp->nslots = 0;
+		flp->nfiles = 0;
+		free(flp->fents);
+		flp->fents = NULL;
+	}
+}
+
 int
 creat_path(pathname_t *name, mode_t mode)
 {
@@ -945,6 +965,7 @@ errout:
 	if (cleanup) {
 		sprintf(cmd, "rm -rf %s", buf);
 		system(cmd);
+		cleanup_flist();
 	}
 }
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2017-05-17 15:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-17 15:48 [PATCH] fsstress: cleanup flist with test directory together Zorro Lang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.