Messages in this thread | | | Date | Mon, 16 Jul 2012 21:41:00 -0300 | From | Cesar Eduardo Barros <> | Subject | Re: frontswap: is frontswap_init called from swapoff safe? |
| |
Em 06-06-2012 21:37, Konrad Rzeszutek Wilk escreveu: > On Tue, Jun 05, 2012 at 07:41:52AM -0300, Cesar Eduardo Barros wrote: >> I was looking at the swapfile.c parts of the recently-merged >> frontswap, and noticed that frontswap_init can be called from >> swapoff when try_to_unuse fails. >> >> This looks odd to me. Whether it is safe or not depends on what >> frontswap_ops.init does, but the comment for __frontswap_init >> ("Called when a swap device is swapon'd") and the function name >> itself seem to imply it should be called only for swapon, not when >> relinking the swap_info after a failed swapoff. > > <nods> >> >> In particular, if frontswap_ops.init assumes the swap map is empty, >> it would break, since as far as I know when try_to_unuse fails there >> are still pages in the swap. > > Let me look at this - can't do it this week - but will get back to you > shortly.
Did you look at it already? (Just pinging in case you forgot.)
>> >> (By the way, the comment above enable_swap_info at sys_swapoff needs >> to be updated to also explain why reading p->frontswap_map outside >> the lock is safe at that point, like it does for p->prio and >> p->swap_map.)
-- Cesar Eduardo Barros cesarb@cesarb.net cesar.barros@gmail.com
| |