[lkml]   [1999]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[RFC] File flags handling - proposal for API.
    	With all talks about mixed directory/symlink objects, etc. we
    *will* need a decent way to work with such attributes. I dearly hope that
    it will not be done via weird ioctl() as it's currently done for ext2
    flags (for one thing because the object we are operating with may not be
    openable - e.g. symlink).
    Notice that there is a difference between the attributes affecting
    the VFS behaviour (append-only, etc.) and ones the VFS (or even kernel)
    doesn't care of (no-dump, etc.). For the latter we probably want to pass
    the raw attributes to the fs and let it figure out what it wants. For the
    former the common representation is needed. So we want a way to deal with
    raw and generic attributes.
    I think that the right way here is to add 6 (ouch) syscalls:
    {l,f,}chflags() for setting those attributes and {l,f,}new_stat() for
    reading them. The reason for latter 3 is simple - potential races.
    Differences between lfoo, ffoo and foo are the same as in cases of
    chmod, chown, etc.
    int chflags(char *name, int is_raw, int flags) would set the
    attributes - raw if the second argument is true, generic ones if it is
    int new_stat(char *name, struct new_stat * buf) would fill the
    buf with extended variant of struct stat - additional fields being generic
    and raw attributes. This will be redundant, indeed - that would allow
    fs-specific programs to deal with raw attributes in redundant way, but at
    the same time spare normal programs from the need to know the representation
    of generic attributes on particular filesystems.
    Modulo the distinction between raw and generic attributes this was
    tested on 4.4BSD - it works fine there.
    I am ready to write the thing - I have the patch mostly done. It's
    non-intrusive, in sense that any filesystem that doesn't want to know
    about those animals will require no changes. If you are OK with the
    proposed API I'll do it. Comments?

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:52    [W:0.020 / U:8.468 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site