Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Why would reiser be messing with ext3?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Thu Jan 08, 2015 11:12 pm    Post subject: Why would reiser be messing with ext3? Reply with quote

A few days ago, while checking resource usage with top, I noticed this:

Code:
reiserfs/sda3


Now this is strange, because a) sda3 is my / partition and b) it has always been formatted as ext3. I used to have a couple of hot-pluggable disks formatted with reiserfs, so I had enabled reiserfs support in the kernel, but I rarely use them any more. My /boot (sda1) is also ext3 and all of the other partitions are ext4.

I checked configuration files and logs, but there is no mention of reiserfs having something to do with sda3.

In fstab I have:
Code:
/dev/sda3       /                       ext3            defaults,noatime     0 1


/proc/mounts lists this:
Code:
/dev/sda3 / ext3 rw,noatime,errors=continue,barrier=1,data=ordered 0 0


during boot, everything seems in order:
Code:
Jan  8 21:42:39 localhost kernel: sd 0:0:0:0: [sda] 312581808 512-byte logical blocks: (160 GB/149 GiB)
Jan  8 21:42:39 localhost kernel: sd 0:0:0:0: [sda] Write Protect is off
Jan  8 21:42:39 localhost kernel: sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
Jan  8 21:42:39 localhost kernel: sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Jan  8 21:42:39 localhost kernel: sda: sda1 sda2 sda3 sda4 < sda5 >
Jan  8 21:42:39 localhost kernel: sd 0:0:0:0: [sda] Attached SCSI disk
Jan  8 21:42:39 localhost kernel: EXT3-fs (sda3): mounted filesystem with ordered data mode
Jan  8 21:42:39 localhost kernel: EXT3-fs (sda3): using internal journal
Jan  8 21:42:39 localhost kernel: Adding 1048572k swap on /dev/sda2.  Priority:-1 extents:1 across:1048572k FS
Jan  8 21:42:39 localhost kernel: EXT3-fs (sda1): using internal journal
Jan  8 21:42:39 localhost kernel: EXT3-fs (sda1): mounted filesystem with ordered data mode
Jan  8 21:42:39 localhost kernel: EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)


and from tune2fs I get this (notice the magic number, definitely not reiserfs):
Code:
# tune2fs -l /dev/sda3
tune2fs 1.42.10 (18-May-2014)
Filesystem volume name:   <none>
Last mounted on:          /run/media/user/d095b999-3ebd-4a62-b0e8-730575eb28fd
Filesystem UUID:          d095b999-3ebd-4a62-b0e8-730575eb28fd
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags:         signed_directory_hash
Default mount options:    journal_data_ordered
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              565248
Block count:              2236416
Reserved block count:     111820
Free blocks:              481783
Free inodes:              159636
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      383
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Fri Oct 31 00:12:38 2008
Last mount time:          Thu Jan  8 21:42:23 2015
Last write time:          Thu Jan  8 21:42:20 2015
Mount count:              5
Maximum mount count:      31
Last checked:             Fri Jan  2 04:15:48 2015
Check interval:           15552000 (6 months)
Next check after:         Wed Jul  1 05:15:48 2015
Lifetime writes:          48 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:             256
Journal inode:            8
First orphan inode:       308555
Default directory hash:   tea
Directory Hash Seed:      6b444b17-fbee-4a26-b739-df1ef94c232a
Journal backup:           inode blocks


Another funny thing I noticed while looking into this was that only sda3 and sda1 do not have the correct entry in statfs as to where they were last mounted. Instead of / and /boot respectively, they show a mount point from when I had shrunk/grown them with a live CD a few years ago. But this is not important (at least I think it isn't).

It's not that I have a problem with this system, but why is that reiserfs/sda3 process always there? Given that ext4's subsystem is capable of handling ext3 partitions, should I compile reiserfs as a module for when it is needed and disable ext3 in the kernel? Would that possibly help in any way?
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9882
Location: almost Mile High in the USA

PostPosted: Fri Jan 09, 2015 12:11 am    Post subject: Reply with quote

post the exact 'top' output

My guess is that you had a corrupt screen capture... *shrug*
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Fri Jan 09, 2015 1:31 pm    Post subject: Reply with quote

eccerr0r wrote:
post the exact 'top' output

My guess is that you had a corrupt screen capture... *shrug*

No, it's always there.

From top:
Code:
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
[...]
  595 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 reiserfs/sda3                                                                                                                     
[...]

and
Code:
# ps ax | grep reiser
  595 ?        S<     0:00 [reiserfs/sda3]


I've run grep inside my /etc/ folder and it didn't find anything about sda3 and reiserfs.
Back to top
View user's profile Send private message
s4e8
Guru
Guru


Joined: 29 Jul 2006
Posts: 311

PostPosted: Fri Jan 09, 2015 1:46 pm    Post subject: Reply with quote

add
rootfstype=ext3 root=/dev/sda3
to grub boot line, and disable initrd.
Back to top
View user's profile Send private message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Fri Jan 09, 2015 3:39 pm    Post subject: Reply with quote

Quote:
add
rootfstype=ext3 root=/dev/sda3
to grub boot line, and disable initrd.

I never had an initrd on this machine and having to specify the rootfstype, even though ext3 was in the kernel, didn't seem the right way to go about this (no offence :) ). I followed my own advice and set CONFIG_REISERFS_FS to be a module, unset CONFIG_EXT3_FS and CONFIG_EXT2_FS and enabled CONFIG_EXT4_USE_FOR_EXT23.

Now I have:
Code:
# ps ax | grep sda3
  597 ?        S      0:00 [jbd2/sda3-8]


The reiserfs module springs into action when I plug in the disk with the Reiser filesystem, but other than that, it doesn't load.

So the problem (if you can call it that) has been circumvented, but why oh why would it occur in the first place?
Back to top
View user's profile Send private message
limn
l33t
l33t


Joined: 13 May 2005
Posts: 997

PostPosted: Fri Jan 09, 2015 3:42 pm    Post subject: Reply with quote

If you look at the parent PID of 595 it is 2. When you booted the kernel spun up the thread.
Code:
root         2     0  0  2014 ?        00:00:00 [kthreadd]

Perhaps the reiserfs code in the kernel stored the partition information somehow.
On one of my systems.
Code:
$ grep CONFIG_JFS_FS .config
CONFIG_JFS_FS=y

Code:

$ ps -ef | grep jfs
root        49     2  0  2014 ?        00:00:00 [jfsIO]
root        57     2  0  2014 ?        00:00:00 [jfsCommit]
root        59     2  0  2014 ?        00:00:00 [jfsSync]

There are no JFS partitions attached, and the box has been booted since there were.
As the output shows, these threads consume no resources, other than the overhead of an entry in the process table and some fraction of a millisecond delay at boot.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9882
Location: almost Mile High in the USA

PostPosted: Fri Jan 09, 2015 4:01 pm    Post subject: Reply with quote

Probably a kernel bug then, maybe pointer chasing problem printing the wrong module, but I highly doubt it was actually using reiserfs.

Weird.
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Fri Jan 09, 2015 4:13 pm    Post subject: Reply with quote

limn wrote:

Perhaps the reiserfs code in the kernel stored the partition information somehow.

Is that possible? Any guesses as to where such information might be stored?
Quote:
As the output shows, these threads consume no resources, other than the overhead of an entry in the process table and some fraction of a millisecond delay at boot.

But they don't "hijack" any of your other partitions.

eccerr0r wrote:
Probably a kernel bug then, maybe pointer chasing problem printing the wrong module, but I highly doubt it was actually using reiserfs.

Weird.


Besides jbd2 now managing sda1 and sda3, statfs information has been updated:
Code:

# tune2fs -l /dev/sda1 | grep "Last mounted"
Last mounted on:          /boot
# tune2fs -l /dev/sda3 | grep "Last mounted"
Last mounted on:          /


I have to agree. Weird.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9882
Location: almost Mile High in the USA

PostPosted: Fri Jan 09, 2015 5:45 pm    Post subject: Reply with quote

What kernel version?

Must be fairly recent as I didn't see the EXT4 driver able to use EXT2/EXT3 partitions before...
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Fri Jan 09, 2015 6:30 pm    Post subject: Reply with quote

eccerr0r wrote:
What kernel version?

Must be fairly recent as I didn't see the EXT4 driver able to use EXT2/EXT3 partitions before...


I suppose you are referring to EXT4_USE_FOR_EXT23. This has existed for quite a few years, at least since version 2.6.30something, but if you're using menuconfig, you won't see it unless you disable support for ext2/3.
Back to top
View user's profile Send private message
limn
l33t
l33t


Joined: 13 May 2005
Posts: 997

PostPosted: Fri Jan 09, 2015 7:06 pm    Post subject: Reply with quote

al_chem wrote:
Is that possible? Any guesses as to where such information might be stored?

Perhaps the process just decided that it ought be on / and the information was not stored. I do not know.
There are things you can do to further investigate. It depends on how much time and effort you want to put into it. The evidence may be gone now.
I added reiserfs support to a test box that has never seen a Reiser filesystem and it did not spin up a reiserfs thread.
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Fri Jan 09, 2015 7:38 pm    Post subject: Reply with quote

I have one wild guess: reiser3 has some... interesting partition detection heuristics (there's warnings somewhere about reiserfsck potentially nuking entire filesystems if they contain a loopback image that contains a reiserfs). So maybe it's trying to mount sda3, realising far too late that it's actually ext3, then trying to fix the screwup by jumping to ext3 code but forgetting to fix the kthread name.

My advice is don't enable a FS driver unless you intend to use it soon, and only use =Y for the ones you need during boot.

eccerr0r wrote:
What kernel version?

Must be fairly recent as I didn't see the EXT4 driver able to use EXT2/EXT3 partitions before...

Ext4 has always been able to mount ext2/3 partitions. That option just makes the kernel try to use it by default, and shuts up any warnings it might print. The only difference between all 3 are the feature flags they use.
Back to top
View user's profile Send private message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Fri Jan 09, 2015 7:53 pm    Post subject: Reply with quote

Ant P. wrote:
I have one wild guess: reiser3 has some... interesting partition detection heuristics (there's warnings somewhere about reiserfsck potentially nuking entire filesystems if they contain a loopback image that contains a reiserfs).


The only correlation I could come up with was the "tea" directory hash algorithm. ReiserFS supports r5, rupasov and tea while the ext family supports legacy, half_MD4 and tea. No idea if that would be enough to justify what happened, though.
Back to top
View user's profile Send private message
s4e8
Guru
Guru


Joined: 29 Jul 2006
Posts: 311

PostPosted: Sat Jan 10, 2015 2:39 am    Post subject: Reply with quote

reiserfs workqueue/kthread only started when partitions mounted as reiserfs. Your partition maybe contain both valid ext3 and reiserfs superblock(yes, it's possible, because ext3 superblock offset at 1K and reiserfs at 64K). Without rootfstype, kernel may probe and try-mount root as reiserfs.
Back to top
View user's profile Send private message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Sat Jan 10, 2015 3:49 am    Post subject: Reply with quote

s4e8 wrote:
reiserfs workqueue/kthread only started when partitions mounted as reiserfs. Your partition maybe contain both valid ext3 and reiserfs superblock(yes, it's possible, because ext3 superblock offset at 1K and reiserfs at 64K). Without rootfstype, kernel may probe and try-mount root as reiserfs.


This made sense, so I copied the first 36KB from the disk to a file and opened it in a hex editor. I did find the ext3's 0x53 0xEF sequence, though not where I thought it would be, but I could not find "ReIsEr2Fs". Perhaps I did something wrong, I'm never too sure about dd. Does this look right to you?

Code:
dd if=/dev/sda3 of=part_start bs=4096 count=9
Back to top
View user's profile Send private message
s4e8
Guru
Guru


Joined: 29 Jul 2006
Posts: 311

PostPosted: Sat Jan 10, 2015 6:03 am    Post subject: Reply with quote

al_chem wrote:
s4e8 wrote:
reiserfs workqueue/kthread only started when partitions mounted as reiserfs. Your partition maybe contain both valid ext3 and reiserfs superblock(yes, it's possible, because ext3 superblock offset at 1K and reiserfs at 64K). Without rootfstype, kernel may probe and try-mount root as reiserfs.


This made sense, so I copied the first 36KB from the disk to a file and opened it in a hex editor. I did find the ext3's 0x53 0xEF sequence, though not where I thought it would be, but I could not find "ReIsEr2Fs". Perhaps I did something wrong, I'm never too sure about dd. Does this look right to you?

Code:
dd if=/dev/sda3 of=part_start bs=4096 count=9

you can hexedit a partition:
hexedit /dev/sda3
goto offset 0x10000, clear the reiserfs magics.
Back to top
View user's profile Send private message
limn
l33t
l33t


Joined: 13 May 2005
Posts: 997

PostPosted: Sat Jan 10, 2015 11:51 am    Post subject: Reply with quote

al_chem wrote:
it has always been formatted as ext3

You are thinking reiserfs is mucking with other filesystem's superblocks without being told to?
Back to top
View user's profile Send private message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Sat Jan 10, 2015 12:16 pm    Post subject: Reply with quote

s4e8 wrote:

you can hexedit a partition:
hexedit /dev/sda3
goto offset 0x10000, clear the reiserfs magics.


8O I would have never thought of that... Anyway, I went over the first couple of megabytes just to be sure, I saw 53 EF at 438, but I didn't find anything belonging to reiserfs.
Back to top
View user's profile Send private message
al_chem
n00b
n00b


Joined: 21 Apr 2014
Posts: 10

PostPosted: Sat Jan 10, 2015 1:04 pm    Post subject: Reply with quote

limn wrote:
You are thinking reiserfs is mucking with other filesystem's superblocks without being told to?


I honestly don't know what to make of it and I have no idea for how long this had been going on unnoticed.

*We have a kernel with native support for ext2,3,4 and reiserfs.
*The root partition is formatted to ext3 and as we've just established, there are no "foreign" superblocks.
*At boot, it is recognized correctly as ext3 and it is picked up by the ext3 system and properly mounted. Whenever the time comes for a filesystem check, it is done by fsck.ext3.
*Then for some reason, a reiserfs thread appears that attaches (don't know if this is the right term) itself to that same partition.

As for the missing statfs info (the "Last mounted on" part), I'm inclined to believe that it has to do with a limitation of ext3 rather than anything else, as the /boot partition, which is also formatted to ext3 didn't update that info either and it was never harassed by reiserfs.

Now that reiserfs is compiled as a module and ext4 handles both ext3 and ext4 partitions, everything seems in order.

I will keep the old kernel for a while, in case anyone comes up with an idea as to what was happening.

Thank you all for your input so far!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum