96 lines
3.1 KiB
96 lines
3.1 KiB
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../lazyfs/linux-2.6.18.patch |
|
# Copyright (C) 2006 The OpenSDE Project |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# This patch file is dual-licensed. It is available under the license the |
|
# patched project is licensed under, as long as it is an OpenSource license |
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms |
|
# of the GNU General Public License as published by the Free Software |
|
# Foundation; either version 2 of the License, or (at your option) any later |
|
# version. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
--- ./configure.orig 2006-10-08 09:32:26.000000000 -0400 |
|
+++ ./configure 2006-10-08 09:33:27.000000000 -0400 |
|
@@ -835,6 +835,9 @@ |
|
#include "confdefs.h" |
|
|
|
#include <linux/version.h> |
|
+#ifndef UTS_RELEASE |
|
+#include <linux/utsrelease.h> |
|
+#endif |
|
#include <stdio.h> |
|
int main(void) { |
|
fputs(UTS_RELEASE, fopen("conftestversion", "w")); |
|
--- lazyfs.c.orig 2004-08-15 12:16:41.000000000 -0400 |
|
+++ lazyfs.c 2006-10-08 12:18:13.000000000 -0400 |
|
@@ -268,7 +268,7 @@ |
|
|
|
next = dentry->d_subdirs.next; |
|
while (next != &dentry->d_subdirs) { |
|
- struct dentry *c = list_entry(next, struct dentry, d_child); |
|
+ struct dentry *c = list_entry(next, struct dentry, d_u.d_child); |
|
show_refs(c, indent + 2); |
|
next = next->next; |
|
} |
|
@@ -997,7 +997,7 @@ |
|
next = head->next; |
|
|
|
while (next != head) { |
|
- struct dentry *child = list_entry(next, struct dentry, d_child); |
|
+ struct dentry *child = list_entry(next, struct dentry, d_u.d_child); |
|
struct lazy_de_info *info = child->d_fsdata; |
|
next = next->next; |
|
|
|
@@ -1036,7 +1036,7 @@ |
|
#endif |
|
|
|
/* Turn it into its own subtree */ |
|
- list_del_init(&dentry->d_child); |
|
+ list_del_init(&dentry->d_u.d_child); |
|
if (atomic_read(&dentry->d_count) > 1) { |
|
//printk("Dentry '%s' will be freed later\n", |
|
// dentry->d_name.name); |
|
@@ -1044,7 +1044,7 @@ |
|
atomic_dec(&dentry->d_count); |
|
} else { |
|
/* (reusing d_child; noone else has a ref anyway) */ |
|
- list_add(&dentry->d_child, to_be_removed); |
|
+ list_add(&dentry->d_u.d_child, to_be_removed); |
|
} |
|
|
|
/* Break link to parent */ |
|
@@ -1076,7 +1076,7 @@ |
|
resume: |
|
while (next != &this_parent->d_subdirs) { |
|
struct list_head *tmp = next; |
|
- struct dentry *dentry = list_entry(tmp, struct dentry, d_child); |
|
+ struct dentry *dentry = list_entry(tmp, struct dentry, d_u.d_child); |
|
next = tmp->next; |
|
if (d_unhashed(dentry) || !dentry->d_inode) |
|
continue; |
|
@@ -1089,7 +1089,7 @@ |
|
|
|
/* Moving up to parent */ |
|
|
|
- next = this_parent->d_child.next; |
|
+ next = this_parent->d_u.d_child.next; |
|
parent = this_parent->d_parent; |
|
genocide_one(this_parent, &to_be_removed); |
|
|
|
@@ -1100,9 +1100,9 @@ |
|
spin_unlock(&dcache_lock); |
|
|
|
list_for_each_safe(next, tmp, &to_be_removed) { |
|
- struct dentry *kid = list_entry(next, struct dentry, d_child); |
|
+ struct dentry *kid = list_entry(next, struct dentry, d_u.d_child); |
|
//printk("Removing '%s' now\n", kid->d_name.name); |
|
- list_del_init(&kid->d_child); |
|
+ list_del_init(&kid->d_u.d_child); |
|
dput(kid); |
|
} |
|
}
|
|
|