Skip to contentSkip to conversation

Reiser4 for 2.6.21-rc1

PATCH In review Laurent Riffard 4 participants 11 messages Mar 2, 2007 – Mar 11, 2007 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Reiser4 for 2.6.21-rc1

Hello,

Please find my reiser4 patch for 2.6.21-rc1 at

http://laurent.riffard.free.fr/reiser4/reiser4-for-2.6.21-rc1/

There is 45 patches in this series. It should include all the reiser4 for linux-mm stuff. Cryptocompress plugin is untested.

First patch is the Reiser4 patch for kernel 2.6.18 (http://ftp.namesys.com/pub/reiser4-for-2.6/2.6.18/reiser4-for-2.6.18-3.patch.gz),
updated to apply cleanly on top of 2.6.21-rc1 kernel.

The 13 following patches are either bug-fix from reiserfs mailing-list or updates to compile cleanly against vanille kernel.

The last 30 patches come from linux-mm.

Adrian Bunk (3):
reiser4-possible-cleanups-2
fs-reiser4-possible-cleanups-2
fs-reiser4-more-possible-cleanups

Alexander Zarochentsev (9):
reiser4-reiser4_drop_page-dont-call-remove_from_page_cache reiser4-get-rid-of-semaphores-wherever-it-is-possible

reiser4-decribe-new-atom-locking-and-nested-atom-locks-to-lock-validator
reiser4-use-generic-file-read reiser4-simplify-reading-of-partially-converted-files reiser4-use-page_offset reiser4-use-reiser4_gfp_mask_get-in-reiser4-inode-allocation reiser4-re-add-page_count-check-to-reiser4_releasepage reiser4-restore-fibmap-ioctl-support-for-packed-files

Andrew Morton (2):
reiser4-test_clear_page_dirty
reiser4-temp-fix

Andrew Wade (3):
Reiser4: fix use after free in jrelse_tail
Reiser4: release d_ref
Reiser4: release d_ref (fix)

Edward Shishkin (17):

      Reiser4 for 2.6.18
      reiser4-generic_file_read-fix
      reiser4-rename-generic_sounding_globalspatch
      reiser4-use-generic-file-read-fix-readpages-unix-file
      reiser4-format-subversion-numbers-heir-set-and-file-conversion

reiser4-format-subversion-numbers-heir-set-and-file-conversion-fix-readpages-cryptcompress
reiser4-cleanups-in-lzo-compression-library reiser4-get-rid-of-deprecated-crypto-api reiser4-get-rid-of-deprecated-crypto-api-build-fix reiser4-fix-missed-unlock-and-exit_context reiser4-use-list_head-instead-of-struct-blocknr reiser4-use-list_empty-instead-of-list_empty_careful-for reiser4-update-comments-fix-write-and-truncate-cryptcompress reiser4-fix-write_extent-1
reiser4-fix-readpage_cryptcompress reiser4-improve-estimation-for-number-of-nodes-occupied reiser4-drop-check_cryptcompress

Laurent Riffard (8):
Reiser4: cometics changes in mm/filemap.c.
Reiser4: fix calls to kmem_cache_destroy
Reiser4: Replace inode.u.generic_ip with inode.i_private
Reiser4: inode.i_blksize suppression
Reiser4: remove unnecessary config.h includes.
slab: remove SLAB_KERNEL
reiser4: remove kmem_cache_t
Reiser4: Add includes linux/freezer.h

Randy Dunlap (1):
reiser4-use-null-for-pointers

Vladimir Saveliev (2):
reiser4-fix-gcc-ws-compains
linux-2.6.20-rc4-mm1 Reiser4 filesystem freeze and corruption

Disclaimer: I'm not a filesystem guru, nor I'm affiliated with Namesys. These patches just suit my needs. It works for me and I hope it will help somebody else.

Signature · 1 line
laurent
#2 lore raw
Quoted 7 lines · Laurent Riffard

Oh,
I just saw a reiser4-for-2.6.19 available at
http://ftp.namesys.com/pub/reiser4-for-2.6/2.6.19 . But there is no reiser4-for-2.6.20.

Is anyone interested in such a patch? I think I can backport my patches to this kernel.

I think many people would be interested by such a patch. There has already been one attempt here :
http://permalink.gmane.org/gmane.comp.file-systems.reiserfs.general/20511
But nothing official has come up yet.

Best regards,

Signature · 5 lines
Nico
Par nature, le réceptacle se présente comme le porte-empreinte de
toutes choses. Il est absolument dépourvu des formes de toutes
les espèces de choses qu'il est susceptible de recevoir.
	-+- Platon -+-
#3 lore raw
Quoted 9 lines · Nicolas STRANSKY
Quoted 7 lines · Laurent Riffard

Oh,
I just saw a reiser4-for-2.6.19 available at
http://ftp.namesys.com/pub/reiser4-for-2.6/2.6.19 . But there is no reiser4-for-2.6.20.

Is anyone interested in such a patch? I think I can backport my patches to this kernel.

Quoted 6 lines

I think many people would be interested by such a patch. There has already been one attempt here :
http://permalink.gmane.org/gmane.comp.file-systems.reiserfs.general/20511
But nothing official has come up yet.

Best regards,

Ingo, I apologize: I noticed your mail some weeks ago but I forgot it and I didn't dig the archives...

Actually, I posted a reiser4 patch for 2.6.21-rc1 friday but this announce never reached the list (I'm afraid the list is unmaintained now...).

A few minutes later, I sent another mail to offer a patch for 2.6.20 (that one reached the list). I then realized that reiser4-for-2.6.21-rc1 does apply cleanly on Linux 2.6.20.

So here is the announce I made friday:
<====================
Hello,

Please find my reiser4 patch for 2.6.21-rc1 at http://laurent.riffard.free.fr/reiser4/reiser4-for-2.6.21-rc1/
There is 45 patches in this series. It should include all the reiser4 for linux-mm stuff. Cryptocompress plugin is untested.

First patch is the Reiser4 patch for kernel 2.6.18
(http://ftp.namesys.com/pub/reiser4-for-2.6/2.6.18/reiser4-for-2.6.18-3.patch.gz),
updated to apply cleanly on top of 2.6.21-rc1 kernel.

The 13 following patches are either bug-fix from reiserfs mailing-list or updates to compile cleanly against vanilla kernel.

The last 30 patches come from linux-mm.

Adrian Bunk (3):
reiser4-possible-cleanups-2
fs-reiser4-possible-cleanups-2
fs-reiser4-more-possible-cleanups

Alexander Zarochentsev (9):
reiser4-reiser4_drop_page-dont-call-remove_from_page_cache reiser4-get-rid-of-semaphores-wherever-it-is-possible

reiser4-decribe-new-atom-locking-and-nested-atom-locks-to-lock-validator
reiser4-use-generic-file-read reiser4-simplify-reading-of-partially-converted-files reiser4-use-page_offset reiser4-use-reiser4_gfp_mask_get-in-reiser4-inode-allocation reiser4-re-add-page_count-check-to-reiser4_releasepage reiser4-restore-fibmap-ioctl-support-for-packed-files

Andrew Morton (2):
reiser4-test_clear_page_dirty
reiser4-temp-fix

Andrew Wade (3):
Reiser4: fix use after free in jrelse_tail
Reiser4: release d_ref
Reiser4: release d_ref (fix)

Edward Shishkin (17):

     Reiser4 for 2.6.18
     reiser4-generic_file_read-fix
     reiser4-rename-generic_sounding_globalspatch
     reiser4-use-generic-file-read-fix-readpages-unix-file
     reiser4-format-subversion-numbers-heir-set-and-file-conversion

reiser4-format-subversion-numbers-heir-set-and-file-conversion-fix-readpages-cryptcompress
reiser4-cleanups-in-lzo-compression-library reiser4-get-rid-of-deprecated-crypto-api reiser4-get-rid-of-deprecated-crypto-api-build-fix reiser4-fix-missed-unlock-and-exit_context reiser4-use-list_head-instead-of-struct-blocknr reiser4-use-list_empty-instead-of-list_empty_careful-for reiser4-update-comments-fix-write-and-truncate-cryptcompress reiser4-fix-write_extent-1
reiser4-fix-readpage_cryptcompress reiser4-improve-estimation-for-number-of-nodes-occupied reiser4-drop-check_cryptcompress

Laurent Riffard (8):
Reiser4: cometics changes in mm/filemap.c.
Reiser4: fix calls to kmem_cache_destroy
Reiser4: Replace inode.u.generic_ip with inode.i_private
Reiser4: inode.i_blksize suppression
Reiser4: remove unnecessary config.h includes.
slab: remove SLAB_KERNEL
reiser4: remove kmem_cache_t
Reiser4: Add includes linux/freezer.h

Randy Dunlap (1):
reiser4-use-null-for-pointers

Vladimir Saveliev (2):
reiser4-fix-gcc-ws-compains
linux-2.6.20-rc4-mm1 Reiser4 filesystem freeze and corruption

Disclaimer: I'm not a filesystem guru, nor I'm affiliated with Namesys. These patches just suit my needs. It works for me and I hope it will help somebody else. ===============================================>

Signature · 1 line
laurent
#4 lore raw

Thanks to everyone for your help.
I hope the list works now.

Edward.

Quoted 113 lines · Laurent Riffard
Quoted 11 lines · Nicolas STRANSKY
Quoted 7 lines · Laurent Riffard

Oh,
I just saw a reiser4-for-2.6.19 available at
http://ftp.namesys.com/pub/reiser4-for-2.6/2.6.19 . But there is no reiser4-for-2.6.20.

Is anyone interested in such a patch? I think I can backport my patches to this kernel.

Quoted 7 lines

I think many people would be interested by such a patch. There has already been one attempt here :
http://permalink.gmane.org/gmane.comp.file-systems.reiserfs.general/20511

But nothing official has come up yet.

Best regards,

Ingo, I apologize: I noticed your mail some weeks ago but I forgot it and I didn't dig the archives...

Actually, I posted a reiser4 patch for 2.6.21-rc1 friday but this announce never reached the list (I'm afraid the list is unmaintained now...).

A few minutes later, I sent another mail to offer a patch for 2.6.20 (that one reached the list). I then realized that reiser4-for-2.6.21-rc1 does apply cleanly on Linux 2.6.20.

So here is the announce I made friday:
<====================
Hello,

Please find my reiser4 patch for 2.6.21-rc1 at http://laurent.riffard.free.fr/reiser4/reiser4-for-2.6.21-rc1/
There is 45 patches in this series. It should include all the reiser4 for linux-mm stuff. Cryptocompress plugin is untested.

First patch is the Reiser4 patch for kernel 2.6.18
(http://ftp.namesys.com/pub/reiser4-for-2.6/2.6.18/reiser4-for-2.6.18-3.patch.gz),

updated to apply cleanly on top of 2.6.21-rc1 kernel.

The 13 following patches are either bug-fix from reiserfs mailing-list or updates to compile cleanly against vanilla kernel.

The last 30 patches come from linux-mm.

Adrian Bunk (3):
reiser4-possible-cleanups-2
fs-reiser4-possible-cleanups-2
fs-reiser4-more-possible-cleanups

Alexander Zarochentsev (9):
reiser4-reiser4_drop_page-dont-call-remove_from_page_cache reiser4-get-rid-of-semaphores-wherever-it-is-possible

reiser4-decribe-new-atom-locking-and-nested-atom-locks-to-lock-validator
reiser4-use-generic-file-read reiser4-simplify-reading-of-partially-converted-files reiser4-use-page_offset reiser4-use-reiser4_gfp_mask_get-in-reiser4-inode-allocation reiser4-re-add-page_count-check-to-reiser4_releasepage reiser4-restore-fibmap-ioctl-support-for-packed-files

Andrew Morton (2):
reiser4-test_clear_page_dirty
reiser4-temp-fix

Andrew Wade (3):
Reiser4: fix use after free in jrelse_tail
Reiser4: release d_ref
Reiser4: release d_ref (fix)

Edward Shishkin (17):

     Reiser4 for 2.6.18
     reiser4-generic_file_read-fix
     reiser4-rename-generic_sounding_globalspatch
     reiser4-use-generic-file-read-fix-readpages-unix-file
     reiser4-format-subversion-numbers-heir-set-and-file-conversion

reiser4-format-subversion-numbers-heir-set-and-file-conversion-fix-readpages-cryptcompress

reiser4-cleanups-in-lzo-compression-library reiser4-get-rid-of-deprecated-crypto-api reiser4-get-rid-of-deprecated-crypto-api-build-fix reiser4-fix-missed-unlock-and-exit_context reiser4-use-list_head-instead-of-struct-blocknr reiser4-use-list_empty-instead-of-list_empty_careful-for reiser4-update-comments-fix-write-and-truncate-cryptcompress reiser4-fix-write_extent-1 reiser4-fix-readpage_cryptcompress reiser4-improve-estimation-for-number-of-nodes-occupied reiser4-drop-check_cryptcompress

Laurent Riffard (8):
Reiser4: cometics changes in mm/filemap.c.
Reiser4: fix calls to kmem_cache_destroy
Reiser4: Replace inode.u.generic_ip with inode.i_private
Reiser4: inode.i_blksize suppression
Reiser4: remove unnecessary config.h includes.
slab: remove SLAB_KERNEL
reiser4: remove kmem_cache_t
Reiser4: Add includes linux/freezer.h

Randy Dunlap (1):
reiser4-use-null-for-pointers

Vladimir Saveliev (2):
reiser4-fix-gcc-ws-compains
linux-2.6.20-rc4-mm1 Reiser4 filesystem freeze and corruption

Disclaimer: I'm not a filesystem guru, nor I'm affiliated with Namesys. These patches just suit my needs. It works for me and I hope it will help somebody else. ===============================================>

#11 lore raw
In reply to a message not in the archive
Quoted 11 lines · Christian Trefzer

Hello Laurent,

I've been using reiser4 with compression extensively during the past months, and so I followed its development in -mm pretty closely, applying reiser4-internal patches to my ancient 2.6.19-rc6-mm2 tree. Your patch applies cleanly against current -stable and vanilla kernels, nice job! Yet the changelog of the newest -mm patchset yields two new patches by Edward Shishkin, which also apply cleanly on top of your patch. I've been using them for days now without incident, so I think they might be alright ; ) In order to keep these patches unmodified, I will attach them both to this e-mail.

Thanks for pointing out these 2 patches. I added them and I just updated
http://laurent.riffard.free.fr/reiser4/reiser4-for-2.6.20 and
http://laurent.riffard.free.fr/reiser4/reiser4-for-2.6.21-rc1.

Signature · 1 line
laurent
#5 lore raw

reiser4 panic in do_readpage_extent

In reply to Edward Shishkin

Recently tried switching from 2.6.18 + reiser4-for-2.6.18-r3.patch.gz, which works perfectly fine to 2.6.19 + reiser4-for-2.6.19-r3.patch.gz I also tried 2.6.20 laurent riffard's reiser4-for-2.6.20. The last both die somewhere during init when one of the 2 following asserts fails:
extent_file_ops, Line 1160: assert("nikita-2688"),j)
extent_file_ops, Line 1161: assert("vs-1426"),jnode_page(j) == NULL )

fs was fsck'ed with reiser4progs-1.0.5

regards DevH

#6 lore raw

Re: reiser4 panic in do_readpage_extent

Quoted 5 lines · Devils-Hawk

Recently tried switching from 2.6.18 + reiser4-for-2.6.18-r3.patch.gz, which works perfectly fine to 2.6.19 + reiser4-for-2.6.19-r3.patch.gz I also tried 2.6.20 laurent riffard's reiser4-for-2.6.20. The last both die somewhere during init when one of the 2 following asserts fails:
extent_file_ops, Line 1160: assert("nikita-2688"),j)
extent_file_ops, Line 1161: assert("vs-1426"),jnode_page(j) == NULL )

It seems, new file_read is not happy.
Thanks for the report, we'll take a look.

Edward.

Quoted 5 lines

fs was fsck'ed with reiser4progs-1.0.5

regards DevH

#7 lore raw

Re: reiser4 panic in do_readpage_extent

In reply to Devils-Hawk
Quoted 10 lines · Devils-Hawk

Recently tried switching from 2.6.18 + reiser4-for-2.6.18-r3.patch.gz, which works perfectly fine to 2.6.19 + reiser4-for-2.6.19-r3.patch.gz I also tried 2.6.20 laurent riffard's reiser4-for-2.6.20. The last both die somewhere during init when one of the 2 following asserts fails:
extent_file_ops, Line 1160: assert("nikita-2688"),j)
extent_file_ops, Line 1161: assert("vs-1426"),jnode_page(j) == NULL )

fs was fsck'ed with reiser4progs-1.0.5

regards DevH

Would you please try the attached patch over reiser4-for-2.6.[19, 20]

Thanks,
Edward.

Handle possible race:
do not proceed uf_readpages_filler if page is already uptodate.

---
 linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c |    4 ++++
 1 files changed, 4 insertions(+)
fs/reiser4/plugin/file/file.c renamed from fs/reiser4/plugin/file/file.c.orig +4 -0
@@ -1619,6 +1619,10 @@
 		lock_page(page);
 		cbk_done = 1;
 	}
+	if (PageUptodate(page)) {
+		unlock_page(page);
+		return 0;
+	}
 	ret = zload(rc->coord.node);
 	if (ret) {
 		unlock_page(page);
#8 lore raw

Re: reiser4 panic in do_readpage_extent

The problem still persists also trying to boot multiple times it sometimes triggers much earlier in the boot process than it did before.

regards devh

Quoted 6 lines · Edward Shishkin

Would you please try the attached patch over reiser4-for-2.6.[19, 20]

Thanks,
Edward.

#9 lore raw

Re: reiser4 panic in do_readpage_extent

Quoted 2 lines · Devils-Hawk

The problem still persists also trying to boot multiple times it sometimes triggers much earlier in the boot process than it did before.

Hmm.. can not reproduce it..
The attached patch (against reiser4-for-2.6[19, 20]) allows to dump stack and some useful info noted as edward-200X among other boot messages. Would you please send it.

Thanks,
Edward.

Quoted 13 lines

regards devh

Quoted 6 lines · Edward Shishkin

Would you please try the attached patch over reiser4-for-2.6.[19, 20]

Thanks,
Edward.

Handle possible race:
do not proceed uf_readpages_filler if page is already uptodate. Print debugging info.

---
 linux-2.6.20-mm2/fs/reiser4/plugin/file/file.c            |    4 +++
 linux-2.6.20-mm2/fs/reiser4/plugin/item/extent_file_ops.c |   17 ++++++++++++++
 2 files changed, 21 insertions(+)
fs/reiser4/plugin/file/file.c renamed from fs/reiser4/plugin/file/file.c.orig +4 -0
@@ -1619,6 +1619,10 @@
 		lock_page(page);
 		cbk_done = 1;
 	}
+	if (PageUptodate(page)) {
+		unlock_page(page);
+		return 0;
+	}
 	ret = zload(rc->coord.node);
 	if (ret) {
 		unlock_page(page);
fs/reiser4/plugin/item/extent_file_ops.c renamed from fs/reiser4/plugin/item/extent_file_ops.c.orig +17 -0
@@ -1157,7 +1157,24 @@
 
 	case UNALLOCATED_EXTENT:
 		j = jfind(mapping, index);
+		if (j == NULL) {
+			dump_stack();
+			printk("edward-2000: oid = %llu\n",
+			       (unsigned long long)oid);
+			printk("edward-2001: Jnode not found\n");
+		}
 		assert("nikita-2688", j);
+		if (jnode_page(j) != NULL) {
+			dump_stack();
+			printk("edward-2002: oid = %llu\n",
+			       (unsigned long long)oid);
+			printk("edward-2003: read page  %p of idx %lu\n",
+			       page, page->index);
+			printk("edward-2004: jnode page %p of idx %lu\n",
+			       jnode_page(j), jnode_page(j)->index);
+			printk("edward-2005: jnode blknr =  %llu\n",
+			       (unsigned long long)(*jnode_get_block(j)));
+		}
 		assert("vs-1426", jnode_page(j) == NULL);
 
 		spin_lock_jnode(j);