| diff -up nfs-utils-1.3.0/support/include/nsm.h.orig nfs-utils-1.3.0/support/include/nsm.h |
| --- nfs-utils-1.3.0/support/include/nsm.h.orig 2014-03-25 11:12:07.000000000 -0400 |
| +++ nfs-utils-1.3.0/support/include/nsm.h 2016-06-23 10:09:34.216841414 -0400 |
| @@ -59,7 +59,8 @@ extern unsigned int |
| extern _Bool nsm_insert_monitored_host(const char *hostname, |
| const struct sockaddr *sap, const struct mon *m); |
| extern void nsm_delete_monitored_host(const char *hostname, |
| - const char *mon_name, const char *my_name); |
| + const char *mon_name, const char *my_name, |
| + const int chatty); |
| extern void nsm_delete_notified_host(const char *hostname, |
| const char *mon_name, const char *my_name); |
| extern size_t nsm_priv_to_hex(const char *priv, char *buf, |
| diff -up nfs-utils-1.3.0/support/nsm/file.c.orig nfs-utils-1.3.0/support/nsm/file.c |
| --- nfs-utils-1.3.0/support/nsm/file.c.orig 2014-03-25 11:12:07.000000000 -0400 |
| +++ nfs-utils-1.3.0/support/nsm/file.c 2016-06-23 10:09:34.216841414 -0400 |
| @@ -1012,7 +1012,7 @@ nsm_load_notify_list(nsm_populate_t func |
| |
| static void |
| nsm_delete_host(const char *directory, const char *hostname, |
| - const char *mon_name, const char *my_name) |
| + const char *mon_name, const char *my_name, const int chatty) |
| { |
| char line[LINELEN + 1 + SM_MAXSTRLEN + 2]; |
| char *outbuf = NULL; |
| @@ -1028,8 +1028,9 @@ nsm_delete_host(const char *directory, c |
| } |
| |
| if (stat(path, &stb) == -1) { |
| - xlog(L_ERROR, "Failed to delete: " |
| - "could not stat original file %s: %m", path); |
| + if (chatty) |
| + xlog(L_ERROR, "Failed to delete: " |
| + "could not stat original file %s: %m", path); |
| goto out; |
| } |
| remaining = (size_t)stb.st_size + 1; |
| @@ -1108,13 +1109,14 @@ out: |
| * @hostname: '\0'-terminated C string containing hostname of record to delete |
| * @mon_name: '\0'-terminated C string containing monname of record to delete |
| * @my_name: '\0'-terminated C string containing myname of record to delete |
| + * @chatty: should an error be logged if the monitor file doesn't exist? |
| * |
| */ |
| void |
| nsm_delete_monitored_host(const char *hostname, const char *mon_name, |
| - const char *my_name) |
| + const char *my_name, const int chatty) |
| { |
| - nsm_delete_host(NSM_MONITOR_DIR, hostname, mon_name, my_name); |
| + nsm_delete_host(NSM_MONITOR_DIR, hostname, mon_name, my_name, chatty); |
| } |
| |
| /** |
| @@ -1128,5 +1130,5 @@ void |
| nsm_delete_notified_host(const char *hostname, const char *mon_name, |
| const char *my_name) |
| { |
| - nsm_delete_host(NSM_NOTIFY_DIR, hostname, mon_name, my_name); |
| + nsm_delete_host(NSM_NOTIFY_DIR, hostname, mon_name, my_name, 1); |
| } |
| diff -up nfs-utils-1.3.0/utils/statd/monitor.c.orig nfs-utils-1.3.0/utils/statd/monitor.c |
| --- nfs-utils-1.3.0/utils/statd/monitor.c.orig 2016-06-23 10:08:34.442835693 -0400 |
| +++ nfs-utils-1.3.0/utils/statd/monitor.c 2016-06-23 10:09:34.216841414 -0400 |
| @@ -193,7 +193,7 @@ sm_mon_1_svc(struct mon *argp, struct sv |
| * Now, Create file on stable storage for host, first deleting any |
| * existing records on file. |
| */ |
| - nsm_delete_monitored_host(dnsname, mon_name, my_name); |
| + nsm_delete_monitored_host(dnsname, mon_name, my_name, 0); |
| |
| if (!nsm_insert_monitored_host(dnsname, |
| (struct sockaddr *)(char *)&my_addr, argp)) { |
| @@ -324,7 +324,7 @@ sm_unmon_1_svc(struct mon_id *argp, stru |
| ha_callout("del-client", mon_name, my_name, -1); |
| |
| nsm_delete_monitored_host(clnt->dns_name, |
| - mon_name, my_name); |
| + mon_name, my_name, 1); |
| nlist_free(&rtnl, clnt); |
| |
| return (&result); |
| @@ -379,7 +379,7 @@ sm_unmon_all_1_svc(struct my_id *argp, s |
| /* PRC: do the HA callout: */ |
| ha_callout("del-client", mon_name, my_name, -1); |
| nsm_delete_monitored_host(clnt->dns_name, |
| - mon_name, my_name); |
| + mon_name, my_name, 1); |
| nlist_free(&rtnl, clnt); |
| ++count; |
| clnt = temp; |