Re: 2.4 ext3 questions (*generic_ip)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks a ton for the note, Erik.

Erik Mouw wrote:
On Thu, May 05, 2005 at 06:05:52PM -0700, Harsha Srinath wrote:

I am trying to port a ext3 cow utility from 2.4 to 2.6. I have a
couple of questions regarding changes in fs.h and fsfilter.h that were in 2.4.


I hope you are aware that there Jörn Engel did a "cowlinks" patch for
2.6.4 about a year ago? Search a linux-kernel archive for the subject
"[PATCH] cowlinks v2" or the Message-ID
"<20040320083411.GA25934@xxxxxxxxxxxxxxxxxxxx>" . The patch is pretty
small.

Yup, I am aware of that and I am also aware the kernel folks refused to take that since it needed a change to the VFS data structures at the least. What I am working on is a change to ext3 cow itself (take a look at www.ext3cow.com) if you are interested.

1. In the the 2.4 ../include/linux/fs.h file, there is a union in the
VFS inode struct like :-
struct inode {
       struct list_head        i_hash;
       struct list_head        i_list;
       struct list_head        i_dentry;
       ........
       union {
               struct minix_inode_info         minix_i;
               struct ext2_inode_info          ext2_i;
               struct ext3_inode_info          ext3_i;
       .......
                  }u;

Can anyone tell me where this union info is present in 2.6.10 ? I
grep'ed in the ..../include/linux/ directory but could not find the
union in any VFS files. (I want the VFS to know my changed ext3 inode
info that I call "struct extcow3_inode_info          extcow3_i".)


Al Viro removed it because this struct made it a pain to use
out-of-tree filesystems. It's replaced with the generic_ip pointer.
I remember cause I did a proof-of-concept patch for a filesystem
(iso9660, IIRC).

Thanks. Can you please tell me how is this VFS data structure interfaced to ext3 ?
I again did a grep on "struct ext3_sb_info" in ../include/linux/ext3* and also in ../fs/ext3/ and got these:-


../include/linux/ext3_fs.h:static inline struct ext3_inode_info *EXT3_I(struct inode *inode)

..include/linux/ext3_fs.h: return container_of(inode, struct ext3_inode_info, vfs_inode);

Is this the new "struct ext3_inode_info          ext3_i;" replacement?

Thanks again,
Harsha



--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux