Hello,
I am monitoring file operations events (VFS).
I have a problem with BTRFS filesystem. BTRFS is using subvolumes. All highest hierarchy directories in btrfs has the same inode (256/512)
Short story:
When I receive file operation event, I receive the path and then resolve it to inode.
By resolving I mean: given a path, I get its dentry (user_path() call), from dentry i pull: dEntry->d_inode->i_ino
The problem is I receive same inode for different directories on the same Device.
I guess, BTRFS has some sort of abstraction layer, that create a "virtual" inode number (the identical ones are virtual) - there is no way for two identical inodes on same device id.
Proof for device id issue:
From kernel I receive device id 29:
-----------------------------------
From user space:
---------------------
So I get 29 and 33 as device id.
Lets call device id 29 "actual id"", and 33 is "virtual id".
Is there a way to obtain the actual id from kernel code ? I am looking for replacement to dEntry->d_inode->i_sb->s_dev.. to obtain the same id as we receive from user mode.
Moderator's Comments:
Please wrap all code, data, files, input & output/errors in CODE tags.
It make it far easier to read and preservers spaces for indenting or fixed width data.
I have guessed what to add in. Perhaps you could edit this post and confirm what it should be.
Last edited by rbatte1; 02-15-2017 at 10:55 AM..
Reason: Added CODE tags
Before we get too far in to this, can you confirm the OS & version you are running? The output from uname -a would be really useful. Please paste it into your message in CODE tags.
This is an appliance that has its own "kernel".
but under the hood it's: ---------- Post updated 02-16-17 at 07:58 AM ---------- Previous update was 02-15-17 at 09:58 AM ----------
Hi,
Instead of going to the dentry - inode - superblock - device id.
I get the device Id using the getattr(..) on the dentry.
My solution is taken from the Suse patch in the subject (after alot of google digging).
Hi,
Unable to make tape backup, please help.
/opt/ignite/bin/make_tape_recovery -a /dev/rmt/?mn -I -v -m tar -x inc_entire=vg00
* Creating local directories for configuration files and archive.
======= 04/25/16 16:28:08 IST Started /opt/ignite/bin/make_tape_recovery.
(Mon... (4 Replies)
Hi All,
Could anyone please help to resolve the below problem.
I installed RHEL5.5 in my desktop.But when i try to activate the ethernet connection then it gives me the error.
I spent 2 days for the above and go through with several suggestion found by googling. But no luck.
... (0 Replies)
By any chance anyone knows of any tutorials available for btrfs? I am having a difficult time finding one and I thought maybe someone had a reference to one already... :rolleyes: (0 Replies)
One of my team colleague mistakenly added non DID device to a metaset in a cluster node and inturn it is again added to concat .
In that metaset all devices are DID devices except only one . is it possible to convert this non DID device in metaset to DID device without recreating the whole... (0 Replies)
I need upgrade firmware for the device of p570, when I go to IBM FIX download website, there are a lot of device of p570 listed. How can I know what device I have on my p570? (4 Replies)