• Goldwyn Rodrigues's avatar
    btrfs: enumerate the type of exclusive operation in progress · c3e1f96c
    Goldwyn Rodrigues authored
    Instead of using a flag bit for exclusive operation, use a variable to
    store which exclusive operation is being performed.  Introduce an API
    to start and finish an exclusive operation.
    
    This would enable another way for tools to check which operation is
    running on why starting an exclusive operation failed. The followup
    patch adds a sysfs_notify() to alert userspace when the state changes, so
    userspace can perform select() on it to get notified of the change.
    
    This would enable us to enqueue a command which will wait for current
    exclusive operation to complete before issuing the next exclusive
    operation. This has been done synchronously as opposed to a background
    process, or else error collection (if any) will become difficult.
    Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
    Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    [ update comments ]
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    c3e1f96c
volumes.c 205 KB