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

Reply via email to