Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Morgan/upstream fix #1561

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Commits on Mar 22, 2024

  1. fix: residual fuse mountpoint after graceful shutdown

        1. Case1: Fuse server exits in thread not main. There is possibility
           that process finishes before shutdown of server.
        2. Case2: Fuse server exits in thread of state machine. There is
           possibiltiy that state machine not responses to signal catch
           thread. Then dead lock happens. Process exits before shutdown of
           server.
    
        This pr aims to seperator shutdown actions from signal catch
        handler. It only notifies controller. Controller exits with
        shutdown of fuse server. No race. No deadlock.
    
    Signed-off-by: 泰友 <[email protected]>
    泰友 committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    2a8ae3f View commit details
    Browse the repository at this point in the history
  2. fix: compatibility to image without ext table for blob cache

        There are scenes that cache file is smaller than expect size. Such as:
    
        1. Nydusd 1.6 generates cache file by prefetch, which is smaller than size in boot.
        2. Nydusd 2.2 generates cache file by prefetch, when image not provide ext blob tables.
        3. Nydusd not have enough time to fill cache for blob.
    
        Equality check for size is too much strict for both 1.6
        compatibility and 2.2 concurrency. This pr ensures blob size smaller
        or equal than expect size. It also truncates blob cache when smaller
        than expect size.
    
    Signed-off-by: 泰友 <[email protected]>
    泰友 committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    f4fde1c View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. feat: reuse blob cache of old version

        Nydus2.2 has same format for blob cache and bitmap on disk. However,
        2.2 nydusd not use blob cache of 1.6 nydusd. This pr counts ready
        chunk number for both 1.6 and 2.2, instead of thinking it as not filled
        at all.
    
    Signed-off-by: 泰友 <[email protected]>
    泰友 committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    8df5d7f View commit details
    Browse the repository at this point in the history
  2. fix: bad read by wrong data region

        User io may involve discontinuous segments in different chunks. Bad
        read is produced by merging them into continuous one. That is what
        Region does. This pr separate discontinuous segments into different
        regions, avoiding merging forcibly.
    
    Signed-off-by: 泰友 <[email protected]>
    泰友 committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    aa0236d View commit details
    Browse the repository at this point in the history