lkml.org 
[lkml]   [2001]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH] VFS interface for extended attributes
    hi Andreas,

    On Wed, Nov 14, 2001 at 11:01:34PM -0700, Andreas Dilger wrote:
    > On Nov 15, 2001 16:08 +1100, Nathan Scott wrote:
    >
    > > + int (*create) (struct inode *, char *, void *, size_t);
    > > + int (*replace) (struct inode *, char *, void *, size_t);
    > > + int (*set) (struct inode *, char *, void *, size_t);
    >
    > What is the distinction between "set" and "replace" or "set" and "create"?
    >

    +#define EA_CREATE 0x0001 /* Set the value: fail if attr already exists */
    +#define EA_REPLACE 0x0002 /* Set the value: fail if attr does not exist */

    Whereas "set" is simply set the named attribute value, creating the
    attribute if need be, replacing the value if the attribute exists,
    and then return success.

    The man pages on AndreasG's site go into more detail, but decribe
    the original interface which Al didn't like. I haven't created an
    updated man page yet, because I'm still not sure if this interface
    is quite what Al was looking for either... (Al?)

    > ... why are there not just
    > flags to distinguish the two, but also separate VFS operations?

    A VFS flags parameter could allow an individual filesystem to extend
    the semantics of the set operation in new ways by adding new flags -
    I think Al wanted to avoid the possibility of that ever happening,
    which seems fair enough.

    cheers.

    --
    Nathan
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:18    [W:2.418 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site