* Reiser4 for Linux-2.6.31 @ 2009-10-05 1:11 Edward Shishkin 2009-10-05 16:40 ` mysql.jorge 2009-10-06 10:28 ` Mat 0 siblings, 2 replies; 4+ messages in thread From: Edward Shishkin @ 2009-10-05 1:11 UTC (permalink / raw) To: ReiserFS Development List Hello everyone. This includes a fixup for a rather old bug: Reiser4 stepped to the journal code of other journalling file systems. Typical symptoms: . ReiserFS complaints: "clm-2100", nesting info a different FS". . Ext3 complaints: "called recursively, non-PF_MEMALLOC" example of Call Trace: [<c0535873>] ext3_write_inode+0x1e/0x3a [<c04b16bc>] __writeback_single_inode+0x193/0x2ad [<c0508d86>] ? flush_some_atom+0x427/0x44d [<c04b1bb5>] ? generic_sync_sb_inodes+0x27c/0x338 [<c04b1b68>] generic_sync_sb_inodes+0x22f/0x338 [<c04b1c8e>] sync_sb_inodes+0x1d/0x20 [<c04b1e1e>] writeback_inodes+0x79/0xb9 [<c047c76a>] balance_dirty_pages_ratelimited_nr+0x119/0x21d [<c0504803>] reiser4_exit_context+0x5f/0xf6 [<c051e5a3>] reiser4_write_careful+0x3ba/0x3cc [<c049bc3c>] ? do_sync_read+0xab/0xe9 [<c0613dae>] ? selinux_file_permission+0x44/0x48 [<c060fea6>] ? security_file_permission+0xf/0x11 [<c051e1e9>] ? reiser4_write_careful+0x0/0x3cc [<c049c494>] vfs_write+0x84/0xdf [<c049c588>] sys_write+0x3b/0x60 [<c0403178>] sysenter_do_call+0x12/0x2d Other changes since 2.6.30: . Fix compile warnings (prepared by Brandon Berhent); . Address a compiler complaints about large frame size of reiser4_init_super_data() when building for x86_64. Please, find at http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/ Thanks, Edward. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Reiser4 for Linux-2.6.31 2009-10-05 1:11 Reiser4 for Linux-2.6.31 Edward Shishkin @ 2009-10-05 16:40 ` mysql.jorge 2009-10-06 10:28 ` Mat 1 sibling, 0 replies; 4+ messages in thread From: mysql.jorge @ 2009-10-05 16:40 UTC (permalink / raw) To: Edward Shishkin; +Cc: ReiserFS Development List Howdy Edward, To when reiserfs4 included on the main kernel? Jorge, On Mon, 05 Oct 2009 03:11:34 +0200, Edward Shishkin <edward.shishkin@gmail.com> wrote: > Hello everyone. > > This includes a fixup for a rather old bug: > Reiser4 stepped to the journal code of other journalling > file systems. > Typical symptoms: > . ReiserFS complaints: > "clm-2100", nesting info a different FS". > . Ext3 complaints: > "called recursively, non-PF_MEMALLOC" > example of Call Trace: > [<c0535873>] ext3_write_inode+0x1e/0x3a > [<c04b16bc>] __writeback_single_inode+0x193/0x2ad > [<c0508d86>] ? flush_some_atom+0x427/0x44d > [<c04b1bb5>] ? generic_sync_sb_inodes+0x27c/0x338 > [<c04b1b68>] generic_sync_sb_inodes+0x22f/0x338 > [<c04b1c8e>] sync_sb_inodes+0x1d/0x20 > [<c04b1e1e>] writeback_inodes+0x79/0xb9 > [<c047c76a>] balance_dirty_pages_ratelimited_nr+0x119/0x21d > [<c0504803>] reiser4_exit_context+0x5f/0xf6 > [<c051e5a3>] reiser4_write_careful+0x3ba/0x3cc > [<c049bc3c>] ? do_sync_read+0xab/0xe9 > [<c0613dae>] ? selinux_file_permission+0x44/0x48 > [<c060fea6>] ? security_file_permission+0xf/0x11 > [<c051e1e9>] ? reiser4_write_careful+0x0/0x3cc > [<c049c494>] vfs_write+0x84/0xdf > [<c049c588>] sys_write+0x3b/0x60 > [<c0403178>] sysenter_do_call+0x12/0x2d > > Other changes since 2.6.30: > . Fix compile warnings (prepared by Brandon Berhent); > . Address a compiler complaints about large frame size > of reiser4_init_super_data() when building for x86_64. > > Please, find at > http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/ > > Thanks, > Edward. > > -- > To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" > 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] 4+ messages in thread
* Re: Reiser4 for Linux-2.6.31 2009-10-05 1:11 Reiser4 for Linux-2.6.31 Edward Shishkin 2009-10-05 16:40 ` mysql.jorge @ 2009-10-06 10:28 ` Mat 2009-10-06 16:59 ` Edward Shishkin 1 sibling, 1 reply; 4+ messages in thread From: Mat @ 2009-10-06 10:28 UTC (permalink / raw) To: Edward Shishkin; +Cc: reiserfs-devel Hi Edward, thank you very much for the 2.6.31 patch ! Since using this patch I've observed kind of a strange behavior with mount-options: most of them don't work anymore ! fortunately noatime,nodiratime,dont_load_bitmap works unfortunately most of the others don't: [ 4995.449031] reiser4[mount(15761)]: parse_options (fs/reiser4/init_super.c:253)[nikita-2307]: [ 4995.449033] WARNING: Unrecognized option: "tree.cbk_cache.nr_slots=48" [ 5004.441723] reiser4: dm-2: found disk format 4.0.0. [ 5020.825676] reiser4: dm-2: found disk format 4.0.0. [ 5043.265530] reiser4[mount(15780)]: parse_options (fs/reiser4/init_super.c:253)[nikita-2307]: [ 5043.265531] WARNING: Unrecognized option: "flush.scan_maxnodes=12000" [ 5074.032127] reiser4[mount(15784)]: parse_options (fs/reiser4/init_super.c:253)[nikita-2307]: [ 5074.032128] WARNING: Unrecognized option: "atom_max_size=0x3dbae" [ 5085.407094] reiser4[mount(15785)]: parse_options (fs/reiser4/init_super.c:253)[nikita-2307]: [ 5085.407095] WARNING: Unrecognized option: "atom_max_size=0x3dbae" [ 5095.823770] reiser4[mount(15787)]: parse_options (fs/reiser4/init_super.c:253)[nikita-2307]: [ 5095.823772] WARNING: Unrecognized option: "atom_max_age=0x3f480" [ 5107.390510] reiser4[mount(15791)]: parse_options (fs/reiser4/init_super.c:253)[nikita-2307]: [ 5107.390511] WARNING: Unrecognized option: "atom_min_size=0x100" [ 5119.973734] reiser4[mount(15792)]: parse_options (fs/reiser4/init_super.c:253)[nikita-2307]: [ 5119.973736] WARNING: Unrecognized option: "atom_max_flushers=0x1" [ 5131.440685] reiser4[mount(15794)]: parse_options (fs/reiser4/init_super.c:253)[nikita-2307]: [ 5131.440687] WARNING: Unrecognized option: "optimal_io_size=65536" I've seen that in fs/reiser4/init_super.c were some changes in code: *) reiser4_init_super_data is much lower in the file *) static noinline void push_sb_field_opts(struct opt_desc *p, struct opt_desc *opts, reiser4_super_info_data *sbinfo) { ... } was added I don't know if those changes might be the reason why it doesn't work anymore (the parameters perhaps are being initialized too late or not at all) anyways - you surely know how to fix it :) Thanks for your continued efforts in enhancing reiser4 ! I haven't given up hope that it will be included during one of the next merge-windows in Linus' tree Regards Mat ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Reiser4 for Linux-2.6.31 2009-10-06 10:28 ` Mat @ 2009-10-06 16:59 ` Edward Shishkin 0 siblings, 0 replies; 4+ messages in thread From: Edward Shishkin @ 2009-10-06 16:59 UTC (permalink / raw) To: Mat; +Cc: reiserfs-devel [-- Attachment #1: Type: text/plain, Size: 619 bytes --] Mat wrote: > Hi Edward, > Hello, Mat. > thank you very much for the 2.6.31 patch ! > > Since using this patch I've observed kind of a strange behavior with > mount-options: > > most of them don't work anymore ! > Yes, sorry, please, apply the attached patch, or use the updated stuff on kernel.org Thanks! Edward. > fortunately > > noatime,nodiratime,dont_load_bitmap > > works > > > unfortunately most of the others don't: > > [ 4995.449031] reiser4[mount(15761)]: parse_options > (fs/reiser4/init_super.c:253)[nikita-2307]: > [ 4995.449033] WARNING: Unrecognized option: "tree.cbk_cache.nr_slots=48" > [-- Attachment #2: reiser4-reduce-frame-size-fix.patch --] [-- Type: text/plain, Size: 2644 bytes --] . Fix up the bug in reiser4_init_super_data(): The pointer "p" to opt_desc structure is not incremented. Pass "&p" instead of "p" to push_sb_field_opts(), which is supposed to increment the pointer. . Modify macros PUSH_OPT, OPT_ARRAY_CHECK to accept arguments. Signed-off-by Edward Shsihkin <edward.shishkin@gmail.com> --- fs/reiser4/init_super.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) --- mmotm.orig/fs/reiser4/init_super.c +++ mmotm/fs/reiser4/init_super.c @@ -293,27 +293,27 @@ static int parse_options(char *opt_strin #define MAX_NR_OPTIONS (30) #if REISER4_DEBUG -# define OPT_ARRAY_CHECK if ((p) > (opts) + MAX_NR_OPTIONS) { \ +# define OPT_ARRAY_CHECK(opt, array) \ + if ((opt) > (array) + MAX_NR_OPTIONS) { \ warning("zam-1046", "opt array is overloaded"); break; \ } #else -# define OPT_ARRAY_CHECK noop +# define OPT_ARRAY_CHECK(opt, array) noop #endif -#define PUSH_OPT(...) \ +#define PUSH_OPT(opt, array, ...) \ do { \ struct opt_desc o = __VA_ARGS__; \ - OPT_ARRAY_CHECK; \ - *p ++ = o; \ + OPT_ARRAY_CHECK(opt, array); \ + *(opt) ++ = o; \ } while (0) -#define PUSH_SB_FIELD_OPT(field, format) PUSH_OPT(SB_FIELD_OPT(field, format)) -#define PUSH_BIT_OPT(name, bit) PUSH_OPT(BIT_OPT(name, bit)) - -static noinline void push_sb_field_opts(struct opt_desc *p, +static noinline void push_sb_field_opts(struct opt_desc **p, struct opt_desc *opts, reiser4_super_info_data *sbinfo) { +#define PUSH_SB_FIELD_OPT(field, format) \ + PUSH_OPT(*p, opts, SB_FIELD_OPT(field, format)) /* * tmgr.atom_max_size=N * Atoms containing more than N blocks will be forced to commit. N is @@ -441,8 +441,12 @@ int reiser4_init_super_data(struct super /* initialize structure describing reiser4 mount options */ p = opts; - push_sb_field_opts(p, opts, sbinfo); + push_sb_field_opts(&p, opts, sbinfo); /* turn on BSD-style gid assignment */ + +#define PUSH_BIT_OPT(name, bit) \ + PUSH_OPT(p, opts, BIT_OPT(name, bit)) + PUSH_BIT_OPT("bsdgroups", REISER4_BSD_GID); /* turn on 32 bit times */ PUSH_BIT_OPT("32bittimes", REISER4_32_BIT_TIMES); @@ -456,7 +460,7 @@ int reiser4_init_super_data(struct super /* disable use of write barriers in the reiser4 log writer. */ PUSH_BIT_OPT("no_write_barrier", REISER4_NO_WRITE_BARRIER); - PUSH_OPT( + PUSH_OPT(p, opts, { /* * tree traversal readahead parameters: @@ -482,7 +486,7 @@ int reiser4_init_super_data(struct super ); /* What to do in case of fs error */ - PUSH_OPT( + PUSH_OPT(p, opts, { .name = "onerror", .type = OPT_ONEOF, ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-10-06 16:59 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-10-05 1:11 Reiser4 for Linux-2.6.31 Edward Shishkin 2009-10-05 16:40 ` mysql.jorge 2009-10-06 10:28 ` Mat 2009-10-06 16:59 ` Edward Shishkin
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).