2002-10-31 08:22:06

by Theodore Ts'o

[permalink] [raw]
Subject: [PATCH] [BK] 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






2002-11-01 00:20:22

by Joseph Fannin

[permalink] [raw]
Subject: Re: [PATCH] [BK] 0/11 Ext2/3 Updates: Extended attributes, ACL, etc.

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. :-)
>
> 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$


--
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


Attachments:
(No filename) (2.80 kB)
(No filename) (189.00 B)
Download all attachments

2002-11-01 00:43:56

by Joseph Fannin

[permalink] [raw]
Subject: Re: [PATCH] [BK] 0/11 Ext2/3 Updates: Extended attributes, ACL, etc.

On Thu, Oct 31, 2002 at 07:24:19PM -0500, Joseph Fannin wrote:
> 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.

--
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


Attachments:
(No filename) (1.19 kB)
(No filename) (189.00 B)
Download all attachments

2002-11-01 01:02:12

by Joseph Fannin

[permalink] [raw]
Subject: Re: [PATCH] [BK] 0/11 Ext2/3 Updates: Extended attributes, ACL, etc.

On Thu, Oct 31, 2002 at 07:47:51PM -0500, Joseph Fannin wrote:
> On Thu, Oct 31, 2002 at 07:24:19PM -0500, Joseph Fannin wrote:
> > 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.

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.

--
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


Attachments:
(No filename) (1.54 kB)
(No filename) (189.00 B)
Download all attachments

2002-11-01 11:50:03

by Roman Zippel

[permalink] [raw]
Subject: Re: [PATCH] [BK] 0/11 Ext2/3 Updates: Extended attributes, ACL, etc.

Hi,

On Thu, 31 Oct 2002, Joseph Fannin wrote:

> > # 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
>
> 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

2002-11-01 17:24:14

by Joseph Fannin

[permalink] [raw]
Subject: [PATCH] Fix 2.5-bk build error

On Fri, Nov 01, 2002 at 12:56:20PM +0100, Roman Zippel wrote:
> On Thu, 31 Oct 2002, Joseph Fannin wrote:
>
> > > # 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
> >
> > "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
>

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.



diff -urN linux-2.5.45/fs/Kconfig linux/fs/Kconfig
--- linux-2.5.45/fs/Kconfig 2002-11-01 11:42:04.000000000 -0500
+++ linux/fs/Kconfig 2002-11-01 11:59:50.000000000 -0500
@@ -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

--
Joseph Fannin
[email protected]

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


Attachments:
(No filename) (1.86 kB)
(No filename) (189.00 B)
Download all attachments

2002-11-02 06:48:15

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] Fix 2.5-bk build error

On Fri, Nov 01, 2002 at 12:28:07PM -0500, Joseph Fannin wrote:
> > 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

2002-11-02 11:46:59

by Roman Zippel

[permalink] [raw]
Subject: Re: [PATCH] Fix 2.5-bk build error

Hi,

On Sat, 2 Nov 2002, Theodore Ts'o wrote:

> On Fri, Nov 01, 2002 at 12:28:07PM -0500, Joseph Fannin wrote:
> > > 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?

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