Jeff Mahoney | 23 Apr 16:00 2014

[patch 00/29] reiserfs cleanup patchset

Hi all -

I've had this patchset kicking around for a while. After a
conversation this past week about code that was horrible to read
(using reiserfs's balance_leaf as the primary example) and seeing
that Dave Jones had scratched a bit of an itch, I decided it was time
to resync and push it out so I don't have to update it forever.

BTW, as I'm basically the only person with substantial patches against
reiserfs, I'm 100% ok with disrupting context to this extent. :)

This set consists of 29 patches in a few areas.

1 - Convert the commit workqueue to a per-fs workqueue
2 - Clean up ugly accessor macros to use more readable names
3 - Clean up comments to use the normal kernel style
4 - Remove the unused nblocks argument from journal_end
5 - Remove superblock argument from journal_end (it's in the trans handle)
6 - Remove superblock argument from journal_mark_dirty (see #5)
7 - Remove blocks argument from journal_join (it's always 1)
8 - Remove leading whitespace from labels
9 - Remove unnecessary parents
10 - Clean up dirent creation
11 - Clean up hash detection
12-29 - Clean up balance_leaf - This 2500-line function goes through
        6 easily distinguishable stages, each with several sub-parts. The
	patch set splits up the stages and then reformats them to keep
	the split as obvious as possible. The final result is a whole
	lot easier to follow and easier on the eyes.

(Continue reading)

isabelle | 15 Apr 21:47 2014
Picon

spende /Donation

Hallo
Wenn ich diese Nachricht zu senden wollte, ist dies nicht einfach Zufall. Dies ist, weil Ihre e-Mail vom
elektronischen Roboter gesichert meine WX.7AR BW ausgewählt wurde.
Zunächst möchte ich mich für dieses Eindringen in Ihr Leben zu entschuldigen, obwohl ich zugeben, dass
es mir sehr wichtig. Ich bin Isabelle Vasudev. Ich leide an Krebs im Hals seit nun mehr als 3 Jahre und eine
halbe und es leider, mein Arzt hat gerade informiert mich, dass ich bin voller unheilbar und, dass meine
Tage, wegen meinen etwas gezählt sind abgebaut Zustand. Ich bin eine Witwe und ich habe keine Kind, das
ich beginne zu bedauern.
In der Tat ist der Grund, warum ich Sie kontaktieren bin, möchte ich einen Teil von meinem Grundstück zu
spenden, weil ich niemand, wer die Erben konnte. Ich habe fast mein ganzes Zeug, darunter ein Unternehmen
der Export von Holz, Gummi und Stahl-Industrie in Afrika, wo ich wohne nun mehr 10 Jahren, verkauft. Ein
großer Teil der Gelder gesammelt wurde mit unterschiedlichen Verbänden humanitären Charakter
überall in der Welt, aber besonders hier in Afrika bezahlt.
Im Hinblick auf den Rest der Summe genau in Höhe von 750.000, 00euros (sieben hundert und fünfzig tausend
Euro) auf eine gesperrte Mitarbeiter-Account, meine letzte wünschen würde Sie es spenden, so dass Sie
in Ihrer Branche und vor allem den humanitären investieren können. Ich bin ganz bewusst was ich zu tun
beabsichtigen, und ich denke, trotz der Tatsache, die wir nicht wissen, werdet ihr diese Summe gut
nutzen. Ich bitte Sie, bitte dieses Erbe zu akzeptieren, ohne jedoch Fragen Sie alles, was in
zurückgeben wenn es nicht immer denken, gutes zu tun, um dich herum, was ich nicht getan habe, in meiner Existenz.
Das heißt, wird auf einer verantwortlichen Person und besonders gutem Glauben fallen zu lassen
beruhigt, ich möchte bitten, dass Sie bitte mich bei den meisten schnell kontaktieren, um weitere
Erklärung über die Gründe für meine Geste und den Verlauf der Dinge zu geben. Bitte kontaktieren Sie
mich so bald wie möglich, wenn Sie mein Angebot akzeptieren.
Gott möge mit dir sein!
Ich fordere Sie auf, mich über meine persönliche e-Mail-Adresse zu kontaktieren:
Isabelle.claude654 <at> laposte.net
Der Frieden und Barmherzigkeit Gottes möge mit dir sein.
Mrs Isabelle

--
(Continue reading)

Edward Shishkin | 14 Apr 00:22 2014
Picon

Re: ACL support.

On 04/08/2014 08:28 PM, Daniel Horne wrote:
> On 26 March 2014 10:34, Edward Shishkin <edward.shishkin <at> gmail.com
> <mailto:edward.shishkin <at> gmail.com>> wrote:
>
>     On 03/26/2014 06:23 AM, dE wrote:
>
>         Does reiser4 support ACL?
>
>
>     Nope for historical reasons.
>     I'll provide hints how to implement this, if someone wants..
>
>
> I occasionally have a look at making an XATTR implementation before
> getting sidetracked.
>
> There's a couple of points I'm not quite decided on:
>
> Whether to make a generic xattr stat_data plugin and use it to store all
> different types of attribute, or make different plugins for ACL, SElinux
> contexts, and user xattrs.
>
> You've previously stated that stat_data plugins are limited to 4k. This
> should be fine for selinux contexts and all but pathologically long
> access control lists, I'm not sure about the use of user xattrs. Would
> making separate stat_data plugins give separate 4k limits to each type
> of attribute, or is that all-inclusive?
>

Actually stat-data is an on-disk container of inode fields. That said, I 
(Continue reading)

Sasha Levin | 6 Apr 16:28 2014
Picon

reiserfs: REISERFS panic (device loop0): journal-003 check_journal_end: j_start (3452) is too high

Hi all,

While fuzzing with trinity inside a KVM tools guest running the latest -next
kernel, I've stumbled on the following:

[ 3680.222129] REISERFS panic (device loop0): journal-003 check_journal_end: j_start (3452) is too high
[ 3680.223125] ------------[ cut here ]------------
[ 3680.223571] kernel BUG at fs/reiserfs/prints.c:367!
[ 3680.224317] invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
[ 3680.225190] Dumping ftrace buffer:
[ 3680.225529] ---------------------------------
[ 3680.226017]  kswapd1-4007    1...1 35142723758us : mm_vmscan_kswapd_sleep: nid=1
[ 3680.227189] ---------------------------------
[ 3680.227948] Modules linked in:
[ 3680.228460] CPU: 6 PID: 21513 Comm: kworker/6:1 Not tainted
3.14.0-next-20140403-sasha-00022-g10224c0 #377
[ 3680.229927] Workqueue: events_long flush_old_commits
[ 3680.230154] task: ffff880172d58000 ti: ffff880182ae6000 task.ti: ffff880182ae6000
[ 3680.230154] RIP: __reiserfs_panic (fs/reiserfs/prints.c:367)
[ 3680.230154] RSP: 0018:ffff880182ae7b68  EFLAGS: 00010292
[ 3680.230154] RAX: 0000000000000058 RBX: ffffffff967775a3 RCX: 0000000000000006
[ 3680.230154] RDX: 00000000000070e0 RSI: ffffffff9681c2bc RDI: 0000000000000282
[ 3680.230154] RBP: ffff880182ae7bd8 R08: 0000000000000000 R09: 0000000000000000
[ 3680.230154] R10: 0000000000000001 R11: 68676968206f6f74 R12: ffff88009496c520
[ 3680.230154] R13: ffffffff956731f0 R14: ffffc90007d84000 R15: ffff88009496c520
[ 3680.230154] FS:  0000000000000000(0000) GS:ffff88018b000000(0000) knlGS:0000000000000000
[ 3680.230154] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 3680.230154] CR2: 00000000021b1258 CR3: 0000000016e2c000 CR4: 00000000000006a0
[ 3680.230154] Stack:
[ 3680.230154]  ffff880182ae7b78 ffffffff00000028 ffff880182ae7be8 ffff880182ae7b88
(Continue reading)

Jeff Mahoney | 2 Apr 20:40 2014

[PATCH v2] reiserfs: fix race in readdir

jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-2)

The -ENOENT is due to readdir calling dir_emit on the same entry twice.

If the dir_emit callback sleeps and the tree is changed underneath us,
we won't be able to trust deh_offset(deh) anymore. We need to save
next_pos before we might sleep so we can find the next entry.

Signed-off-by: Jeff Mahoney <jeffm <at> suse.com>
---
 fs/reiserfs/dir.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/fs/reiserfs/dir.c
+++ b/fs/reiserfs/dir.c
 <at>  <at>  -125,6 +125,7  <at>  <at>  int reiserfs_readdir_inode(struct inode
 				int d_reclen;
 				char *d_name;
 				ino_t d_ino;
+				loff_t cur_pos = deh_offset(deh);

 				if (!de_visible(deh))
 					/* it is hidden entry */
 <at>  <at>  -196,8 +197,9  <at>  <at>  int reiserfs_readdir_inode(struct inode
 				if (local_buf != small_buf) {
 					kfree(local_buf);
 				}
-				// next entry should be looked for with such offset
-				next_pos = deh_offset(deh) + 1;
+
(Continue reading)

Jeff Mahoney | 2 Apr 17:57 2014

[PATCH] reiserfs: fix race in readdir

jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-2)

The -ENOENT is due to readdir calling dir_emit on the same entry twice.

If the dir_emit callback sleeps and the tree is changed underneath us,
we won't be able to trust deh_offset(deh) anymore. We need to save
next_pos before we might sleep so we can find the next entry.

This can also affect non-xattr users of readdir, though the race is tighter.

Cc: <stable <at> vger.kernel.org> 
Signed-off-by: Jeff Mahoney <jeffm <at> suse.com>
---
 fs/reiserfs/dir.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

--- a/fs/reiserfs/dir.c
+++ b/fs/reiserfs/dir.c
 <at>  <at>  -179,6 +179,13  <at>  <at>  int reiserfs_readdir_inode(struct inode
 				memcpy(local_buf, d_name, d_reclen);

 				/*
+				 * deh_offset(deh) will be invalid if dir_emit
+				 * sleeps. We need to know the offset after
+				 * this one to continue.
+				 */
+				next_pos = deh_offset(deh) + 1;
+
+				/*
 				 * Since filldir might sleep, we can release
(Continue reading)

doiggl | 1 Apr 14:04 2014
Picon

Are there any plans to produce a Reiser4 patch for the linux-3.14.x series

Hello,

Question:
Are there any plans to produce a Reiser4 patch for the linux-3.14.x series
Thanks Glenn 

https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.14.tar.xz
https://lkml.org/lkml/2014/3/30/336
--
To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Picon
Picon

Mr. Toney Joseph

gmane.comp.file-systems.reiserfs.general
dE | 26 Mar 06:23 2014
Picon

ACL support.

Does reiser4 support ACL?
--
To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Fabian Frederick | 21 Mar 17:18 2014
Picon

[RFC 1/1] fs/reiserfs/journal.c: Remove obsolete __GFP_NOFAIL

Loop around congestion_wait on allocation failure/alloc_journal_list
like already fixed in other FS.

(Does it need returning -ENOMEM after some retries ?)

Signed-off-by: Fabian Frederick <fabf <at> skynet.be>
---
 fs/reiserfs/journal.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
index fd77703..e8c56a9 100644
--- a/fs/reiserfs/journal.c
+++ b/fs/reiserfs/journal.c
 <at>  <at>  -2487,8 +2487,13  <at>  <at>  static int journal_read(struct super_block *sb)
 static struct reiserfs_journal_list *alloc_journal_list(struct super_block *s)
 {
 	struct reiserfs_journal_list *jl;
-	jl = kzalloc(sizeof(struct reiserfs_journal_list),
-		     GFP_NOFS | __GFP_NOFAIL);
+
+	do {
+		jl = kzalloc(sizeof(struct reiserfs_journal_list), GFP_NOFS);
+		if (unlikely(!jl))
+			congestion_wait(BLK_RW_ASYNC, HZ/50);
+	} while (!jl)
+
 	INIT_LIST_HEAD(&jl->j_list);
 	INIT_LIST_HEAD(&jl->j_working_list);
 	INIT_LIST_HEAD(&jl->j_tail_bh_list);
(Continue reading)

Fabian Frederick | 21 Mar 17:16 2014
Picon

[PATCH 1/1] fs/reiserfs/super.c: add __init to init_inodecache

init_inodecache is only called by __init init_reiserfs_fs.

Signed-off-by: Fabian Frederick <fabf <at> skynet.be>
---
 fs/reiserfs/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
index 2c80335..7035087 100644
--- a/fs/reiserfs/super.c
+++ b/fs/reiserfs/super.c
 <at>  <at>  -597,7 +597,7  <at>  <at>  static void init_once(void *foo)
 	inode_init_once(&ei->vfs_inode);
 }

-static int init_inodecache(void)
+static int __init init_inodecache(void)
 {
 	reiserfs_inode_cachep = kmem_cache_create("reiser_inode_cache",
 						  sizeof(struct
--

-- 
1.8.4.5

--
To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Gmane