public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH 11/11][take 2] 48-bit block number for ACL in e2fsprogs
@ 2007-06-21 15:49 Valerie Clement
  2007-06-21 22:44 ` Andreas Dilger
  0 siblings, 1 reply; 2+ messages in thread
From: Valerie Clement @ 2007-06-21 15:49 UTC (permalink / raw)
  To: Theodore Tso, ext4 development

[-- Attachment #1: Type: text/plain, Size: 375 bytes --]

This patch is intended to contain the changes to support 48-bit block
numbers for ACL. For now, it only contains modifications in the inode
structure. It has to be completed.

Andreas proposed to rename i_file_acl to i_file_ea
and i_file_acl_high to i_file_ea_hi.

  ext2_fs.h |   10 ++++++----
  swapfs.c  |    6 ++++--
  2 files changed, 10 insertions(+), 6 deletions(-)



[-- Attachment #2: 11-handle-i_file_acl_high-in-inode --]
[-- Type: text/plain, Size: 3200 bytes --]

Index: e2fsprogs-1.39-tyt3-v7/lib/ext2fs/ext2_fs.h
===================================================================
--- e2fsprogs-1.39-tyt3-v7.orig/lib/ext2fs/ext2_fs.h	2007-06-21 13:16:47.000000000 +0200
+++ e2fsprogs-1.39-tyt3-v7/lib/ext2fs/ext2_fs.h	2007-06-21 13:16:49.000000000 +0200
@@ -336,7 +336,7 @@ struct ext2_inode {
 	union {
 		struct {
 			__u16	l_i_blocks_hi;
-			__u16	i_pad1;
+			__u16	l_i_file_acl_high;
 			__u16	l_i_uid_high;	/* these 2 fields    */
 			__u16	l_i_gid_high;	/* were reserved2[0] */
 			__u32	l_i_reserved2;
@@ -352,7 +352,7 @@ struct ext2_inode {
 		struct {
 			__u8	m_i_frag;	/* Fragment number */
 			__u8	m_i_fsize;	/* Fragment size */
-			__u16	m_pad1;
+			__u16	m_i_file_acl_high;
 			__u32	m_i_reserved2[2];
 		} masix2;
 	} osd2;				/* OS dependent 2 */
@@ -392,7 +392,7 @@ struct ext2_inode_large {
 	union {
 		struct {
 			__u16	l_i_blocks_hi;
-			__u16	i_pad1;
+			__u16	l_i_file_acl_high;
 			__u16	l_i_uid_high;	/* these 2 fields    */
 			__u16	l_i_gid_high;	/* were reserved2[0] */
 			__u32	l_i_reserved2;
@@ -408,7 +408,7 @@ struct ext2_inode_large {
 		struct {
 			__u8	m_i_frag;	/* Fragment number */
 			__u8	m_i_fsize;	/* Fragment size */
-			__u16	m_pad1;
+			__u16	m_i_file_acl_high;
 			__u32	m_i_reserved2[2];
 		} masix2;
 	} osd2;				/* OS dependent 2 */
@@ -427,6 +427,7 @@ struct ext2_inode_large {
 #define i_reserved1	osd1.linux1.l_i_reserved1
 #define i_frag		osd2.linux2.l_i_frag
 #define i_fsize		osd2.linux2.l_i_fsize
+#define i_file_acl_high	osd2.linux2.l_i_file_acl_high
 #define i_uid_low	i_uid
 #define i_gid_low	i_gid
 #define i_uid_high	osd2.linux2.l_i_uid_high
@@ -449,6 +450,7 @@ struct ext2_inode_large {
 #define i_reserved1	osd1.masix1.m_i_reserved1
 #define i_frag		osd2.masix2.m_i_frag
 #define i_fsize		osd2.masix2.m_i_fsize
+#define i_file_acl_high	osd2.masix2.m_i_file_acl_high
 #define i_reserved2	osd2.masix2.m_i_reserved2
 
 #endif  /* __masix__ */
Index: e2fsprogs-1.39-tyt3-v7/lib/ext2fs/swapfs.c
===================================================================
--- e2fsprogs-1.39-tyt3-v7.orig/lib/ext2fs/swapfs.c	2007-06-21 13:15:39.000000000 +0200
+++ e2fsprogs-1.39-tyt3-v7/lib/ext2fs/swapfs.c	2007-06-21 13:16:49.000000000 +0200
@@ -211,7 +211,8 @@ void ext2fs_swap_inode_full(ext2_filsys 
 			ext2fs_swab32(f->osd1.linux1.l_i_version);
 		t->osd2.linux2.l_i_blocks_hi = 
 			ext2fs_swab16(f->osd2.linux2.l_i_blocks_hi);
-		t->osd2.linux2.i_pad1 = ext2fs_swab16(f->osd2.linux2.i_pad1);
+		t->osd2.linux2.l_i_file_acl_high =
+			ext2fs_swab16(f->osd2.linux2.l_i_file_acl_high);
 		t->osd2.linux2.l_i_uid_high =
 		  ext2fs_swab16 (f->osd2.linux2.l_i_uid_high);
 		t->osd2.linux2.l_i_gid_high =
@@ -238,7 +239,8 @@ void ext2fs_swap_inode_full(ext2_filsys 
 			ext2fs_swab32(f->osd1.masix1.m_i_reserved1);
 		t->osd2.masix2.m_i_frag = f->osd2.masix2.m_i_frag;
 		t->osd2.masix2.m_i_fsize = f->osd2.masix2.m_i_fsize;
-		t->osd2.masix2.m_pad1 = ext2fs_swab16(f->osd2.masix2.m_pad1);
+		t->osd2.masix2.m_i_file_acl_high =
+			ext2fs_swab16(f->osd2.masix2.m_i_file_acl_high);
 		t->osd2.masix2.m_i_reserved2[0] =
 			ext2fs_swab32(f->osd2.masix2.m_i_reserved2[0]);
 		t->osd2.masix2.m_i_reserved2[1] =

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

* Re: [RFC][PATCH 11/11][take 2] 48-bit block number for ACL in e2fsprogs
  2007-06-21 15:49 [RFC][PATCH 11/11][take 2] 48-bit block number for ACL in e2fsprogs Valerie Clement
@ 2007-06-21 22:44 ` Andreas Dilger
  0 siblings, 0 replies; 2+ messages in thread
From: Andreas Dilger @ 2007-06-21 22:44 UTC (permalink / raw)
  To: Valerie Clement; +Cc: Theodore Tso, ext4 development

On Jun 21, 2007  17:49 +0200, Valerie Clement wrote:
> This patch is intended to contain the changes to support 48-bit block
> numbers for ACL. For now, it only contains modifications in the inode
> structure. It has to be completed.
> 
> Andreas proposed to rename i_file_acl to i_file_ea
> and i_file_acl_high to i_file_ea_hi.

Yes, it is misleading that these are called "ACL", since the ACL is only
optionally stored internal to the EA block.  We should provide compatibility
macros to avoid breaking old code, which will also allow incremental
migration.

> @@ -449,6 +450,7 @@ struct ext2_inode_large {
>  #define i_reserved1	osd1.masix1.m_i_reserved1
>  #define i_frag		osd2.masix2.m_i_frag
>  #define i_fsize		osd2.masix2.m_i_fsize
> +#define i_file_acl_high	osd2.masix2.m_i_file_acl_high
>  #define i_reserved2	osd2.masix2.m_i_reserved2

On an unrelated note - does MASIX even exist anymore?  I think it was only
a very experimental OS that Rémy Card worked on, and the home page doesn't
even exist anymore.

Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.

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

end of thread, other threads:[~2007-06-21 22:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-21 15:49 [RFC][PATCH 11/11][take 2] 48-bit block number for ACL in e2fsprogs Valerie Clement
2007-06-21 22:44 ` Andreas Dilger

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