markord n00b

Joined: 01 Jan 2014 Posts: 5
|
Posted: Wed Mar 19, 2025 9:28 pm Post subject: reiserfs_get_unused_objectid: no more object ids. |
|
|
Firstly, I realize that reiserfs is deprecated. Secondly, I'm likely to change this partition to another file system.
But I'm still interested in what is happening here.
The root fs on a system I setup a few years ago is unable to create new files/directories, with the error "Cannot allocate memory"; or at the kernel level: REISERFS warning (device nvme0n1p7): reiserfs-15100 reiserfs_get_unused_objectid: no more object ids.
In almost 20 years of using reiserfs on many different Gentoo systems I've never come across this.
I shutdown the system and ran a reiserfsck, which did not find any issues. The issue remains after the fsck.
Code: | [root@sysrescue ~]# reiserfsck /dev/nvme0n1p7
reiserfsck 3.6.27
Will read-only check consistency of the filesystem on /dev/nvme0n1p7
Will put log info to 'stdout'
Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
###########
reiserfsck --check started at Wed Mar 19 18:09:15 2025
###########
Replaying journal: Done.
Reiserfs journal '/dev/nvme0n1p7' in blocks [18..8211]: 0 transactions replayed
Checking internal tree.. finished
Comparing bitmaps..finished
Checking Semantic tree:
finished
No corruptions found
There are on the filesystem:
Leaves 102835
Internal nodes 687
Directories 44277
Other files 392481
Data block pointers 2493666 (7938 of them are zero)
Safe links 0
###########
reiserfsck finished at Wed Mar 19 18:09:19 2025
###########
|
Code: | [root@sysrescue /mnt/root/tmp/create-files]# for i in `seq 1 100000` ; do touch $i; done
touch: cannot touch '6': Cannot allocate memory
touch: cannot touch '7': Cannot allocate memory
touch: cannot touch '8': Cannot allocate memory
touch: cannot touch '9': Cannot allocate memory
touch: cannot touch '10': Cannot allocate memory
touch: cannot touch '11': Cannot allocate memory
touch: cannot touch '12': Cannot allocate memory
[root@sysrescue /mnt/root/tmp/create-files]# ls
1 2 3 4 5
[root@sysrescue /mnt/root/tmp/create-files]# dmesg -T
[Wed Mar 19 18:23:32 2025] REISERFS warning (device nvme0n1p7): reiserfs-15100 reiserfs_get_unused_objectid: no more object ids
|
To rule out the system and kernel itself, I imaged the partition and moved it over to a very old machine and mounted the image file. The result was the same, though dmesg showed me a little bit more info:
Code: | [Wed Mar 19 13:48:29 2025] REISERFS warning (device loop2): reiserfs-15100 reiserfs_get_unused_objectid: no more object ids
[Wed Mar 19 13:48:29 2025] ------------[ cut here ]------------
[Wed Mar 19 13:48:29 2025] WARNING: at fs/inode.c:975 unlock_new_inode+0x61/0x70()
[Wed Mar 19 13:48:29 2025] Modules linked in: ipt_MASQUERADE xfrm4_mode_transport l2tp_ppp l2tp_core pppoe pppox vmnet(O) vmblock(O) vsock(O) vmci(O) vmmon(O) xt_mark nfsd xt_multiport xt_conntrack xfrm4_tunnel ipcomp xfrm_ipcomp esp4 ah4 af_key aufs(O) exportfs snd_hda_codec_hdmi snd_hda_codec_conexant cdc_acm snd_hda_intel snd_hda_codec snd_hwdep
[Wed Mar 19 13:48:29 2025] CPU: 0 PID: 30457 Comm: touch Tainted: G W O 3.10.7-gentoo #41
[Wed Mar 19 13:48:29 2025] Hardware name: xxxx xxx. xxxxxxxx xxx/xxxxxx , BIOS A09 02/01/2013
[Wed Mar 19 13:48:29 2025] ffffffff81bcef20 ffff88016cd2f9f8 ffffffff81809be8 ffff88016cd2fa38
[Wed Mar 19 13:48:29 2025] ffffffff8103b32b ffff88016cd2fa68 ffff880032f338e8 ffff88016cd2fc18
[Wed Mar 19 13:48:29 2025] 00000000fffffff4 ffff8801ee286368 ffff88016cd2faa8 ffff88016cd2fa48
[Wed Mar 19 13:48:29 2025] Call Trace:
[Wed Mar 19 13:48:29 2025] [<ffffffff81809be8>] dump_stack+0x19/0x1b
[Wed Mar 19 13:48:29 2025] [<ffffffff8103b32b>] warn_slowpath_common+0x6b/0xa0
[Wed Mar 19 13:48:29 2025] [<ffffffff8103b375>] warn_slowpath_null+0x15/0x20
[Wed Mar 19 13:48:29 2025] [<ffffffff81148521>] unlock_new_inode+0x61/0x70
[Wed Mar 19 13:48:29 2025] [<ffffffff811b50bc>] reiserfs_new_inode+0xfc/0x740
[Wed Mar 19 13:48:29 2025] [<ffffffff811a81a4>] ? reiserfs_free_block+0x14/0x120
[Wed Mar 19 13:48:29 2025] [<ffffffff811d394c>] ? do_journal_begin_r+0x16c/0x3f0
[Wed Mar 19 13:48:29 2025] [<ffffffff811489b9>] ? inode_init_always+0xf9/0x1c0
[Wed Mar 19 13:48:29 2025] [<ffffffff81188ed1>] ? __dquot_initialize+0x31/0x1c0
[Wed Mar 19 13:48:29 2025] [<ffffffff811afbbd>] reiserfs_create+0xcd/0x210
[Wed Mar 19 13:48:29 2025] [<ffffffff81300a55>] ? may_create.isra.49+0xf5/0x100
[Wed Mar 19 13:48:29 2025] [<ffffffff8113e4b5>] vfs_create+0xb5/0x130
[Wed Mar 19 13:48:29 2025] [<ffffffff8113eeb9>] do_last+0x989/0xe70
[Wed Mar 19 13:48:29 2025] [<ffffffff8113b893>] ? inode_permission+0x13/0x50
[Wed Mar 19 13:48:29 2025] [<ffffffff8113f453>] path_openat+0xb3/0x4a0
[Wed Mar 19 13:48:29 2025] [<ffffffff8113ff9d>] do_filp_open+0x3d/0xa0
[Wed Mar 19 13:48:29 2025] [<ffffffff8114bac5>] ? __alloc_fd+0x45/0x110
[Wed Mar 19 13:48:29 2025] [<ffffffff8112f8c9>] do_sys_open+0xf9/0x1e0
[Wed Mar 19 13:48:29 2025] [<ffffffff8112f9c9>] SyS_open+0x19/0x20
[Wed Mar 19 13:48:29 2025] [<ffffffff81819c52>] system_call_fastpath+0x16/0x1b
[Wed Mar 19 13:48:29 2025] ---[ end trace b387e99381c717bd ]--- |
As suggested by comments in the reiserfs_get_unused_objectid() code, removing files alleviates the problem, but in re-appears when that number of new file are created.
Kernel: 6.1.57-gentoo
The partition's file system was created with mkreiserfs 3.6.27
Of the 3 resierfs patitions on this system (/, /home & /var) I've only witnessed this on / - which is a 40G partition with 31G free.
Any ideas on what is going on here, or has anybody seen this before? |
|