From: Nicolas Thill <nico@openwrt.org>
Date: Sat, 17 Jun 2006 09:43:57 +0000 (+0000)
Subject: move shfs from target/linux/package/ to package/.
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=ab5540228b9bae9c677bb3f146c5181e3aab7e5b;p=openwrt%2Fstaging%2Flinusw.git

move shfs from target/linux/package/ to package/.

SVN-Revision: 3970
---

diff --git a/openwrt/package/shfs/Makefile b/openwrt/package/shfs/Makefile
new file mode 100644
index 0000000000..dacbf8d75f
--- /dev/null
+++ b/openwrt/package/shfs/Makefile
@@ -0,0 +1,56 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+include $(TOPDIR)/package/kernel.mk
+
+PKG_NAME:=shfs
+PKG_VERSION:=0.35
+PKG_RELEASE:=2
+PKG_MD5SUM:=016f49d71bc32eee2b5d11fc1600cfbe
+
+PKG_SOURCE_URL:=@SF/shfs
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+define Package/kmod-shfs
+ SECTION:=drivers
+ CATEGORY:=Drivers
+ DEPENDS:=
+ TITLE:=Shell FileSystem (ShFS)
+ DESCRIPTION:=Shell FileSystem (ShFS) \\\
+ShFS is a simple and easy to use Linux kernel module which allows you to \\\
+mount remote filesystems using a plain shell (SSH) connection. When using \\\
+ShFS, you can access all remote files just like the local ones, only the \\\
+access is governed through the transport security of SSH.
+ URL:=http://shfs.sourceforge.net/
+ VERSION:=$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE)
+endef
+
+define Build/Compile
+	rm -rf $(PKG_INSTALL_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		ARCH="$(LINUX_KARCH)" \
+		CROSS_COMPILE="$(TARGET_CROSS)" \
+		PATH="$(TARGET_PATH)" \
+		OFLAGS="$(TARGET_CFLAGS)" \
+		CC="$(TARGET_CC)" \
+		LINKER="$(TARGET_CC)" \
+		KERNEL="$(LINUX_VERSION)" \
+		KERNEL_SOURCES="$(LINUX_DIR)" \
+		ROOT="$(PKG_INSTALL_DIR)" \
+		module module-install
+endef
+
+define Package/kmod-shfs/install
+	install -m0755 -d $(1)/lib/modules/$(LINUX_VERSION)
+	$(CP) $(PKG_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/shfs/shfs.$(LINUX_KMOD_SUFFIX) \
+		$(1)/lib/modules/$(LINUX_VERSION)/
+endef
+
+$(eval $(call BuildPackage,kmod-shfs))
diff --git a/openwrt/package/shfs/patches/101-kmod_build.patch b/openwrt/package/shfs/patches/101-kmod_build.patch
new file mode 100644
index 0000000000..11701033f5
--- /dev/null
+++ b/openwrt/package/shfs/patches/101-kmod_build.patch
@@ -0,0 +1,98 @@
+--- shfs-0.35-orig/shfs/Linux-2.4/Makefile	2004-06-01 15:16:19.000000000 +0200
++++ shfs-0.35-2/shfs/Linux-2.4/Makefile	2005-04-09 02:34:35.000000000 +0200
+@@ -1,3 +1,13 @@
++#
++# the original Makefile was trashed and replaced by this one
++# The main reason is that loadable modules should be built with
++# the same compile flags the kernel was built with, so we'd better
++# let the kernel tree build the module for us, like that :
++#
++#   make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules
++#   make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules_install
++#
++
+ ifndef KERNEL
+ KERNEL=$(shell uname -r)
+ endif
+@@ -10,67 +24,29 @@
+ KERNEL_SOURCES=${MODULESDIR}/build
+ endif
+ 
+-ifeq (${MODVERSIONS},detect)
+-  ifeq ($(shell test -e ${KERNEL_SOURCES}/include/linux/modversions.h; echo $$?),0)
+-    MODVERSIONS=yes
+-  endif
+-endif
+-
+-ifeq (${MODVERSIONS},yes)
+-MVER=-DMODVERSIONS -DEXPORT_SYMTAB
+-endif
+-
+-LINVER=linux-${KERNEL}
+-
+-ALL_TARGETS := shfs.o
+-
+-SEARCHDIRS := -I- -I. -I${KERNEL_SOURCES}/include #-I/usr/src/linux/include/
++all: all-y
+ 
+-CC     := gcc
+-CFLAGS  = -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -Wall ${SEARCHDIRS} -DMODULE ${MVER} -D__KERNEL__ -DLINUX
+-LINKER    := ld
+-LDFLAGS    = -r
+-LOADLIBES := 
++O_TARGET := shfs.o
+ 
+-all: ${ALL_TARGETS}
++shfs-objs := dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
+ 
+-%.o: %.c $(wildcard *.h)
+-	${CC} ${CFLAGS} -c $< -o $@
++obj-y := $(shfs-objs) 
++obj-m := $(O_TARGET)
+ 
+-shfs.o: dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
+-	${LINKER} ${LDFLAGS} -o $@ ${filter-out %.a %.so, $^} ${LOADLIBES}
+-
+-tidy:
+-	${RM} core dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
+-
+-clean: tidy patch-clean
+-	${RM} shfs.o
++-include $(TOPDIR)/Rules.make
+ 
++all-y:
++	make -C ${KERNEL_SOURCES} TOPDIR="${KERNEL_SOURCES}" SUBDIRS="$(shell pwd)" modules
++	
+ install: shfs.o
+ 	rm -f ${MODULESDIR}/kernel/fs/shfs/shfs.o
+ 	install -m644 -b -D shfs.o ${MODULESDIR}/kernel/fs/shfs/shfs.o
+-	if [ -x /sbin/depmod -a "${ROOT}" = "/" ]; then /sbin/depmod -aq; fi
+ 
+ uninstall:
+ 	rm -rf ${MODULESDIR}/kernel/fs/shfs
+-	if [ -x /sbin/depmod -a "${ROOT}" = "/" ]; then /sbin/depmod -aq; fi
+ 
+-patch:
+-	rm -rf ${LINVER} ${LINVER}.orig; mkdir ${LINVER};
+-	for i in Documentation fs/shfs include/linux; do \
+-	  mkdir -p ${LINVER}/$$i; \
+-	done
+-	cp ${KERNEL_SOURCES}/Documentation/Configure.help ${LINVER}/Documentation
+-	cp ${KERNEL_SOURCES}/fs/{Makefile,Config.in} ${LINVER}/fs
+-	cp -r ${LINVER} ${LINVER}.orig
+-	cp ../../Changelog *.c shfs_debug.h proc.h ${LINVER}/fs/shfs/
+-	cp shfs.h shfs_fs* ${LINVER}/include/linux/
+-	(cd ${LINVER}; patch -p1 <../kernel-config.diff)
+-	find . -type f -name "*.orig" -print | xargs rm -f
+-	diff -urN ${LINVER}.orig ${LINVER} >${LINVER}.diff; true
+-
+-patch-clean:
+-	rm -rf ${LINVER} ${LINVER}.orig;
+-	rm -f ${LINVER}.diff
+-	
+-.PHONY : all tidy clean install uninstall patch patch-clean
++clean:
++	rm -f core *.o *.a *.s
++
++shfs.o: $(shfs-objs)
++
diff --git a/openwrt/package/shfs/patches/102-gcc4_fix.patch b/openwrt/package/shfs/patches/102-gcc4_fix.patch
new file mode 100644
index 0000000000..c4fd36629b
--- /dev/null
+++ b/openwrt/package/shfs/patches/102-gcc4_fix.patch
@@ -0,0 +1,23 @@
+diff -ur shfs-0.35/shfs/Linux-2.6/dir.c shfs-0.35-new/shfs/Linux-2.6/dir.c
+--- shfs-0.35/shfs/Linux-2.6/dir.c	2004-06-01 09:16:19.000000000 -0400
++++ shfs-0.35-new/shfs/Linux-2.6/dir.c	2005-02-11 18:12:00.000000000 -0500
+@@ -19,6 +19,8 @@
+ #include "shfs_debug.h"
+ #include "proc.h"
+ 
++static struct dentry_operations shfs_dentry_operations;
++	
+ static int
+ shfs_dir_open(struct inode *inode, struct file *filp)
+ {
+diff -ur shfs-0.35/shfs/Linux-2.6/shfs_fs.h shfs-0.35-new/shfs/Linux-2.6/shfs_fs.h
+--- shfs-0.35/shfs/Linux-2.6/shfs_fs.h	2004-06-01 09:16:19.000000000 -0400
++++ shfs-0.35-new/shfs/Linux-2.6/shfs_fs.h	2005-02-11 18:12:03.000000000 -0500
+@@ -50,7 +50,6 @@
+ #define ROUND_TO_MINS(x) do { (x).tv_sec = ((x).tv_sec / 60) * 60; (x).tv_nsec = 0; } while (0)
+ 
+ /* shfs/dir.c */
+-extern struct dentry_operations shfs_dentry_operations;
+ extern struct file_operations shfs_dir_operations;
+ extern struct inode_operations shfs_dir_inode_operations;
+ extern void shfs_new_dentry(struct dentry *dentry);
diff --git a/openwrt/package/shfs/patches/103-dentry.patch b/openwrt/package/shfs/patches/103-dentry.patch
new file mode 100644
index 0000000000..83a406a268
--- /dev/null
+++ b/openwrt/package/shfs/patches/103-dentry.patch
@@ -0,0 +1,21 @@
+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);
diff --git a/openwrt/target/linux/package/shfs/Config.in b/openwrt/target/linux/package/shfs/Config.in
deleted file mode 100644
index 71cc327073..0000000000
--- a/openwrt/target/linux/package/shfs/Config.in
+++ /dev/null
@@ -1,22 +0,0 @@
-config PACKAGE_KMOD_SHFS
-	prompt "kmod-shfs......................... Shell FileSystem kernel module (ShFS) kernel module"
-	tristate
-	default m if DEVEL
-	help
-	  ShFS is a simple and easy to use Linux kernel module which 
-	  allows you to mount remote filesystems using a plain shell 
-	  (SSH) connection. When using ShFS, you can access all remote 
-	  files just like the local ones, only the access is governed 
-	  through the transport security of SSH.
-	  
-	  ShFS supports some nice features:
-	  
-	   * file cache for access speedup
-	   * perl and shell code for the remote (server) side
-	   * could preserve uid/gid (root connection)
-	   * number of remote host platforms (Linux, Solaris, Cygwin, ...)
-	   * Linux kernel 2.4.10+ and 2.6
-	   * arbitrary command used for connection (instead of SSH)
-	   * persistent connection (reconnect after SSH dies) 
-	  
-	  http://shfs.sourceforge.net/
diff --git a/openwrt/target/linux/package/shfs/Makefile b/openwrt/target/linux/package/shfs/Makefile
deleted file mode 100644
index 4625bdb12e..0000000000
--- a/openwrt/target/linux/package/shfs/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# $Id$
-
-include $(TOPDIR)/rules.mk
-include ../../rules.mk
-
-PKG_NAME:=shfs
-PKG_VERSION:=0.35
-PKG_RELEASE:=2
-PKG_MD5SUM:=016f49d71bc32eee2b5d11fc1600cfbe
-
-PKG_SOURCE_URL:=@SF/shfs
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_CAT:=zcat
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
-
-include $(TOPDIR)/package/rules.mk
-
-$(eval $(call PKG_template,KMOD_SHFS,kmod-shfs,$(LINUX_VERSION)+$(PKG_VERSION)-$(BOARD)-$(PKG_RELEASE),$(ARCH),kernel ($(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE))))
-
-$(PKG_BUILD_DIR)/.configured:
-	touch $@
-
-$(PKG_BUILD_DIR)/.built: 
-	rm -rf $(PKG_INSTALL_DIR)
-	mkdir -p $(PKG_INSTALL_DIR)
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		ARCH="$(LINUX_KARCH)" \
-		CROSS_COMPILE="$(TARGET_CROSS)" \
-		PATH="$(TARGET_PATH)" \
-		OFLAGS="$(TARGET_CFLAGS)" \
-		CC="$(TARGET_CC)" \
-		LINKER="$(TARGET_CC)" \
-		KERNEL="$(LINUX_VERSION)" \
-		KERNEL_SOURCES="$(LINUX_DIR)" \
-		ROOT="$(PKG_INSTALL_DIR)" \
-		module module-install
-	touch $@
-
-$(IPKG_KMOD_SHFS):
-	install -m0755 -d $(IDIR_KMOD_SHFS)/lib/modules/$(LINUX_VERSION)
-	$(CP) $(PKG_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/shfs/shfs.$(LINUX_KMOD_SUFFIX) \
-	 $(IDIR_KMOD_SHFS)/lib/modules/$(LINUX_VERSION)/
-	$(IPKG_BUILD) $(IDIR_KMOD_SHFS) $(PACKAGE_DIR)
-
diff --git a/openwrt/target/linux/package/shfs/ipkg/kmod-shfs.control b/openwrt/target/linux/package/shfs/ipkg/kmod-shfs.control
deleted file mode 100644
index 240efe60be..0000000000
--- a/openwrt/target/linux/package/shfs/ipkg/kmod-shfs.control
+++ /dev/null
@@ -1,4 +0,0 @@
-Package: kmod-shfs
-Priority: optional
-Section: sys
-Description: SHell FileSystem Linux kernel module
diff --git a/openwrt/target/linux/package/shfs/patches/101-kmod_build.patch b/openwrt/target/linux/package/shfs/patches/101-kmod_build.patch
deleted file mode 100644
index 11701033f5..0000000000
--- a/openwrt/target/linux/package/shfs/patches/101-kmod_build.patch
+++ /dev/null
@@ -1,98 +0,0 @@
---- shfs-0.35-orig/shfs/Linux-2.4/Makefile	2004-06-01 15:16:19.000000000 +0200
-+++ shfs-0.35-2/shfs/Linux-2.4/Makefile	2005-04-09 02:34:35.000000000 +0200
-@@ -1,3 +1,13 @@
-+#
-+# the original Makefile was trashed and replaced by this one
-+# The main reason is that loadable modules should be built with
-+# the same compile flags the kernel was built with, so we'd better
-+# let the kernel tree build the module for us, like that :
-+#
-+#   make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules
-+#   make -C $(KERNEL_DIR) SUBDIRS="$(shell pwd)" modules_install
-+#
-+
- ifndef KERNEL
- KERNEL=$(shell uname -r)
- endif
-@@ -10,67 +24,29 @@
- KERNEL_SOURCES=${MODULESDIR}/build
- endif
- 
--ifeq (${MODVERSIONS},detect)
--  ifeq ($(shell test -e ${KERNEL_SOURCES}/include/linux/modversions.h; echo $$?),0)
--    MODVERSIONS=yes
--  endif
--endif
--
--ifeq (${MODVERSIONS},yes)
--MVER=-DMODVERSIONS -DEXPORT_SYMTAB
--endif
--
--LINVER=linux-${KERNEL}
--
--ALL_TARGETS := shfs.o
--
--SEARCHDIRS := -I- -I. -I${KERNEL_SOURCES}/include #-I/usr/src/linux/include/
-+all: all-y
- 
--CC     := gcc
--CFLAGS  = -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -Wall ${SEARCHDIRS} -DMODULE ${MVER} -D__KERNEL__ -DLINUX
--LINKER    := ld
--LDFLAGS    = -r
--LOADLIBES := 
-+O_TARGET := shfs.o
- 
--all: ${ALL_TARGETS}
-+shfs-objs := dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
- 
--%.o: %.c $(wildcard *.h)
--	${CC} ${CFLAGS} -c $< -o $@
-+obj-y := $(shfs-objs) 
-+obj-m := $(O_TARGET)
- 
--shfs.o: dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
--	${LINKER} ${LDFLAGS} -o $@ ${filter-out %.a %.so, $^} ${LOADLIBES}
--
--tidy:
--	${RM} core dcache.o dir.o fcache.o file.o inode.o ioctl.o proc.o shell.o symlink.o
--
--clean: tidy patch-clean
--	${RM} shfs.o
-+-include $(TOPDIR)/Rules.make
- 
-+all-y:
-+	make -C ${KERNEL_SOURCES} TOPDIR="${KERNEL_SOURCES}" SUBDIRS="$(shell pwd)" modules
-+	
- install: shfs.o
- 	rm -f ${MODULESDIR}/kernel/fs/shfs/shfs.o
- 	install -m644 -b -D shfs.o ${MODULESDIR}/kernel/fs/shfs/shfs.o
--	if [ -x /sbin/depmod -a "${ROOT}" = "/" ]; then /sbin/depmod -aq; fi
- 
- uninstall:
- 	rm -rf ${MODULESDIR}/kernel/fs/shfs
--	if [ -x /sbin/depmod -a "${ROOT}" = "/" ]; then /sbin/depmod -aq; fi
- 
--patch:
--	rm -rf ${LINVER} ${LINVER}.orig; mkdir ${LINVER};
--	for i in Documentation fs/shfs include/linux; do \
--	  mkdir -p ${LINVER}/$$i; \
--	done
--	cp ${KERNEL_SOURCES}/Documentation/Configure.help ${LINVER}/Documentation
--	cp ${KERNEL_SOURCES}/fs/{Makefile,Config.in} ${LINVER}/fs
--	cp -r ${LINVER} ${LINVER}.orig
--	cp ../../Changelog *.c shfs_debug.h proc.h ${LINVER}/fs/shfs/
--	cp shfs.h shfs_fs* ${LINVER}/include/linux/
--	(cd ${LINVER}; patch -p1 <../kernel-config.diff)
--	find . -type f -name "*.orig" -print | xargs rm -f
--	diff -urN ${LINVER}.orig ${LINVER} >${LINVER}.diff; true
--
--patch-clean:
--	rm -rf ${LINVER} ${LINVER}.orig;
--	rm -f ${LINVER}.diff
--	
--.PHONY : all tidy clean install uninstall patch patch-clean
-+clean:
-+	rm -f core *.o *.a *.s
-+
-+shfs.o: $(shfs-objs)
-+
diff --git a/openwrt/target/linux/package/shfs/patches/102-gcc4_fix.patch b/openwrt/target/linux/package/shfs/patches/102-gcc4_fix.patch
deleted file mode 100644
index c4fd36629b..0000000000
--- a/openwrt/target/linux/package/shfs/patches/102-gcc4_fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ur shfs-0.35/shfs/Linux-2.6/dir.c shfs-0.35-new/shfs/Linux-2.6/dir.c
---- shfs-0.35/shfs/Linux-2.6/dir.c	2004-06-01 09:16:19.000000000 -0400
-+++ shfs-0.35-new/shfs/Linux-2.6/dir.c	2005-02-11 18:12:00.000000000 -0500
-@@ -19,6 +19,8 @@
- #include "shfs_debug.h"
- #include "proc.h"
- 
-+static struct dentry_operations shfs_dentry_operations;
-+	
- static int
- shfs_dir_open(struct inode *inode, struct file *filp)
- {
-diff -ur shfs-0.35/shfs/Linux-2.6/shfs_fs.h shfs-0.35-new/shfs/Linux-2.6/shfs_fs.h
---- shfs-0.35/shfs/Linux-2.6/shfs_fs.h	2004-06-01 09:16:19.000000000 -0400
-+++ shfs-0.35-new/shfs/Linux-2.6/shfs_fs.h	2005-02-11 18:12:03.000000000 -0500
-@@ -50,7 +50,6 @@
- #define ROUND_TO_MINS(x) do { (x).tv_sec = ((x).tv_sec / 60) * 60; (x).tv_nsec = 0; } while (0)
- 
- /* shfs/dir.c */
--extern struct dentry_operations shfs_dentry_operations;
- extern struct file_operations shfs_dir_operations;
- extern struct inode_operations shfs_dir_inode_operations;
- extern void shfs_new_dentry(struct dentry *dentry);
diff --git a/openwrt/target/linux/package/shfs/patches/103-dentry.patch b/openwrt/target/linux/package/shfs/patches/103-dentry.patch
deleted file mode 100644
index 83a406a268..0000000000
--- a/openwrt/target/linux/package/shfs/patches/103-dentry.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-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);