linux-ext4.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* jbd2 inside a device mapper module
@ 2008-12-24 21:10 Alberto Bertogli
  2008-12-24 22:38 ` Alberto Bertogli
  2008-12-24 23:49 ` Theodore Tso
  0 siblings, 2 replies; 17+ messages in thread
From: Alberto Bertogli @ 2008-12-24 21:10 UTC (permalink / raw)
  To: linux-mm-cc; +Cc: dm-devel, linux-ext4


Hi!

I'm writing a small device mapper module, and I'm interested in placing
a jbd/jdb2 journal on the backing device.

I started by trying to do a __bread() manually (just for early tests)
inside my map function. But it got stucked, as far as I could see,
waiting for a buffer head in wait_on_buffer() IIRC (I could track it
down again if it's needed). And I couldn't find why it was locked, since
it was an unused loopback device, and my code didn't even deal with
buffer heads.

Then, since I was planning on using jbd/jdb2 anyway, I decided to use it
(and went for jbd2).


Now, I'm having issues with journal creation.

I tried using "mkfs.ext3 -O journal_dev", but jbd2_journal_load()
complains that it can't find the journal superblock.

And if I modify jbd2_journal_create(), removing the 'if
(journal->j_inode == NULL)' check (I imagine it's there for a reason,
but from a quick look at the code couldn't find it and thought it was
worth a try) then when creating it I get a warning (pasted below) and it
gets locked up, which I think may be related to what happened when I did
__bread(), but obviously I'm not sure at all.

And I got stucked there, so I thought it'd be better to ask. Does anyone
have any ideas or suggestions on what I'm doing wrong?


I've not published my code yet because it's really rough, but if anyone
wants to take a look at it, please let me know. I was planning on
posting it when it was at least working.

Thanks a lot,
		Alberto



[42949814.780000] ------------[ cut here ]------------
[42949814.780000] WARNING: at /pub/src/linux/linux-2.6/fs/buffer.c:1186 mark_buffer_dirty+0x77/0xa0()
[42949814.780000] Modules linked in:
[42949814.780000] Call Trace:
[42949814.780000] 678f17d8:  [<6003988b>] warn_on_slowpath+0x5b/0x80
[42949814.780000] 678f1818:  [<600bbe9a>] __find_get_block_slow+0x7a/0x110
[42949814.780000] 678f1858:  [<600bc219>] __find_get_block+0x79/0x180
[42949814.780000] 678f1888:  [<60033b05>] __might_sleep+0x105/0x130
[42949814.780000] 678f18c8:  [<600bc353>] __getblk+0x33/0x270
[42949814.780000] 678f18f8:  [<600bc7e7>] mark_buffer_dirty+0x77/0xa0
[42949814.780000] 678f1918:  [<6012b1a8>] jbd2_journal_create+0x88/0x170
[42949814.780000] 678f1958:  [<601aac70>] csum_ctr+0x1b0/0x240
[42949814.780000] 678f1968:  [<6019b810>] get_target_type+0x60/0xa0
[42949814.780000] 678f19a8:  [<6019b0d4>] dm_table_add_target+0x174/0x3b0
[42949814.780000] 678f1a08:  [<6019d057>] table_load+0xb7/0x200
[42949814.780000] 678f1a68:  [<6019dd98>] dm_ctl_ioctl+0x288/0x300
[42949814.780000] 678f1a98:  [<6019cfa0>] table_load+0x0/0x200
[42949814.780000] 678f1c18:  [<600a82fb>] vfs_ioctl+0x1b/0x70
[42949814.780000] 678f1c28:  [<600a8770>] do_vfs_ioctl+0x400/0x660
[42949814.780000] 678f1ca8:  [<600a8a1a>] sys_ioctl+0x4a/0x80
[42949814.780000] 678f1ce8:  [<6001a310>] handle_syscall+0x50/0x80
[42949814.780000] 678f1d08:  [<6002bf1f>] userspace+0x3ff/0x530
[42949814.780000] 678f1fc8:  [<60017012>] fork_handler+0x62/0x70
[42949814.780000]
[42949814.780000] ---[ end trace ebc125a00ee8f9d2 ]---

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2008-12-30 13:54 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-24 21:10 jbd2 inside a device mapper module Alberto Bertogli
2008-12-24 22:38 ` Alberto Bertogli
2008-12-24 23:49 ` Theodore Tso
2008-12-25 14:35   ` Alberto Bertogli
2008-12-25 15:52     ` Theodore Tso
2008-12-26  0:00       ` Alberto Bertogli
2008-12-26  3:37         ` Theodore Tso
2008-12-26 16:17           ` Alberto Bertogli
2008-12-26 18:06             ` Theodore Tso
2008-12-27  3:00               ` Alberto Bertogli
2008-12-27 19:29                 ` Theodore Tso
2008-12-29 21:30                   ` Alberto Bertogli
2008-12-27 20:01     ` Andreas Dilger
2008-12-29  6:20       ` Shyam_Iyer
2008-12-29 21:05         ` [dm-devel] " Alberto Bertogli
2008-12-30  6:55           ` Alex Tomas
2008-12-30 13:51             ` Alberto Bertogli

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).