Merged.
On Tue, Oct 18, 2016 at 6:22 PM, Benjamin Marzinski <bmarzins@xxxxxxxxxx> wrote:
On Tue, Oct 18, 2016 at 10:51:08AM +0800, tang.junhui@xxxxxxxxxx wrote:
> From: "tang.junhui" <tang.junhui@xxxxxxxxxx>
>
> there are vecs->mpvec memory accesses outside of locking range in
> check_path(), the judgments is not necessary since the they has
> existed in vector_foreach_slot(), so delete them.
ACK
-Ben
> Signed-off-by: tang.junhui <tang.junhui@xxxxxxxxxx>
> ---
> multipathd/main.c | 45 ++++++++++++++++++++++-----------------------
> 1 file changed, 22 insertions(+), 23 deletions(-)
>
> diff --git a/multipathd/main.c b/multipathd/main.c
> index b6eb696..e369a79 100644
> --- a/multipathd/main.c
> +++ b/multipathd/main.c
> @@ -1804,30 +1804,29 @@ checkerloop (void *ap)
> condlog(4, "timeout waiting for DAEMON_IDLE");
> continue;
> }
> - if (vecs->pathvec) {
> - pthread_cleanup_push(cleanup_lock, &vecs->lock);
> - lock(&vecs->lock);
> - pthread_testcancel();
> - vector_foreach_slot (vecs->pathvec, pp, i) {
> - rc = check_path(vecs, pp, ticks);
> - if (rc < 0) {
> - vector_del_slot(vecs->pathvec, i);
> - free_path(pp);
> - i--;
> - } else
> - num_paths += rc;
> - }
> - lock_cleanup_pop(vecs->lock);
> - }
> - if (vecs->mpvec) {
> - pthread_cleanup_push(cleanup_lock, &vecs->lock);
> - lock(&vecs->lock);
> - pthread_testcancel();
> - defered_failback_tick(vecs->mpvec);
> - retry_count_tick(vecs->mpvec);
> - missing_uev_wait_tick(vecs);
> - lock_cleanup_pop(vecs->lock);
> +
> + pthread_cleanup_push(cleanup_lock, &vecs->lock);
> + lock(&vecs->lock);
> + pthread_testcancel();
> + vector_foreach_slot (vecs->pathvec, pp, i) {
> + rc = check_path(vecs, pp, ticks);
> + if (rc < 0) {
> + vector_del_slot(vecs->pathvec, i);
> + free_path(pp);
> + i--;
> + } else
> + num_paths += rc;
> }
> + lock_cleanup_pop(vecs->lock);
> +
> + pthread_cleanup_push(cleanup_lock, &vecs->lock);
> + lock(&vecs->lock);
> + pthread_testcancel();
> + defered_failback_tick(vecs->mpvec);
> + retry_count_tick(vecs->mpvec);
> + missing_uev_wait_tick(vecs);
> + lock_cleanup_pop(vecs->lock);
> +
> if (count)
> count--;
> else {
> --
> 2.8.1.windows.1
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel