• F
    btrfs: use a negative value for BTRFS_LOG_FORCE_COMMIT · 5cce1780
    Filipe Manana 提交于
    Currently we use the value 1 for BTRFS_LOG_FORCE_COMMIT, but that value
    has a few inconveniences:
    
    1) If it's ever used by btrfs_log_inode(), or any function down the call
       chain, we have to remember to btrfs_set_log_full_commit(), which is
       repetitive and has a chance to be forgotten in future use cases.
       btrfs_log_inode_parent() only calls btrfs_set_log_full_commit() when
       it gets a negative value from btrfs_log_inode();
    
    2) Down the call chain of btrfs_log_inode(), we may have functions that
       need to force a log commit, but can return either an error (negative
       value), false (0) or true (1). So they are forced to return some
       random negative to force a log commit - using BTRFS_LOG_FORCE_COMMIT
       would make the intention more clear. Currently the only example is
       flush_dir_items_batch().
    
    So turn BTRFS_LOG_FORCE_COMMIT into a negative value. The chosen value
    is -(MAX_ERRNO + 1), so that it does not overlap any errno value and makes
    it easier to debug.
    Reviewed-by: NJosef Bacik <josef@toxicpanda.com>
    Signed-off-by: NFilipe Manana <fdmanana@suse.com>
    Signed-off-by: NDavid Sterba <dsterba@suse.com>
    5cce1780
tree-log.c 210.5 KB