From: Edward Shishkin <edward.shishkin@gmail.com>
To: Mat <jackdachef@gmail.com>
Cc: reiserfs-devel@vger.kernel.org
Subject: Re: Reiser4 for Linux-2.6.31
Date: Tue, 06 Oct 2009 18:59:45 +0200 [thread overview]
Message-ID: <4ACB7781.9050206@gmail.com> (raw)
In-Reply-To: <e85b9d30910060328r7deea7dak4bba307fcf995aeb@mail.gmail.com>
[-- 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,
prev parent reply other threads:[~2009-10-06 16:59 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
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 message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ACB7781.9050206@gmail.com \
--to=edward.shishkin@gmail.com \
--cc=jackdachef@gmail.com \
--cc=reiserfs-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).