• Jan Kara's avatar
    udf: Do not call udf_block_map() on ICB files · f33321b2
    Jan Kara authored
    Currently udf_symlink_filler() called udf_block_map() even on files
    which have data stored inside the ICB. This is invalid as we cannot map
    blocks for such files (although so far the error got silently ignored).
    The call happened because we could not call block mapping function once
    we've acquired i_data_sem and determined whether the file has data
    stored in the ICB. For symlinks the situation is luckily simple as they
    get never modified so file type never changes once it is set. Hence we
    can check the file type even without i_data_sem. Just drop the
    i_data_sem locking and move block mapping to where it is needed.
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    f33321b2
symlink.c 4.21 KB