• Hugh Dickins's avatar
    [PATCH] shmem: remove info->sem · cd7fef3d
    Hugh Dickins authored
    Between inode->i_sem and info->lock comes info->sem; but it doesn't
    guard thoroughly against the difficult races (truncate during read),
    and serializes reads from tmpfs unlike other filesystems.  I'd prefer
    to work with just i_sem and info->lock, backtracking when necessary
    (when another task allocates block or metablock at the same time).
    
    (I am not satisfied with the locked setting of next_index at the start
    of shmem_getpage_locked: it's one lock hold too many, and it doesn't
    really fix races against truncate better than before: another patch in
    a later batch will resolve that.)
    cd7fef3d
shmem.c 42.2 KB