public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH] extended attributes
@ 2001-11-10  9:08 Tim R.
  2001-11-11 10:50 ` Nathan Scott
  2001-11-12  1:57 ` Anton Altaparmakov
  0 siblings, 2 replies; 27+ messages in thread
From: Tim R. @ 2001-11-10  9:08 UTC (permalink / raw)
  To: linux-kernel; +Cc: nathans

Hi,
I'm glad to see you guys are working on a common acl api for ext2/3 and xfs.
I was just wondering if this api provided what would be needed for linux 
to support NTFS's acls.
Now bare in mind I know little about how NTFS's alc's are implimented or 
if they follow POSIX at
all. But I just thought it might be worth asking the ntfs maintainer if 
the proposed api would be
adaquit to support ntfs's acls on linux should they ever want to 
impliment this. Might save them
headaches someday.
Also will it supply the interface needed for other filesystems that have 
been ported that linux that
support acls? (i.e. will it work for them, could they use it in the 
future if/when they decide to
impliment that feature) I think JFS might support acls too.

Sorry to be a bother,
Tim




^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: [RFC][PATCH] extended attributes
@ 2001-11-08 16:47 Dean Roehrich
  0 siblings, 0 replies; 27+ messages in thread
From: Dean Roehrich @ 2001-11-08 16:47 UTC (permalink / raw)
  To: Luka Renko
  Cc: Nathan Scott, Linus Torvalds, Andreas Gruenbacher, linux-kernel,
	linux-fsdevel, acl-devel, linux-xfs


>From:  Luka Renko <luka.renko@hermes.si>
>I am also thinking in terms of HSM application (or DMAPI if you want). Where
>do you want HSM attributes to be placed? I thought it should be in trusted,
>because we might need access to them from user space. Other option is system
>(that would require accessing them from kernel code) or user (might be
>problematic, since regular user with write permission might remove them...
>Actually, where are XFS guys storing DMAPI attributes today?

On XFS the DMAPI event mask for that file is kept in a field in the
xfs_dinode_core_t structure--so it's in the inode.  On Irix, HSM's store state
info in an extended attribute in the "root" namespace on each file, but they
do it via the appropriate DMAPI calls (which jump to XFS's extended attribute
code) rather than via the extended attribute library.


Dean

^ permalink raw reply	[flat|nested] 27+ messages in thread
* RE: [RFC][PATCH] extended attributes
@ 2001-11-08 16:12 Luka Renko
  2001-11-08 16:29 ` Andreas Gruenbacher
  0 siblings, 1 reply; 27+ messages in thread
From: Luka Renko @ 2001-11-08 16:12 UTC (permalink / raw)
  To: Nathan Scott, Linus Torvalds, Andreas Gruenbacher
  Cc: linux-kernel, linux-fsdevel, acl-devel, linux-xfs

In http://acl.bestbits.at/man/extattr.5.html there is a statement:

   Device special files cannot be associated with extended user attributes 

What is the reason for this limitation? Why should there be a difference
between regular files/directories and special files (device files)?

I am also thinking in terms of HSM application (or DMAPI if you want). Where
do you want HSM attributes to be placed? I thought it should be in trusted,
because we might need access to them from user space. Other option is system
(that would require accessing them from kernel code) or user (might be
problematic, since regular user with write permission might remove them...
Actually, where are XFS guys storing DMAPI attributes today?

Regards,
Luka

> -----Original Message-----
> From: Nathan Scott [mailto:nathans@sgi.com] 
> Sent: Wednesday, November 07, 2001 01:12
> To: Linus Torvalds; Andreas Gruenbacher
> Cc: linux-kernel@vger.kernel.org; 
> linux-fsdevel@vger.kernel.org; acl-devel@bestbits.at; 
> linux-xfs@hermes.si
> Subject: [RFC][PATCH] extended attributes
> 
> 
> hi folks,
> 
> I've been discussing a filesystem extended attributes API 
> with Andreas Gruenbacher (maintainer of the ext2/ext3 
> extended attributes patch[1]) which is suitable for other 
> Linux filesystems as well, in an effort to remove the 
> differences between our current implementations and to help 
> out the people building services layered above this 
> (especially Samba). In doing so we have reviewed the earlier 
> discussion[2,3] on this topic, and have attempted to produce 
> a new interface which I believe satisfies many of the issues 
> and ideas put forward there, while at the same time ensuring 
> that the interface is simple, and remains true to the design 
> of extended attributes being name:value pairs.
> 
> A manual page describing the system call interface can be 
> found here[4]. We're very interested in feedback on this.  In 
> partiular, Linus - would you consider the patch below, which 
> reserves system call numbers for this interface?  That would 
> be a big help to our collaborative effort.
> 
> We have written most of the code for XFS, and Andreas is 
> working away on the ext2/ext3 version.  Switching to a new 
> syscall interface is going to cause several compatibility 
> issues for our existing users, of course, so is not something 
> we want to rush into before soliciting feedback and
> (hopefully) getting some system call numbers reserved - 
> otherwise we may find ourselves needing to do a similar 
> transition again later.
> 
> As a test case for the interface, we will now be able to use 
> the same POSIX ACL userspace[1,5] between XFS and ext2 
> without any on-disk format changes in XFS - this was an 
> important interface design goal for us XFS folk, where our 
> format is fixed in stone as it is also used by IRIX.
> 
> We have also begun discussions with some of the LSM 
> developers, with the goal of implementing POSIX capabilities 
> and POSIX MAC (mandatory access
> control) security extensions in Linux also,  Here we again 
> expect to be able to provide a filesystem independent view of 
> these attributes, while still preserving the on-disk XFS 
> format for these attributes using the simple namespace 
> abstraction mechanism this new interface provides.
> 
> I've included some pointers[6,7,8,9,10] to other projects, 
> developers, discussions, etc. which I've come across who are 
> in some way or another interested in an extended attributes 
> implementation in the base kernel
> - just as examples of how various people are using (or 
> planning to use) the current ext2/ext3 and XFS interfaces on Linux.
> 
> cheers.
> 
> -- 
> Nathan
> 
> 
> [1] Extended attributes for ext2/ext3 and POSIX ACLs
>     http://acl.bestbits.at/
> [2] fs-devel extended attributes discussion
>     http://marc.theaimsgroup.com/?l=linux-fsdevel&m=97222475218787&w=2
> [3] Andrew Gildfind's interface comparison whitepaper
>     http://acl.bestbits.at/pre/gildfind-acls.pdf
> [4] New extattr(2) system call man pages
>     http://acl.bestbits.at/man/extattr.2.html
>     http://acl.bestbits.at/man/extattr.5.html
>     
> http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/cmd/attr2/
man/man2/extattr.2
> [5] Common POSIX ACL implementation for Linux
>     
> http://acl.bestbits.at/pipermail/acl-devel/2001-February/000495.html
>     http://www.samba.org/samba/whatsnew/samba-2.2.0.html
> [6] Andrew Morgan's Filesystem Capability patches
>     http://www.kernel.org/pub/linux/libs/security/linux-privs/README
> [7] LSM - Linux Security Module project
>     http://www.linuxsecurity.com/articles/forums_article-2854.html
>     
> http://mail.wirex.com/pipermail/linux-security-module/2001-Oct
ober/002310.html
[8] DMAPI/XDSM specification - implemented in XFS via extended attributes
    http://www.opengroup.org/onlinepubs/9657099/
    http://oss.sgi.com/projects/xfs/dmapi.html
[9] SnapFS snapshot filesystem
    http://lwn.net/2001/0308/a/snapfs.php3
[10] Will Dyson's resurrection of BeFS for Linux 2.4
    http://cs.earlham.edu/~will/software/linux/kernel/BeFS.html
    http://marc.theaimsgroup.com/?l=linux-fsdevel&m=100431033704112&w=2


diff -Naur 2.4.14-pristine/arch/i386/kernel/entry.S
2.4.14-reserved/arch/i386/kernel/entry.S
--- 2.4.14-pristine/arch/i386/kernel/entry.S	Sat Nov  3 12:18:49 2001
+++ 2.4.14-reserved/arch/i386/kernel/entry.S	Wed Nov  7 10:02:59 2001
@@ -622,6 +622,9 @@
 	.long SYMBOL_NAME(sys_ni_syscall)	/* Reserved for Security */
 	.long SYMBOL_NAME(sys_gettid)
 	.long SYMBOL_NAME(sys_readahead)	/* 225 */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for extattr  */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for lextattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for fextattr */
 
 	.rept NR_syscalls-(.-sys_call_table)/4
 		.long SYMBOL_NAME(sys_ni_syscall)
diff -Naur 2.4.14-pristine/include/asm-i386/unistd.h
2.4.14-reserved/include/asm-i386/unistd.h
--- 2.4.14-pristine/include/asm-i386/unistd.h	Thu Oct 18 03:03:03 2001
+++ 2.4.14-reserved/include/asm-i386/unistd.h	Wed Nov  7 10:02:59 2001
@@ -230,6 +230,9 @@
 #define __NR_security		223	/* syscall for security modules */
 #define __NR_gettid		224
 #define __NR_readahead		225
+#define __NR_extattr		226	/* syscall for extended attributes
*/
+#define __NR_lextattr		227	/* syscall for extended attributes
*/
+#define __NR_fextattr		228	/* syscall for extended attributes
*/
 
 /* user-visible error numbers are in the range -1 - -124: see
<asm-i386/errno.h> */
 
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org More majordomo info at
http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 27+ messages in thread
* [RFC][PATCH] extended attributes
@ 2001-11-07  0:12 Nathan Scott
  2001-11-07  0:23 ` Nathan Scott
  2001-11-07  1:32 ` Andi Kleen
  0 siblings, 2 replies; 27+ messages in thread
From: Nathan Scott @ 2001-11-07  0:12 UTC (permalink / raw)
  To: Linus Torvalds, Andreas Gruenbacher
  Cc: linux-kernel, linux-fsdevel, acl-devel, linux-xfs

hi folks,

I've been discussing a filesystem extended attributes API with Andreas
Gruenbacher (maintainer of the ext2/ext3 extended attributes patch[1])
which is suitable for other Linux filesystems as well, in an effort to
remove the differences between our current implementations and to help
out the people building services layered above this (especially Samba).
In doing so we have reviewed the earlier discussion[2,3] on this topic,
and have attempted to produce a new interface which I believe satisfies
many of the issues and ideas put forward there, while at the same time
ensuring that the interface is simple, and remains true to the design
of extended attributes being name:value pairs.

A manual page describing the system call interface can be found here[4].
We're very interested in feedback on this.  In partiular, Linus - would
you consider the patch below, which reserves system call numbers for
this interface?  That would be a big help to our collaborative effort.

We have written most of the code for XFS, and Andreas is working away on
the ext2/ext3 version.  Switching to a new syscall interface is going to
cause several compatibility issues for our existing users, of course, so
is not something we want to rush into before soliciting feedback and
(hopefully) getting some system call numbers reserved - otherwise we may
find ourselves needing to do a similar transition again later.

As a test case for the interface, we will now be able to use the same
POSIX ACL userspace[1,5] between XFS and ext2 without any on-disk format
changes in XFS - this was an important interface design goal for us XFS
folk, where our format is fixed in stone as it is also used by IRIX.

We have also begun discussions with some of the LSM developers, with the
goal of implementing POSIX capabilities and POSIX MAC (mandatory access
control) security extensions in Linux also,  Here we again expect to be
able to provide a filesystem independent view of these attributes, while
still preserving the on-disk XFS format for these attributes using the
simple namespace abstraction mechanism this new interface provides.

I've included some pointers[6,7,8,9,10] to other projects, developers,
discussions, etc. which I've come across who are in some way or another
interested in an extended attributes implementation in the base kernel
- just as examples of how various people are using (or planning to use)
the current ext2/ext3 and XFS interfaces on Linux.

cheers.

-- 
Nathan


[1] Extended attributes for ext2/ext3 and POSIX ACLs
    http://acl.bestbits.at/
[2] fs-devel extended attributes discussion
    http://marc.theaimsgroup.com/?l=linux-fsdevel&m=97222475218787&w=2
[3] Andrew Gildfind's interface comparison whitepaper
    http://acl.bestbits.at/pre/gildfind-acls.pdf
[4] New extattr(2) system call man pages
    http://acl.bestbits.at/man/extattr.2.html
    http://acl.bestbits.at/man/extattr.5.html
    http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/cmd/attr2/man/man2/extattr.2
[5] Common POSIX ACL implementation for Linux
    http://acl.bestbits.at/pipermail/acl-devel/2001-February/000495.html
    http://www.samba.org/samba/whatsnew/samba-2.2.0.html
[6] Andrew Morgan's Filesystem Capability patches
    http://www.kernel.org/pub/linux/libs/security/linux-privs/README
[7] LSM - Linux Security Module project
    http://www.linuxsecurity.com/articles/forums_article-2854.html
    http://mail.wirex.com/pipermail/linux-security-module/2001-October/002310.html
[8] DMAPI/XDSM specification - implemented in XFS via extended attributes
    http://www.opengroup.org/onlinepubs/9657099/
    http://oss.sgi.com/projects/xfs/dmapi.html
[9] SnapFS snapshot filesystem
    http://lwn.net/2001/0308/a/snapfs.php3
[10] Will Dyson's resurrection of BeFS for Linux 2.4
    http://cs.earlham.edu/~will/software/linux/kernel/BeFS.html
    http://marc.theaimsgroup.com/?l=linux-fsdevel&m=100431033704112&w=2


diff -Naur 2.4.14-pristine/arch/i386/kernel/entry.S 2.4.14-reserved/arch/i386/kernel/entry.S
--- 2.4.14-pristine/arch/i386/kernel/entry.S	Sat Nov  3 12:18:49 2001
+++ 2.4.14-reserved/arch/i386/kernel/entry.S	Wed Nov  7 10:02:59 2001
@@ -622,6 +622,9 @@
 	.long SYMBOL_NAME(sys_ni_syscall)	/* Reserved for Security */
 	.long SYMBOL_NAME(sys_gettid)
 	.long SYMBOL_NAME(sys_readahead)	/* 225 */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for extattr  */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for lextattr */
+	.long SYMBOL_NAME(sys_ni_syscall)	/* reserved for fextattr */
 
 	.rept NR_syscalls-(.-sys_call_table)/4
 		.long SYMBOL_NAME(sys_ni_syscall)
diff -Naur 2.4.14-pristine/include/asm-i386/unistd.h 2.4.14-reserved/include/asm-i386/unistd.h
--- 2.4.14-pristine/include/asm-i386/unistd.h	Thu Oct 18 03:03:03 2001
+++ 2.4.14-reserved/include/asm-i386/unistd.h	Wed Nov  7 10:02:59 2001
@@ -230,6 +230,9 @@
 #define __NR_security		223	/* syscall for security modules */
 #define __NR_gettid		224
 #define __NR_readahead		225
+#define __NR_extattr		226	/* syscall for extended attributes */
+#define __NR_lextattr		227	/* syscall for extended attributes */
+#define __NR_fextattr		228	/* syscall for extended attributes */
 
 /* user-visible error numbers are in the range -1 - -124: see <asm-i386/errno.h> */
 

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2001-12-04  0:21 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-11-10  9:08 [RFC][PATCH] extended attributes Tim R.
2001-11-11 10:50 ` Nathan Scott
2001-11-12  1:57 ` Anton Altaparmakov
2001-11-12  3:20   ` Nathan Scott
2001-11-12  6:21     ` [RFC][PATCH] VFS interface for " Nathan Scott
2001-11-12  6:47       ` Alexander Viro
2001-11-12 11:39         ` Andreas Gruenbacher
2001-11-13  0:32           ` Alexander Viro
2001-11-13  5:27             ` Andi Kleen
2001-11-15  5:08               ` Nathan Scott
2001-11-15  6:01                 ` Andreas Dilger
2001-11-15 23:18                   ` Nathan Scott
2001-12-03  0:07                     ` Daniel Phillips
2001-12-03  0:54                       ` Nathan Scott
2001-12-03 14:52                         ` Daniel Phillips
2001-12-03 23:14                           ` Nathan Scott
2001-11-13  0:47           ` Anton Altaparmakov
  -- strict thread matches above, loose matches on Subject: below --
2001-11-08 16:47 [RFC][PATCH] " Dean Roehrich
2001-11-08 16:12 Luka Renko
2001-11-08 16:29 ` Andreas Gruenbacher
2001-11-07  0:12 Nathan Scott
2001-11-07  0:23 ` Nathan Scott
2001-11-07  1:32 ` Andi Kleen
2001-11-07  1:38   ` Alexander Viro
2001-11-07  3:19   ` Nathan Scott
2001-11-08  6:48     ` Andi Kleen
2001-11-12  5:01   ` Nathan Scott

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox