X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fmgs%2Fmgs_llog.c;h=48489904fbd7765e022a034a9df528daa7a1d6b7;hp=37e0e65bc7b94bfbb7d26054fe2ddbf1cb6d16b2;hb=271823e89e7c00a390ee27ad7d4b8fc6ac9cfda1;hpb=1d433bfd4ce2973cacbce703ec98a4c268e9b38e diff --git a/lustre/mgs/mgs_llog.c b/lustre/mgs/mgs_llog.c index 37e0e65..4848990 100644 --- a/lustre/mgs/mgs_llog.c +++ b/lustre/mgs/mgs_llog.c @@ -2814,6 +2814,7 @@ int mgs_erase_logs(struct obd_device *obd, char *fsname) cfs_list_t dentry_list; struct l_linux_dirent *dirent, *n; int rc, len = strlen(fsname); + char *suffix; ENTRY; /* Find all the logs in the CONFIGS directory */ @@ -2833,9 +2834,14 @@ int mgs_erase_logs(struct obd_device *obd, char *fsname) cfs_list_for_each_entry_safe(dirent, n, &dentry_list, lld_list) { cfs_list_del(&dirent->lld_list); - if (strncmp(fsname, dirent->lld_name, len) == 0) { - CDEBUG(D_MGS, "Removing log %s\n", dirent->lld_name); - mgs_erase_log(obd, dirent->lld_name); + suffix = strrchr(dirent->lld_name, '-'); + if (suffix != NULL) { + if ((len == suffix - dirent->lld_name) && + (strncmp(fsname, dirent->lld_name, len) == 0)) { + CDEBUG(D_MGS, "Removing log %s\n", + dirent->lld_name); + mgs_erase_log(obd, dirent->lld_name); + } } OBD_FREE(dirent, sizeof(*dirent)); }