From 63125adb523d3d0c0d20833b0577e3bb6c94d0d2 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 6 Jan 2011 13:42:29 -0800 Subject: [PATCH] mds: make thrash_exports select random frags We were always picking the first frag. Signed-off-by: Sage Weil --- src/mds/MDS.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index 322064cb43747..6f3bdf6150d1b 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -1798,8 +1798,13 @@ do { \ list ls; in->get_dirfrags(ls); - if (ls.empty()) continue; // must be an open dir. - CDir *dir = ls.front(); + if (ls.empty()) + continue; // must be an open dir. + list::iterator p = ls.begin(); + int n = rand() % ls.size(); + while (n--) + ++p; + CDir *dir = *p; if (!dir->get_parent_dir()) continue; // must be linked. if (!dir->is_auth()) continue; // must be auth. -- 2.39.5