Modify

Opened 12 years ago

Closed 12 years ago

Last modified 4 years ago

#404 closed defect (fixed)

shfs doesn't build with linux 2.6.16 (trunk r3478)

Reported by: tristan@… Owned by: developers
Priority: normal Milestone: Barrier Breaker 14.07
Component: base system Version: 2.0
Keywords: Cc:

Description

shfs (kmod-shfs and shfs-utils) needs an update for 2.6.16:

make[11]: Entering directory `/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/linux-2.6.16'
  CC [M]  /data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.o
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c: In function 'shfs_invalidate_dircache_entries':
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c:71: error: 'struct dentry' has no member named 'd_child'
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c:71: warning: type defaults to 'int' in declaration of '__mptr'
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c:71: warning: initialization from incompatible pointer type
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c:71: error: 'struct dentry' has no member named 'd_child'
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c: In function 'shfs_dget_fpos':
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c:104: error: 'struct dentry' has no member named 'd_child'
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c:104: warning: type defaults to 'int' in declaration of '__mptr'
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c:104: warning: initialization from incompatible pointer type
/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.c:104: error: 'struct dentry' has no member named 'd_child'
make[12]: *** [/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6/dcache.o] Error 1
make[11]: *** [_module_/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6] Error 2
make[11]: Leaving directory `/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/linux-2.6.16'
make[10]: *** [default] Error 2
make[10]: Leaving directory `/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs/Linux-2.6'
make[9]: *** [all] Error 2
make[9]: Leaving directory `/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/shfs'
make[8]: *** [module] Error 2
make[8]: Leaving directory `/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35'
make[7]: *** [/data2/openwrt/tristan/trunk/openwrt/build_mips/linux-2.6-aruba/shfs-0.35/.built] Error 2
make[7]: Leaving directory `/data2/openwrt/tristan/trunk/openwrt/target/linux/package/shfs'
make[6]: *** [compile] Error 2
make[6]: Leaving directory `/data2/openwrt/tristan/trunk/openwrt/target/linux/package/shfs'
make[5]: *** [shfs-compile] Error 2

Here's a patch taken from gentoo (inline since I can't seem to attach files):

diff -urN shfs-0.35.orig/shfs/Linux-2.6/dcache.c shfs-0.35/shfs/Linux-2.6/dcache.c
--- shfs-0.35.orig/shfs/Linux-2.6/dcache.c      2004-06-01 09:16:19.000000000 -0400
+++ shfs-0.35/shfs/Linux-2.6/dcache.c   2006-03-25 07:08:57.950752296 -0500
@@ -68,7 +68,7 @@
        spin_lock(&dcache_lock);
        next = parent->d_subdirs.next;
        while (next != &parent->d_subdirs) {
-               dentry = list_entry(next, struct dentry, d_child);
+               dentry = list_entry(next, struct dentry, d_u.d_child);
                dentry->d_fsdata = NULL;
                shfs_age_dentry(info, dentry);
                next = next->next;
@@ -101,7 +101,7 @@
        spin_lock(&dcache_lock);
        next = parent->d_subdirs.next;
        while (next != &parent->d_subdirs) {
-               dent = list_entry(next, struct dentry, d_child);
+               dent = list_entry(next, struct dentry, d_u.d_child);
                if ((unsigned long)dent->d_fsdata == fpos) {
                        if (dent->d_inode)
                                dget_locked(dent);

Attachments (1)

103-dentry.patch (871 bytes) - added by tristan@… 12 years ago.
patch as a separate file (I couldn't attach files when I initially submitted this ticket)

Download all attachments as: .zip

Change History (4)

comment:1 Changed 12 years ago by olli

  • Milestone set to 2.0
  • Version set to 2.0

Changed 12 years ago by tristan@…

patch as a separate file (I couldn't attach files when I initially submitted this ticket)

comment:2 Changed 12 years ago by wbx

  • Resolution set to fixed
  • Status changed from new to closed

fixed in [3537].

comment:3 Changed 4 years ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.