Skip to contentSkip to conversation

0/11 Ext2/3 Updates: Extended attributes, ACL, etc.

PATCH In review [email protected] 3 participants 8 messages Oct 31, 2002 – Nov 2, 2002 VFS

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 0/11 Ext2/3 Updates: Extended attributes, ACL, etc.

Hi Linus,

I've updated the ext2/3 patches for 2.5.45. All of these changes can also be grabbed by pulling from:

	bk://extfs.bkbits.net/extfs-2.5-update

Linus, please pull; these patches have been tested as part of Andrew Morton's mm tree, and have minimal risks if the relevant config turned off. (People have also been using the ACL and Extended Attributes patches enabled for quite some time as well. :-)

A complete set of all of these patches can also be found at:

http://thunk.org/tytso/linux/extfs-2.5

- Ted

#1 lore raw
Quoted 12 lines · On Thu, Oct 31, 2002 at 03:28:29AM -0500, [email protected] wrote:

Hi Linus,

I've updated the ext2/3 patches for 2.5.45. All of these changes can also be grabbed by pulling from:

	bk://extfs.bkbits.net/extfs-2.5-update

Linus, please pull; these patches have been tested as part of Andrew Morton's mm tree, and have minimal risks if the relevant config turned off. (People have also been using the ACL and Extended Attributes patches enabled for quite some time as well. :-)

Quoted 5 lines

A complete set of all of these patches can also be found at:

http://thunk.org/tytso/linux/extfs-2.5

- Ted

ld -m elf_i386 -r -o init/built-in.o init/main.o init/version.o init/do_mounts.o

        ld -m elf_i386 -e stext -T arch/i386/vmlinux.lds.s arch/i386/kernel/head.o arch/i386/kernel/init_task.o  init/built-in.o --start-group  arch/i386/kernel/built-in.o  arch/i386/mm/built-in.o  arch/i386/mach-generic/built-in.o  kernel/built-in.o  mm/built-in.o  fs/built-in.o  ipc/built-in.o  security/built-in.o  crypto/built-in.o  lib/lib.a  arch/i386/lib/lib.a  drivers/built-in.o  sound/built-in.o  arch/i386/pci/built-in.o  net/built-in.o --end-group  -o vmlinux

fs/built-in.o(.text+0x42d8a): In function `ext3_xattr_put_super':
: undefined reference to mb_cache_shrink' fs/built-in.o(.text+0x42dc2): In function ext3_xattr_cache_insert':
: undefined reference to mb_cache_entry_alloc' fs/built-in.o(.text+0x42deb): In function ext3_xattr_cache_insert':
: undefined reference to mb_cache_entry_insert' fs/built-in.o(.text+0x42df9): In function ext3_xattr_cache_insert':
: undefined reference to mb_cache_entry_free' fs/built-in.o(.text+0x42e18): In function ext3_xattr_cache_insert':
: undefined reference to mb_cache_entry_release' fs/built-in.o(.text+0x42f4f): In function ext3_xattr_cache_find':
: undefined reference to mb_cache_entry_find_first' fs/built-in.o(.text+0x42fb7): In function ext3_xattr_cache_find':
: undefined reference to mb_cache_entry_find_next' fs/built-in.o(.text+0x42fe3): In function ext3_xattr_cache_find':
: undefined reference to mb_cache_entry_release' fs/built-in.o(.text+0x4303e): In function ext3_xattr_cache_remove':
: undefined reference to mb_cache_entry_get' fs/built-in.o(.text+0x43134): In function exit_ext3_xattr':
: undefined reference to mb_cache_destroy' fs/built-in.o(.text+0x4304e): In function ext3_xattr_cache_remove':
: undefined reference to mb_cache_entry_free' fs/built-in.o(.init.text+0x1253): In function init_ext3_xattr':
: undefined reference to `mb_cache_create'
make: *** [vmlinux] Error 1
jhf@caphernaum: linux-2.5.45$

Signature · 6 lines
Joseph Fannin
[email protected]

"For future reference - don't anybody else try to send patches as vi
scripts, please. Yes, it's manly, but let's face it, so is bungee-jumping
with the cord tied to your testicles." -- Linus Torvalds
#2 lore raw
Quoted 7 lines · Joseph Fannin
Quoted 6 lines · On Thu, Oct 31, 2002 at 03:28:29AM -0500, [email protected] wrote:

Hi Linus,

I've updated the ext2/3 patches for 2.5.45. All of these changes can also be grabbed by pulling from:

	bk://extfs.bkbits.net/extfs-2.5-update

[build error]

Okay, this looks like it's a problem with the transition to
kconfig. I have ext3 built in and ext2 built as a module, but CONFIG_FS_MBCACHE=m. So the problem would be this bit, right?

# Meta block cache for Extended Attributes (ext2/ext3) config FS_MBCACHE

       tristate
       depends on EXT2_FS_XATTR || EXT3_FS_XATTR
       default m if EXT2_FS=m || EXT3_FS=m
       default y if EXT2_FS=y || EXT3_FS=y

    Which looks right -- it depends on either ext2 or ext3, and needs

to be built in if either of ext2 or ext3 are, but if both are modular (or one is modular and the other is not built) then FS_MBCACHE should be modular. But it doesn't work.

Signature · 6 lines
Joseph Fannin
[email protected]

"For future reference - don't anybody else try to send patches as vi
scripts, please. Yes, it's manly, but let's face it, so is bungee-jumping
with the cord tied to your testicles." -- Linus Torvalds
#3 lore raw
Quoted 23 lines · Joseph Fannin
Quoted 7 lines · Joseph Fannin
Quoted 6 lines · On Thu, Oct 31, 2002 at 03:28:29AM -0500, [email protected] wrote:

Hi Linus,

I've updated the ext2/3 patches for 2.5.45. All of these changes can also be grabbed by pulling from:

	bk://extfs.bkbits.net/extfs-2.5-update

[build error]

Okay, this looks like it's a problem with the transition to
kconfig. I have ext3 built in and ext2 built as a module, but CONFIG_FS_MBCACHE=m. So the problem would be this bit, right?

# Meta block cache for Extended Attributes (ext2/ext3) config FS_MBCACHE

       tristate
       depends on EXT2_FS_XATTR || EXT3_FS_XATTR
       default m if EXT2_FS=m || EXT3_FS=m
       default y if EXT2_FS=y || EXT3_FS=y

    Which looks right -- it depends on either ext2 or ext3, and needs
Quoted 3 lines

to be built in if either of ext2 or ext3 are, but if both are modular (or one is modular and the other is not built) then FS_MBCACHE should be modular. But it doesn't work.

Okay, sorry for all the mails.

"If multiple default statements are visible only the first is
used."

So the two default lines above need to be reversed. This seems
backwards to me (the last should be used), but I've said enough.

Signature · 6 lines
Joseph Fannin
[email protected]

"For future reference - don't anybody else try to send patches as vi
scripts, please. Yes, it's manly, but let's face it, so is bungee-jumping
with the cord tied to your testicles." -- Linus Torvalds
#4 lore raw

Hi,

Quoted 7 lines · Joseph Fannin
Quoted 6 lines

# Meta block cache for Extended Attributes (ext2/ext3) config FS_MBCACHE

       tristate
       depends on EXT2_FS_XATTR || EXT3_FS_XATTR
       default m if EXT2_FS=m || EXT3_FS=m
       default y if EXT2_FS=y || EXT3_FS=y
Quoted 7 lines

Okay, sorry for all the mails.

"If multiple default statements are visible only the first is
used."

So the two default lines above need to be reversed. This seems
backwards to me (the last should be used), but I've said enough.

Well, I had to pick something and using the first is easier to implement, it's just different to cml1, which used the last definition. BTW xconfig is a nice way to see how the config back end works, you can enable "Show All Options" and above entry will also be visible and you can watch how the value changes depending on the inputs.
BTW2 in the future above can be simplified into

config FS_MBCACHE

	tristate
	depends on EXT2_FS_XATTR || EXT3_FS_XATTR
	default EXT2_FS || EXT3_FS

bye, Roman

#5 lore raw

PATCH 1/1 Fix 2.5-bk build error

Quoted 22 lines · Roman Zippel
Quoted 7 lines · Joseph Fannin
Quoted 6 lines

# Meta block cache for Extended Attributes (ext2/ext3) config FS_MBCACHE

       tristate
       depends on EXT2_FS_XATTR || EXT3_FS_XATTR
       default m if EXT2_FS=m || EXT3_FS=m
       default y if EXT2_FS=y || EXT3_FS=y
Quoted 5 lines

"If multiple default statements are visible only the first is
used."

So the two default lines above need to be reversed. This seems
backwards to me (the last should be used), but I've said enough.

Well, I had to pick something and using the first is easier to implement, it's just different to cml1, which used the last definition. BTW xconfig is a nice way to see how the config back end works, you can enable "Show All Options" and above entry will also be visible and you can watch how the value changes depending on the inputs.
BTW2 in the future above can be simplified into

Quoted 5 lines

config FS_MBCACHE

	tristate
	depends on EXT2_FS_XATTR || EXT3_FS_XATTR
	default EXT2_FS || EXT3_FS

Okay, here's a patch that does that. Linus, this fixes a build
error in your current -bk tree that happens when one of ext[23] is a module and the other is built-in. Please apply it.

fs/Kconfig +1 -2
diff -urN linux-2.5.45/fs/Kconfig linux/fs/Kconfig
@@ -1457,8 +1457,7 @@
 config FS_MBCACHE
 	tristate
 	depends on EXT2_FS_XATTR || EXT3_FS_XATTR
-	default m if EXT2_FS=m || EXT3_FS=m
-	default y if EXT2_FS=y || EXT3_FS=y
+	default EXT2_FS || EXT3_FS
 
 # Posix ACL utility routines (for now, only ext2/ext3)
 config FS_POSIX_ACL
Signature · 5 lines
Joseph Fannin
[email protected]

"Bull in pure form is rare; there is usually some contamination by data."
    -- William Graves Perry Jr.
#6 lore raw

Re: [PATCH] Fix 2.5-bk build error

Quoted 10 lines · Joseph Fannin
Quoted 6 lines

BTW2 in the future above can be simplified into

config FS_MBCACHE

	tristate
	depends on EXT2_FS_XATTR || EXT3_FS_XATTR
	default EXT2_FS || EXT3_FS

Okay, here's a patch that does that. Linus, this fixes a build
error in your current -bk tree that happens when one of ext[23] is a module and the other is built-in. Please apply it.

Um, Roman, am I right in understanding that when you say, "in the future above can be simplified" means that infrastructure to support this construct isn't merged into the 2.5 kernel yet?

If this is correct, Linus, please don't apply Joseph Fannin's patch just yet.

- Ted

#7 lore raw

Re: [PATCH] Fix 2.5-bk build error

Hi,

Quoted 8 lines · Theodore Ts'o
Quoted 7 lines · Joseph Fannin
Quoted 6 lines

BTW2 in the future above can be simplified into

config FS_MBCACHE

	tristate
	depends on EXT2_FS_XATTR || EXT3_FS_XATTR
	default EXT2_FS || EXT3_FS
Quoted 7 lines
Quoted 3 lines

Okay, here's a patch that does that. Linus, this fixes a build
error in your current -bk tree that happens when one of ext[23] is a module and the other is built-in. Please apply it.

Um, Roman, am I right in understanding that when you say, "in the future above can be simplified" means that infrastructure to support this construct isn't merged into the 2.5 kernel yet?

No, it means that the support for this isn't written yet. I have looked into it, but it's not actually done yet.

bye, Roman