* ACL support. @ 2014-03-26 5:23 dE 2014-03-26 10:34 ` Edward Shishkin 0 siblings, 1 reply; 15+ messages in thread From: dE @ 2014-03-26 5:23 UTC (permalink / raw) To: reiserfs-devel Does reiser4 support ACL? ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL support. 2014-03-26 5:23 ACL support dE @ 2014-03-26 10:34 ` Edward Shishkin 2014-03-26 15:42 ` dE [not found] ` <CAJZSrNLHanHHgAV-E=1bpnbq4FvqYETQkOQhdsrEwLza+Yd90w@mail.gmail.com> 0 siblings, 2 replies; 15+ messages in thread From: Edward Shishkin @ 2014-03-26 10:34 UTC (permalink / raw) To: dE, reiserfs-devel On 03/26/2014 06:23 AM, dE wrote: > Does reiser4 support ACL? Nope for historical reasons. I'll provide hints how to implement this, if someone wants.. Edward. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL support. 2014-03-26 10:34 ` Edward Shishkin @ 2014-03-26 15:42 ` dE 2014-03-26 16:01 ` Edward Shishkin [not found] ` <CAJZSrNLHanHHgAV-E=1bpnbq4FvqYETQkOQhdsrEwLza+Yd90w@mail.gmail.com> 1 sibling, 1 reply; 15+ messages in thread From: dE @ 2014-03-26 15:42 UTC (permalink / raw) To: reiserfs-devel On 03/26/14 16:04, Edward Shishkin wrote: > On 03/26/2014 06:23 AM, dE wrote: >> Does reiser4 support ACL? > > Nope for historical reasons. > I'll provide hints how to implement this, if someone wants.. > > Edward. Thanks for the response. I was just asking for educational purposes (my home dir recedes on reiser4). And yes -- I got a major bug to report which cause FF to crash. Duplicating ~/.firefox solved the problem. I've the bad ~/.firefox. What do I have to do to report the problem? ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL support. 2014-03-26 15:42 ` dE @ 2014-03-26 16:01 ` Edward Shishkin 2014-03-26 16:44 ` dE 0 siblings, 1 reply; 15+ messages in thread From: Edward Shishkin @ 2014-03-26 16:01 UTC (permalink / raw) To: dE; +Cc: reiserfs-devel On 03/26/2014 04:42 PM, dE wrote: > On 03/26/14 16:04, Edward Shishkin wrote: >> On 03/26/2014 06:23 AM, dE wrote: >>> Does reiser4 support ACL? >> >> Nope for historical reasons. >> I'll provide hints how to implement this, if someone wants.. >> >> Edward. > > Thanks for the response. > > I was just asking for educational purposes (my home dir recedes on > reiser4). > > And yes -- I got a major bug to report which cause FF to crash. > Duplicating ~/.firefox solved the problem. I've the bad ~/.firefox. > > What do I have to do to report the problem? 1) "bad" means what? 2) any kernel complaints? 3) results of checking the partition with fsck.reiser4 4) Is it possible to reproduce the problem? Thanks, Edward. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL support. 2014-03-26 16:01 ` Edward Shishkin @ 2014-03-26 16:44 ` dE 2014-03-26 17:04 ` Edward Shishkin 0 siblings, 1 reply; 15+ messages in thread From: dE @ 2014-03-26 16:44 UTC (permalink / raw) To: reiserfs-devel On 03/26/14 21:31, Edward Shishkin wrote: > On 03/26/2014 04:42 PM, dE wrote: >> On 03/26/14 16:04, Edward Shishkin wrote: >>> On 03/26/2014 06:23 AM, dE wrote: >>>> Does reiser4 support ACL? >>> >>> Nope for historical reasons. >>> I'll provide hints how to implement this, if someone wants.. >>> >>> Edward. >> >> Thanks for the response. >> >> I was just asking for educational purposes (my home dir recedes on >> reiser4). >> >> And yes -- I got a major bug to report which cause FF to crash. >> Duplicating ~/.firefox solved the problem. I've the bad ~/.firefox. >> >> What do I have to do to report the problem? > > 1) "bad" means what? > 2) any kernel complaints? > 3) results of checking the partition with fsck.reiser4 > 4) Is it possible to reproduce the problem? > > Thanks, > Edward. I started having problems with FF which was diagnosed to contents of ~/.firefox. So renamed it to ~/.firefox_bad and copied ~/.firefox_bad to ~/.firefox to solve the problem. So I still have ~/.firefox_bad; this problem occurred twice, and I have both of the ~/.firefox_bad Yes -- the kernel showed a backtrace from some reiser4 sources. fsck.reiser4 was done -- nothing was wrong. Yes -- I have the ~/.firefox_bad just for the purpose of bug reporting. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL support. 2014-03-26 16:44 ` dE @ 2014-03-26 17:04 ` Edward Shishkin 2014-03-27 15:21 ` dE 0 siblings, 1 reply; 15+ messages in thread From: Edward Shishkin @ 2014-03-26 17:04 UTC (permalink / raw) To: dE; +Cc: reiserfs-devel On 03/26/2014 05:44 PM, dE wrote: > On 03/26/14 21:31, Edward Shishkin wrote: >> On 03/26/2014 04:42 PM, dE wrote: >>> On 03/26/14 16:04, Edward Shishkin wrote: >>>> On 03/26/2014 06:23 AM, dE wrote: >>>>> Does reiser4 support ACL? >>>> >>>> Nope for historical reasons. >>>> I'll provide hints how to implement this, if someone wants.. >>>> >>>> Edward. >>> >>> Thanks for the response. >>> >>> I was just asking for educational purposes (my home dir recedes on >>> reiser4). >>> >>> And yes -- I got a major bug to report which cause FF to crash. >>> Duplicating ~/.firefox solved the problem. I've the bad ~/.firefox. >>> >>> What do I have to do to report the problem? >> >> 1) "bad" means what? >> 2) any kernel complaints? >> 3) results of checking the partition with fsck.reiser4 >> 4) Is it possible to reproduce the problem? >> >> Thanks, >> Edward. > > I started having problems with FF which was diagnosed to contents of > ~/.firefox. Which kernel version? Do you use the new reiser4 transaction models announced not so long ago? > So renamed it to ~/.firefox_bad and copied ~/.firefox_bad to > ~/.firefox to solve the problem. > > So I still have ~/.firefox_bad; this problem occurred twice, and I > have both of the ~/.firefox_bad > > Yes -- the kernel showed a backtrace from some reiser4 sources. Could you send it, if possible? Thanks, Edward. > > fsck.reiser4 was done -- nothing was wrong. > > Yes -- I have the ~/.firefox_bad just for the purpose of bug reporting. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL support. 2014-03-26 17:04 ` Edward Shishkin @ 2014-03-27 15:21 ` dE 2014-03-29 3:42 ` dE 0 siblings, 1 reply; 15+ messages in thread From: dE @ 2014-03-27 15:21 UTC (permalink / raw) To: reiserfs-devel On 03/26/14 22:34, Edward Shishkin wrote: > On 03/26/2014 05:44 PM, dE wrote: >> On 03/26/14 21:31, Edward Shishkin wrote: >>> On 03/26/2014 04:42 PM, dE wrote: >>>> On 03/26/14 16:04, Edward Shishkin wrote: >>>>> On 03/26/2014 06:23 AM, dE wrote: >>>>>> Does reiser4 support ACL? >>>>> >>>>> Nope for historical reasons. >>>>> I'll provide hints how to implement this, if someone wants.. >>>>> >>>>> Edward. >>>> >>>> Thanks for the response. >>>> >>>> I was just asking for educational purposes (my home dir recedes on >>>> reiser4). >>>> >>>> And yes -- I got a major bug to report which cause FF to crash. >>>> Duplicating ~/.firefox solved the problem. I've the bad ~/.firefox. >>>> >>>> What do I have to do to report the problem? >>> >>> 1) "bad" means what? >>> 2) any kernel complaints? >>> 3) results of checking the partition with fsck.reiser4 >>> 4) Is it possible to reproduce the problem? >>> >>> Thanks, >>> Edward. >> >> I started having problems with FF which was diagnosed to contents of >> ~/.firefox. > > Which kernel version? > Do you use the new reiser4 transaction models announced not so long ago? > >> So renamed it to ~/.firefox_bad and copied ~/.firefox_bad to >> ~/.firefox to solve the problem. >> >> So I still have ~/.firefox_bad; this problem occurred twice, and I >> have both of the ~/.firefox_bad >> >> Yes -- the kernel showed a backtrace from some reiser4 sources. > > Could you send it, if possible? > > Thanks, > Edward. > >> >> fsck.reiser4 was done -- nothing was wrong. >> >> Yes -- I have the ~/.firefox_bad just for the purpose of bug reporting. > Kernel is 3.8.5. So no, it's an old one. Yes, I'll send the bt. Wait. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL support. 2014-03-27 15:21 ` dE @ 2014-03-29 3:42 ` dE 0 siblings, 0 replies; 15+ messages in thread From: dE @ 2014-03-29 3:42 UTC (permalink / raw) To: reiserfs-devel On 03/27/14 20:51, dE wrote: > On 03/26/14 22:34, Edward Shishkin wrote: >> On 03/26/2014 05:44 PM, dE wrote: >>> On 03/26/14 21:31, Edward Shishkin wrote: >>>> On 03/26/2014 04:42 PM, dE wrote: >>>>> On 03/26/14 16:04, Edward Shishkin wrote: >>>>>> On 03/26/2014 06:23 AM, dE wrote: >>>>>>> Does reiser4 support ACL? >>>>>> >>>>>> Nope for historical reasons. >>>>>> I'll provide hints how to implement this, if someone wants.. >>>>>> >>>>>> Edward. >>>>> >>>>> Thanks for the response. >>>>> >>>>> I was just asking for educational purposes (my home dir recedes on >>>>> reiser4). >>>>> >>>>> And yes -- I got a major bug to report which cause FF to crash. >>>>> Duplicating ~/.firefox solved the problem. I've the bad ~/.firefox. >>>>> >>>>> What do I have to do to report the problem? >>>> >>>> 1) "bad" means what? >>>> 2) any kernel complaints? >>>> 3) results of checking the partition with fsck.reiser4 >>>> 4) Is it possible to reproduce the problem? >>>> >>>> Thanks, >>>> Edward. >>> >>> I started having problems with FF which was diagnosed to contents of >>> ~/.firefox. >> >> Which kernel version? >> Do you use the new reiser4 transaction models announced not so long ago? >> >>> So renamed it to ~/.firefox_bad and copied ~/.firefox_bad to >>> ~/.firefox to solve the problem. >>> >>> So I still have ~/.firefox_bad; this problem occurred twice, and I >>> have both of the ~/.firefox_bad >>> >>> Yes -- the kernel showed a backtrace from some reiser4 sources. >> >> Could you send it, if possible? >> >> Thanks, >> Edward. >> >>> >>> fsck.reiser4 was done -- nothing was wrong. >>> >>> Yes -- I have the ~/.firefox_bad just for the purpose of bug reporting. >> > > Kernel is 3.8.5. So no, it's an old one. > > Yes, I'll send the bt. Wait. Ok, I've realized the mailing list software rejected the mail silently. ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <CAJZSrNLHanHHgAV-E=1bpnbq4FvqYETQkOQhdsrEwLza+Yd90w@mail.gmail.com>]
* Re: ACL support. [not found] ` <CAJZSrNLHanHHgAV-E=1bpnbq4FvqYETQkOQhdsrEwLza+Yd90w@mail.gmail.com> @ 2014-04-13 22:22 ` Edward Shishkin 0 siblings, 0 replies; 15+ messages in thread From: Edward Shishkin @ 2014-04-13 22:22 UTC (permalink / raw) To: Daniel Horne, ReiserFS Development List On 04/08/2014 08:28 PM, Daniel Horne wrote: > On 26 March 2014 10:34, Edward Shishkin <edward.shishkin@gmail.com > <mailto:edward.shishkin@gmail.com>> wrote: > > On 03/26/2014 06:23 AM, dE wrote: > > Does reiser4 support ACL? > > > Nope for historical reasons. > I'll provide hints how to implement this, if someone wants.. > > > I occasionally have a look at making an XATTR implementation before > getting sidetracked. > > There's a couple of points I'm not quite decided on: > > Whether to make a generic xattr stat_data plugin and use it to store all > different types of attribute, or make different plugins for ACL, SElinux > contexts, and user xattrs. > > You've previously stated that stat_data plugins are limited to 4k. This > should be fine for selinux contexts and all but pathologically long > access control lists, I'm not sure about the use of user xattrs. Would > making separate stat_data plugins give separate 4k limits to each type > of attribute, or is that all-inclusive? > Actually stat-data is an on-disk container of inode fields. That said, I would prefer to store xattrs in special items, which are different from stat-data (one such item per a pair (xattr_name, xattr_value)). > There's also the matter of choosing an on-disk format. A simple list > format, perhaps? Lookup would be O(n), but given the small amount of > data we're expecting to store there, that may be OK. I suggest that we use the following format for the xattr items. The key of the item associated with the pair (xattr_name, xattr_value) is [base_key, offset], where base_key is calculated by build_xattr_key() (not yet implemented). This function does mostly the same as build_sd_key(). The difference is that build_xattr_key() installs a special reserved (and currently not used) minor locality KEY_ATTR_NAME_MINOR (see key.h for the definition). 64-bit key offset is composed of 32-bit major_offset and 32-bit minor offset. Major offset is a 32-hash of the xattr_name. Minor offset is the number of the collision in the chronology ordering. Format of the item body is the following: . size-of-xattr_name (16 bit) . xattr_name; . xattr_value So getxattr(2) is resolved to the following actions: . build base_key for the xattr_name; . set major offset as hash(xattr_name); . linear search for precise xattr_name among all items with the same [key_base, major_offset]. . return respective xattr_value (or NOT_FOUND). setxattr(2) is resolved to the following actions: . compose the item body in accordance with the format above; . build base_key for xattr_name; . set the major offset, i.e. hash(xattr_name); . search for the xattr_name among all items with the same [base_key, major_offset]; . update the item body, or (depending on the flags) return EEXIST, if the item with xattr_name was found; . set the respective minor_offset by the search results, if the item with xattr_name was not found; . insert the new item with the [base_key, offset] to the current position in the tree. For simplicity and performance reasons let's assume that xattr items are solid. That said, any xattr item contains exactly one unit. In particular, it means that sizeof(xattr_name + xattr_value) can not exceed 4096 - (sizeof(node_header) + sizeof(item_header)). Let's implement xattrs support with such restrictions for now. Also, don't update minor offsets of colliding items when removing xattr: I don't think that we'll exceed the limit for the number of collisions (2^32) in the foreseeable future. Makes sense? Let me know if any problems.. Thanks, Edward. ^ permalink raw reply [flat|nested] 15+ messages in thread
* ACL Support @ 2004-04-01 16:50 Mike Young 2004-04-01 17:11 ` Christian Mayrhuber 2004-04-01 19:05 ` Jeff Mahoney 0 siblings, 2 replies; 15+ messages in thread From: Mike Young @ 2004-04-01 16:50 UTC (permalink / raw) To: reiserfs-list [-- Attachment #1: Type: text/plain, Size: 1230 bytes --] Hi All, I've been trying to find out information on ACL support in Reiserfs, but haven't had much luck finding anything but a few exchanges here and there. There are numerous capabilities within Reiserfs, which I'd like to take advantage of, but this issue of ACL support is only growing. The problem actually consists of trying to store ACLs in a Windows environment. The number of ACEs can be quite sufficient that it can require multiple inodes to store everything. As an example, XFS has a maximum inode size of 2K, which is normally fairly sufficient. However, if I wish to support all of the Windows ACL set, then 2K is inadequate and 4K would actually be better. Again, I can use multiple inodes, but this has a significant affect on performance. The bottom line is that I love Linux as a server and believe I should be able to seamlessly support a Windows client. I just don't want to be as slow as a Windows server. With that in mind, can someone give me a quick synopsis of how ACLs are handled in Reiserfs v3 and v4? Also, if there is a url to the information I'd appreciate a pointer to it. Admittedly, I haven't read the man pages. So, if it's all there, please forgive me. Many thanks, Mike [-- Attachment #2: Type: text/html, Size: 3453 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL Support 2004-04-01 16:50 ACL Support Mike Young @ 2004-04-01 17:11 ` Christian Mayrhuber 2004-04-01 19:05 ` Jeff Mahoney 1 sibling, 0 replies; 15+ messages in thread From: Christian Mayrhuber @ 2004-04-01 17:11 UTC (permalink / raw) To: reiserfs-list, Mike Young On Thursday 01 April 2004 18:50, Mike Young wrote: > Hi All, > > > > I've been trying to find out information on ACL support in Reiserfs, but > haven't had much luck finding anything but a few exchanges here and there. > There are numerous capabilities within Reiserfs, which I'd like to take > advantage of, but this issue of ACL support is only growing. The problem > actually consists of trying to store ACLs in a Windows environment. The > number of ACEs can be quite sufficient that it can require multiple inodes > to store everything. As an example, XFS has a maximum inode size of 2K, > which is normally fairly sufficient. However, if I wish to support all of > the Windows ACL set, then 2K is inadequate and 4K would actually be better. > Again, I can use multiple inodes, but this has a significant affect on > performance. The bottom line is that I love Linux as a server and believe > I should be able to seamlessly support a Windows client. I just don't want > to be as slow as a Windows server. > > > > With that in mind, can someone give me a quick synopsis of how ACLs are > handled in Reiserfs v3 and v4? Also, if there is a url to the information > I'd appreciate a pointer to it. Admittedly, I haven't read the man pages. > So, if it's all there, please forgive me. > > > > Many thanks, > > > > Mike Status of acl's under Linux (start with that, its very informative): http://www.suse.de/~agruen/acl/linux-acls/ For ReiserfsV3, you have 2 possibilites: 1) use the SuSE distribution, it has ACL's for Reiserfs per default. 2) patch the linux kernel For kernel 2.6; experimental ftp://ftp.suse.com/pub/people/mason/patches/data-logging/experimental/ For kernel 2.4 http://acl.bestbits.at + ftp://ftp.suse.com/pub/people/jeffm/reiserfs/aclea/v2.4/ For the capabilities of Reiser4 read: http://www.namesys.com/ Notes: * Reiser4 is incompatible with Reiser3. * I don't know if ReiserfsV3 ACL's will ever be included in the official Linux kernel. SuSE is supporting this stuff. -- lg, Chris ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL Support 2004-04-01 16:50 ACL Support Mike Young 2004-04-01 17:11 ` Christian Mayrhuber @ 2004-04-01 19:05 ` Jeff Mahoney 2004-04-01 20:43 ` Mike Young 1 sibling, 1 reply; 15+ messages in thread From: Jeff Mahoney @ 2004-04-01 19:05 UTC (permalink / raw) To: Mike Young; +Cc: reiserfs-list -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mike Young wrote: | Hi All, | | | | I\x19ve been trying to find out information on ACL support in Reiserfs, but | haven\x19t had much luck finding anything but a few exchanges here and | there. There are numerous capabilities within Reiserfs, which I\x19d like | to take advantage of, but this issue of ACL support is only growing. | The problem actually consists of trying to store ACLs in a Windows | environment. The number of ACEs can be quite sufficient that it can | require multiple inodes to store everything. As an example, XFS has a | maximum inode size of 2K, which is normally fairly sufficient. However, | if I wish to support all of the Windows ACL set, then 2K is inadequate | and 4K would actually be better. Again, I can use multiple inodes, but | this has a significant affect on performance. The bottom line is that I | love Linux as a server and believe I should be able to seamlessly | support a Windows client. I just don\x19t want to be as slow as a Windows | server. | | | | With that in mind, can someone give me a quick synopsis of how ACLs are | handled in Reiserfs v3 and v4? Also, if there is a url to the | information I\x19d appreciate a pointer to it. Admittedly, I haven\x19t read | the man pages. So, if it\x19s all there, please forgive me. ReiserFS v3 ACLs are implemented as an external patchset, though we've been trying for some time to convince Hans to accept them. I'm not sure what you mean by "handled," so I guess I'll just give a rundown of how the backend works. ACLs are handled by implementing extended attributes for ReiserFS, and having the system.posix_acl_access and system.posix_acl_default xattrs handled specially, and are interpreted by the kernel as part of the permissions process. In order to implement extended attributes in a manner that doesn't alter disk format, my patches add a .reiserfs_priv directory to the root of the filesystems. xattrs are stored in .reiserfs/xattrs/<objectid>.<generation number>/<xattr name>. This directory is hidden from userspace completely when xattrs are enabled, even as root. When not using my patches, the directory is exposed as a normal directory and the system administrator is welcome to shoot himself in the foot. Each file contains a magic, a checksum of the data, ~ and the xattr data itself. When quotas are enabled, extended attributes are included in the quota usage. Both access and default ACLs are loaded on demand. This means that for an access ACL to be loaded, reiserfs_permission requires that information. If the user owns the file or is root, the ACL won't be loaded from disk. Once loaded, the entire ACL set for that inode is cached for the life of the inode. For the default ACL to be loaded, a file or directory must be created under a directory with a default ACL. Like access ACLs, once loaded, the default ACL is cached for the life of the inode. As far as using them goes, the interface is the standard set of xattr/acl tools you'd use for any other Linux filesystem that supports them. Since the xattr implementation uses regular files as the backend, the number of ACLs per inode is limited only by the maximum size of an xattr, which is currently limited at the VFS layer to 64k. With 64k to work with, the on-disk format supports approximately 8k ACLs. For v2.6, your best bet is to use the patches that are merged against Chris Mason's data logging patch set. You can get those at Chris's FTP site[1]. For v2.4, if you're not using a SuSE kernel (which has them already), you can get the patches from my FTP site[2]. I'm not familiar with the v4 ACL/xattr implementation, so I can't comment. - -Jeff [1] ftp://ftp.suse.com/pub/people/mason/patches/data-logging/experimental/ [2] ftp://ftp.suse.com/pub/people/jeffm/reiserfs/aclea/v2.4/ - -- Jeff Mahoney SuSE Labs jeffm@suse.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFAbGfnLPWxlyuTD7IRAqovAKCAKpFn93wBVB/Rj9cRg57fXSx7FgCgmRcD bjKtPjRIwLtxA7naRR/OkMw= =Dhvk -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: ACL Support 2004-04-01 19:05 ` Jeff Mahoney @ 2004-04-01 20:43 ` Mike Young 2004-04-01 21:48 ` Jeff Mahoney 0 siblings, 1 reply; 15+ messages in thread From: Mike Young @ 2004-04-01 20:43 UTC (permalink / raw) To: 'Jeff Mahoney'; +Cc: reiserfs-list Wow Jeff! That's a great explanation and very helpful too. Can you answer a couple more questions for me on the v3.x reiserfs? I'm trying to understand the limits right now. For example, how big of a volume can I support? How large of a file? And how many files? I actually have a problem in that I've got files that are 2TB in size-- nothing bigger, though. Thanks, Mike -----Original Message----- From: Jeff Mahoney [mailto:jeffm@suse.com] Sent: Thursday, April 01, 2004 11:05 AM To: Mike Young Cc: reiserfs-list@namesys.com Subject: Re: ACL Support -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mike Young wrote: | Hi All, | | | | I\x19ve been trying to find out information on ACL support in Reiserfs, but | haven\x19t had much luck finding anything but a few exchanges here and | there. There are numerous capabilities within Reiserfs, which I\x19d like | to take advantage of, but this issue of ACL support is only growing. | The problem actually consists of trying to store ACLs in a Windows | environment. The number of ACEs can be quite sufficient that it can | require multiple inodes to store everything. As an example, XFS has a | maximum inode size of 2K, which is normally fairly sufficient. However, | if I wish to support all of the Windows ACL set, then 2K is inadequate | and 4K would actually be better. Again, I can use multiple inodes, but | this has a significant affect on performance. The bottom line is that I | love Linux as a server and believe I should be able to seamlessly | support a Windows client. I just don\x19t want to be as slow as a Windows | server. | | | | With that in mind, can someone give me a quick synopsis of how ACLs are | handled in Reiserfs v3 and v4? Also, if there is a url to the | information I\x19d appreciate a pointer to it. Admittedly, I haven\x19t read | the man pages. So, if it\x19s all there, please forgive me. ReiserFS v3 ACLs are implemented as an external patchset, though we've been trying for some time to convince Hans to accept them. I'm not sure what you mean by "handled," so I guess I'll just give a rundown of how the backend works. ACLs are handled by implementing extended attributes for ReiserFS, and having the system.posix_acl_access and system.posix_acl_default xattrs handled specially, and are interpreted by the kernel as part of the permissions process. In order to implement extended attributes in a manner that doesn't alter disk format, my patches add a .reiserfs_priv directory to the root of the filesystems. xattrs are stored in .reiserfs/xattrs/<objectid>.<generation number>/<xattr name>. This directory is hidden from userspace completely when xattrs are enabled, even as root. When not using my patches, the directory is exposed as a normal directory and the system administrator is welcome to shoot himself in the foot. Each file contains a magic, a checksum of the data, ~ and the xattr data itself. When quotas are enabled, extended attributes are included in the quota usage. Both access and default ACLs are loaded on demand. This means that for an access ACL to be loaded, reiserfs_permission requires that information. If the user owns the file or is root, the ACL won't be loaded from disk. Once loaded, the entire ACL set for that inode is cached for the life of the inode. For the default ACL to be loaded, a file or directory must be created under a directory with a default ACL. Like access ACLs, once loaded, the default ACL is cached for the life of the inode. As far as using them goes, the interface is the standard set of xattr/acl tools you'd use for any other Linux filesystem that supports them. Since the xattr implementation uses regular files as the backend, the number of ACLs per inode is limited only by the maximum size of an xattr, which is currently limited at the VFS layer to 64k. With 64k to work with, the on-disk format supports approximately 8k ACLs. For v2.6, your best bet is to use the patches that are merged against Chris Mason's data logging patch set. You can get those at Chris's FTP site[1]. For v2.4, if you're not using a SuSE kernel (which has them already), you can get the patches from my FTP site[2]. I'm not familiar with the v4 ACL/xattr implementation, so I can't comment. - -Jeff [1] ftp://ftp.suse.com/pub/people/mason/patches/data-logging/experimental/ [2] ftp://ftp.suse.com/pub/people/jeffm/reiserfs/aclea/v2.4/ - -- Jeff Mahoney SuSE Labs jeffm@suse.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFAbGfnLPWxlyuTD7IRAqovAKCAKpFn93wBVB/Rj9cRg57fXSx7FgCgmRcD bjKtPjRIwLtxA7naRR/OkMw= =Dhvk -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: ACL Support 2004-04-01 20:43 ` Mike Young @ 2004-04-01 21:48 ` Jeff Mahoney 2004-04-01 22:11 ` Mike Young 0 siblings, 1 reply; 15+ messages in thread From: Jeff Mahoney @ 2004-04-01 21:48 UTC (permalink / raw) To: Mike Young; +Cc: reiserfs-list -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mike Young wrote: | Wow Jeff! That's a great explanation and very helpful too. Can you answer | a couple more questions for me on the v3.x reiserfs? I'm trying to | understand the limits right now. For example, how big of a volume can I | support? How large of a file? And how many files? | | I actually have a problem in that I've got files that are 2TB in size-- | nothing bigger, though. Mike - The on-disk format for ReiserFS v3 defines the maximum filesystem size as 2^32 * blocksize, which is currently limited by the size of a page on the system. So, 16 TB assuming a 4k blocksize. The maximum file size is 2^61-1bytes, but is obviously limited by the maximum size of the filesystem. The maximum number of files is 2^32. If you're using a 2.4 kernel, you're not going to be able to handle that workload using any filesystem, since block devices are limited to 2^32 * 512 bytes = 2 TB. This, in turn, limits all filesystems to 2 TB in size. Using the 2.6 kernel, the block device limits have been raised, so ReiserFS can use its maximum capacity. - -Jeff - -- Jeff Mahoney SuSE Labs jeffm@suse.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFAbI4vLPWxlyuTD7IRAsaSAJwIN8Vv/W+LVO5xA2muNWhAsuusAACfV2sn eX23G/LcEyflt0svSywvIUM= =Bi+O -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: ACL Support 2004-04-01 21:48 ` Jeff Mahoney @ 2004-04-01 22:11 ` Mike Young 0 siblings, 0 replies; 15+ messages in thread From: Mike Young @ 2004-04-01 22:11 UTC (permalink / raw) To: 'Jeff Mahoney'; +Cc: reiserfs-list I should be able to get around the 2TB limit using LBD support on the 2.4 kernel. Other than that, the 16TB limit shouldn't be a problem either since I can't get beyond that with the current VFS limit of 32-bit inodes on Xeon platforms. With that, I can only go 2^32*4k block size, which is 16TB. Hmmm. Reiserfs is looking pretty good for me. Thanks, Mike -----Original Message----- From: Jeff Mahoney [mailto:jeffm@suse.com] Sent: Thursday, April 01, 2004 1:49 PM To: Mike Young Cc: reiserfs-list@namesys.com Subject: Re: ACL Support -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Mike Young wrote: | Wow Jeff! That's a great explanation and very helpful too. Can you answer | a couple more questions for me on the v3.x reiserfs? I'm trying to | understand the limits right now. For example, how big of a volume can I | support? How large of a file? And how many files? | | I actually have a problem in that I've got files that are 2TB in size-- | nothing bigger, though. Mike - The on-disk format for ReiserFS v3 defines the maximum filesystem size as 2^32 * blocksize, which is currently limited by the size of a page on the system. So, 16 TB assuming a 4k blocksize. The maximum file size is 2^61-1bytes, but is obviously limited by the maximum size of the filesystem. The maximum number of files is 2^32. If you're using a 2.4 kernel, you're not going to be able to handle that workload using any filesystem, since block devices are limited to 2^32 * 512 bytes = 2 TB. This, in turn, limits all filesystems to 2 TB in size. Using the 2.6 kernel, the block device limits have been raised, so ReiserFS can use its maximum capacity. - -Jeff - -- Jeff Mahoney SuSE Labs jeffm@suse.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFAbI4vLPWxlyuTD7IRAsaSAJwIN8Vv/W+LVO5xA2muNWhAsuusAACfV2sn eX23G/LcEyflt0svSywvIUM= =Bi+O -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-04-13 22:22 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-03-26 5:23 ACL support dE 2014-03-26 10:34 ` Edward Shishkin 2014-03-26 15:42 ` dE 2014-03-26 16:01 ` Edward Shishkin 2014-03-26 16:44 ` dE 2014-03-26 17:04 ` Edward Shishkin 2014-03-27 15:21 ` dE 2014-03-29 3:42 ` dE [not found] ` <CAJZSrNLHanHHgAV-E=1bpnbq4FvqYETQkOQhdsrEwLza+Yd90w@mail.gmail.com> 2014-04-13 22:22 ` Edward Shishkin -- strict thread matches above, loose matches on Subject: below -- 2004-04-01 16:50 ACL Support Mike Young 2004-04-01 17:11 ` Christian Mayrhuber 2004-04-01 19:05 ` Jeff Mahoney 2004-04-01 20:43 ` Mike Young 2004-04-01 21:48 ` Jeff Mahoney 2004-04-01 22:11 ` Mike Young
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).