[DragonFlyBSD - Bug #3094] (Closed) dragonfly/sys/vm/vm_page.c:1389: bed sequence of if statements ?

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Tue Oct 24 09:05:09 PDT 2017


Issue #3094 has been updated by dillon.

Status changed from New to Closed

It's actually correct, just badly organized code.  The first condition has to be rechecked after the page is busied.  I'll rewrite it later this week to make it more obvious.

-Matt

----------------------------------------
Bug #3094: dragonfly/sys/vm/vm_page.c:1389: bed sequence of if statements ?
http://bugs.dragonflybsd.org/issues/3094#change-13294

* Author: dcb
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: Kernel
* Target version: 
----------------------------------------
dragonfly/sys/vm/vm_page.c:1389]: (style) Expression is always false because 'else if' condition matches previous condition at line 1384.

Source code is

       if (m->valid != VM_PAGE_BITS_ALL ||
            (m->flags & PG_FICTITIOUS)) {
            m = NULL;
        } else if (vm_page_sbusy_try(m)) {
            m = NULL;
        } else if (m->valid != VM_PAGE_BITS_ALL ||
               (m->flags & PG_FICTITIOUS)) {
            vm_page_sbusy_drop(m);
            m = NULL;




-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list