• John Johansen's avatar
    apparmor: speed up transactional queries · 1dea3b41
    John Johansen authored
    The simple_transaction interface is slow. It requires 4 syscalls
    (open, write, read, close) per query and shares a single lock for each
    queries.
    
    So replace its use with a compatible in multi_transaction interface.
    It allows for a faster 2 syscall pattern per query. After an initial
    open, an arbitrary number of writes and reads can be issued. Each
    write will reset the query with new data that can be read. Reads do
    not clear the data, and can be issued multiple times, and used with
    seek, until a new write is performed which will reset the data
    available and the seek position.
    
    Note: this keeps the single lock design, if needed moving to a per
    file lock will have to come later.
    Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
    1dea3b41
apparmorfs.c 54.4 KB