• Christian Brauner's avatar
    fs: claw back a few FMODE_* bits · 210a03c9
    Christian Brauner authored
    There's a bunch of flags that are purely based on what the file
    operations support while also never being conditionally set or unset.
    IOW, they're not subject to change for individual files. Imho, such
    flags don't need to live in f_mode they might as well live in the fops
    structs itself. And the fops struct already has that lonely
    mmap_supported_flags member. We might as well turn that into a generic
    fop_flags member and move a few flags from FMODE_* space into FOP_*
    space. That gets us four FMODE_* bits back and the ability for new
    static flags that are about file ops to not have to live in FMODE_*
    space but in their own FOP_* space. It's not the most beautiful thing
    ever but it gets the job done. Yes, there'll be an additional pointer
    chase but hopefully that won't matter for these flags.
    
    I suspect there's a few more we can move into there and that we can also
    redirect a bunch of new flag suggestions that follow this pattern into
    the fop_flags field instead of f_mode.
    
    Link: https://lore.kernel.org/r/20240328-gewendet-spargel-aa60a030ef74@braunerReviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarJan Kara <jack@suse.cz>
    Reviewed-by: default avatarJens Axboe <axboe@kernel.dk>
    Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
    210a03c9
read_write.c 40.6 KB