Programming :: Getting Error While Accessing Inode Structure Member / Why Is This?
Dec 16, 2010
I have added new member "i_mymember" to inode on-disk structure in ext3_fs.h file and tried to access this in userspace program, but gives me error that "error: �struct ext3_inode� has no member named �i_mymember� "
We all know linux kernel base layer is made up of structures, in which every object of kernel is well defined. Structure members correspond to object properties required to define object behavior.
For example if we take case of File system.It composed of four objects , superblock objects, inode objects, file objects and dentry object.Each having well defined structure which is being operated by system call handler and by system call service routine in the kernel mode.
Now my question is even in kernel mode we do not have some mechanism by which we can get access to pointer of these structures.We have some macro.
If I want to manipulate structure on my on way, or performing some more operation defined by me.For example after the crash of Hard Disk Drive, having ext2/3 file system, If i want to know all the inode pointers, and block details.
Can I have some way out to do desired operation ??
mechanism to operate on these base label structures, even in kernel mode ..
In my project, there is a requirement for adding one more attribute for file properties which keeps track of previous file copies(Copy history). So how can we accomplish this? can we add/store this information in inode structure?
I decided to take an old Gateway that I bought off a guy cheaply and turn it into a file and web server.I purchased copies of Debian 5.0.4 i386 disks (31 in all) on the advice of a friend, the disks weren't expensive, but now that Ive installed all the disks, I'm having a variety of errors
[443.110940 end request: I/O error, dev hde, sector 76021855 [443.111074] EXT3-fs error (device hde1): ext3_get_inode_loc: unable to read inode block - inode=2375715, block=9502724 INIT: cannot execute "/sbin/getty"
I'm running Ubuntu 11.04 (guest) on Windows 7 (host) with the guest additions installed. I have an auto-mount folder that maps to my D: drive on the host which I can access using sudo ls /media/sf_D_DRIVE - however, even when my user (ross) is a member of the vboxsf group I get a permission denied error when attempting to explore it. I have restarted since adding my user to the vboxsf group.
This should work because I am a member of the group (which has rwx rights), so why doesn't it?
ross@panther:~$ ls -l /media total 8 drwxrwx--- 1 root vboxsf 8192 2011-07-03 22:24 sf_D_DRIVE ross@panther:~$ ls -l /media/sf_D_DRIVE/ ls: cannot open directory /media/sf_D_DRIVE/: Permission denied
Code: #include <stdio.h> struct test { int i; int j;
[Code]....
why i am getting this error. I know the error is occuring because i have assigned values to obj.i and obj.j outside main(). But i want to know why do that result in an error. From my part i have created an object 'obj' of stucture 'test' and assigned values to its variables.
I am getting the following error:'auto_ptr' is not a member of 'std'This was working fine in gcc version 4.1.2 20080704 (Red Hat 4.1.2-48).After upgrading to gcc version 4.4.4 (GCC), it is NOT working.
The code below defines an array of structures in a class. I would like this to be a Static array and then initialize the array in a initialization method. I understand that initialization lists are the way to go but due to the size and complexity of the array I plan on using (the example below is a simple snippet that illustrates the problem) I would like to use the initialization method. However, I cant even get this thing to compile. The error says the reference to the ArrayOfStructs in the initialization routine is undefined.
l_long_Island
P.S. This is the error message
undefined reference to `ClassWithStaticArray::ArrayOfStruts'
class ClassWithStaticArray { public: struct IntegerStruct {
i have trouble to define a static member in a template, and i search from google, but didn't find any similar case, my case is a little complex, i paste the code below.code in xxx.h
have an inherited base class that has some virtual members and I wish to overide these members in the derived class. So for example I have the following base class called B and the derived class called D. I will illustrate them both below. I am finding I get a linker error when making the project and cannot work out why this should be so.
This may be a basic bash array/string operation related question, but I couldn't find any direct answer. So here it goes:I have a lot of data sorted in various directories. All directories need same processing except for a special group of directories. I have a symbolic link of the script in discussion in each directory. I want the script to get the name of the current directory, check if that belongs to special group and do specific operations.So I get the name of the directory
Code: mm=`basename `pwd`` Now the the group of directories that needs something different to be done, contains these
Since there are no new ghostscript in repo for suse 10.2, I went to compile it from sources But, when making I got errors ups/gdevcups.c:4743: error: gx_device_cups has no member named header
[Code]...
Googling about this issue doesn't give me any luck version I'm trying to install is 8.64
anyone know that the ntfs's file sytem struct? is there's a API or something other could let me get this number? Or there is actually no such number in windows like the number of inode in linux?
I would like to complete inode information from the struct list_head structure of super block structure of vfs.System call are doing operation internally, but no system call to traverse?
I am getting this error every night at 4am (right about when the cron.daily runs). when it does this, it remounts the filesystem read only. In the AM I get yelled at by users. all it takes is an fsck to fix the problem, but it does it every night. I have tried to rebuild the journal by removing the has_journal flag, running an fsck, and then re-adding the journal... same problem.. and its always the same inode.
I was using gparted from a live usb to resize an ext4 partition and it failed while running resize2fs. The error it gave was
Code: resize2fs: The inode is from a bad block in the inode table while trying to resize /dev/sda5 please run 'e2fsck -fy /dev/sda5' to fix the filesystem after the aborted resize operation.
I was trying to move my home partition on Ubuntu, and the computer hibernated on me. I restarted it up on the live disk to survey the damage, to find that the home partition, according to fsck, "Superblock has an invalid journal (inode Clear? <y>"
my server is fedora-7 and it was working fine till yesterday yester I have power failu problem after we got problem. while booting following error coming Inode 3640928 has a bad extended atribute block
I am using Wind River Linux- 2.6.27.18-WR3.0bg_standard. The problem is whenever I execute "reboot, ls, cd" and many other commands the OS prompts me an error- "end request: i/o error, dev sda, sector "(different sector each time)" and EXT3-fs error (device sda1):ext3_get_inode_loc:unable to read inode block- inode-4088001, block-4097027 I also executed "dmesg", it also showed similar errors. Has the disk gone bad or the kernel is corrupted?
I have a struct (small instance so not using code brackets )
struct random { int a; int b; }example;
What i am trying is
example={0,0};
and it gives an error how to initialize all the entries within a struct to zero? In the above example i have used integers but what if they are some other data structure for example another structure?
1st. I lost my usb drives. Im using Puppy Studio(Lucid, Full HDD install, latest ver) on a Toshiba Satellite 2805-S201... My 1st Linux treasure... Anyway... I was recording audio thru audacity. Shutdown. L8r started and inserted a Flash drive and the icon never showed even though I used it hours prior with no issues. The drives are working fine meaning I can access the data on other devices. Now the newb... I cant find the USB info anywhere. i followed System-Status & Configure-Hardware info-Devices-USB devices and theres nothing there. The optical drive & sda1 are registered but the flash drives are not. Does it sound like my 2 USB ports are dead? My mouse & keyboard dont register either!
2nd. B4 today reboot was the only command I knew (so sad...) but I learned dmesg and tried that and dmesg reads
Basically I now want to move my music but I have no working usb ports. And Its been frustrating trying to figure out what the dmesg means when today is the 1st time I opened a terminal!
I have started learning C and am following Ivor Horton's "Beginning C - From Novice to Professional". I've noticed that in the book the structure of the main function is:
int main (void) however on the internet I found a lot of cases: void main (void)Which one is preferred and why?