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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.