[Asterisk-code-review] Revert "app_voicemail: Cleanup stale lock files on module load" (...asterisk[master])
Friendly Automation
asteriskteam at digium.com
Thu Oct 10 09:59:56 CDT 2019
Friendly Automation has submitted this change and it was merged. ( https://gerrit.asterisk.org/c/asterisk/+/13020 )
Change subject: Revert "app_voicemail: Cleanup stale lock files on module load"
......................................................................
Revert "app_voicemail: Cleanup stale lock files on module load"
This reverts commit fd2e8d0da7ba539470ed73d463d8bc641f7843af.
Reason for revert: Problematic for users who store their voicemail
on network storage devices, or share voicemail storage between
multiple Asterisk instances.
ASTERISK-28567 #close
Change-Id: I3ff4ca983d8e753fe2971f3439bd154705693c41
---
M apps/app_voicemail.c
A doc/CHANGES-staging/voicemail_lock_cleanup_revert.txt
2 files changed, 10 insertions(+), 51 deletions(-)
Approvals:
Joshua Colp: Looks good to me, but someone else must approve
George Joseph: Looks good to me, approved
Friendly Automation: Approved for Submit
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index fe1ce34..7343bb2 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -3745,54 +3745,6 @@
#endif /* IMAP_STORAGE */
-static void cleanup_orphaned_lock_files(const char *base)
-{
- DIR *dir;
- struct dirent *e;
-
- dir = opendir(base);
- if (!dir) {
- /* Don't complain about this too loudly */
- ast_debug(2, "Unable to open `%s': %s\n", base, strerror(errno));
- return;
- }
-
- while ((e = readdir(dir))) {
- char *fullpath;
- struct stat s;
-
- /* Always skip . and .. */
- if (!strcmp(e->d_name, ".") || !strcmp(e->d_name, "..")) {
- continue;
- }
-
- /* Build up the full path (using dynamic memory because PATH_MAX is crap) */
- if (ast_asprintf(&fullpath, "%s/%s", base, e->d_name) == -1) {
- break;
- }
-
- if (lstat(fullpath, &s) < 0) {
- ast_free(fullpath);
- continue;
- }
-
- /* This is exposing an implementation detail of ast_lock_path, but it makes
- * our life a bit easier */
- if (!strcmp(e->d_name, ".lock") && S_ISLNK(s.st_mode)) {
- if (!ast_unlock_path(base)) {
- ast_log(AST_LOG_NOTICE, "Cleaned up orphaned lock file: %s/.lock\n", base);
- }
- } else if (S_ISDIR(s.st_mode)) {
- /* If it is a directory, let's dive down */
- cleanup_orphaned_lock_files(fullpath);
- }
-
- ast_free(fullpath);
- }
-
- closedir(dir);
-}
-
/*! \brief Lock file path
* only return failure if ast_lock_path returns 'timeout',
* not if the path does not exist or any other reason
@@ -15247,9 +15199,6 @@
/* compute the location of the voicemail spool directory */
snprintf(VM_SPOOL_DIR, sizeof(VM_SPOOL_DIR), "%s/voicemail/", ast_config_AST_SPOOL_DIR);
- /* Now that we have a spool directory, clean up old lock files */
- cleanup_orphaned_lock_files(VM_SPOOL_DIR);
-
if (!(mwi_subscription_tps = ast_taskprocessor_get("app_voicemail", 0))) {
ast_log(AST_LOG_WARNING, "failed to reference mwi subscription taskprocessor. MWI will not work\n");
}
diff --git a/doc/CHANGES-staging/voicemail_lock_cleanup_revert.txt b/doc/CHANGES-staging/voicemail_lock_cleanup_revert.txt
new file mode 100644
index 0000000..500c9a4
--- /dev/null
+++ b/doc/CHANGES-staging/voicemail_lock_cleanup_revert.txt
@@ -0,0 +1,10 @@
+Subject: app_voicemail
+
+A feature was added in Asterisk 13.27.0 and 16.4.0 that removed lock files from
+the Asterisk voicemail directory on startup. Some users that store their
+voicemails on network storage devices experienced slow startup times due to the
+relative expense of traversing the voicemail directory structure looking for
+orphaned lock files. This feature has now been removed.
+
+Users who require the lock files to be removed at startup should modify their
+startup scripts to do so before starting the asterisk process.
--
To view, visit https://gerrit.asterisk.org/c/asterisk/+/13020
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Change-Id: I3ff4ca983d8e753fe2971f3439bd154705693c41
Gerrit-Change-Number: 13020
Gerrit-PatchSet: 3
Gerrit-Owner: Sean Bright <sean.bright at gmail.com>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20191010/0617a6c2/attachment-0001.html>
More information about the asterisk-code-review
mailing list