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);
}
}