- some typos fixed.
--- /dev/null
+diff -rupN linux-2.6.10.orig/fs/namespace.c linux-2.6.10/fs/namespace.c
+--- linux-2.6.10.orig/fs/namespace.c 2005-05-16 10:46:42.000000000 +0300
++++ linux-2.6.10/fs/namespace.c 2005-05-16 10:31:53.000000000 +0300
+@@ -407,6 +407,8 @@ int do_umount(struct vfsmount *mnt, int
+ */
+
+ lock_kernel();
++ if (sb->s_op->umount_lustre)
++ sb->s_op->umount_lustre(sb);
+ if( (flags&MNT_FORCE) && sb->s_op->umount_begin)
+ sb->s_op->umount_begin(sb);
+ unlock_kernel();
+diff -rupN linux-2.6.10.orig/include/linux/fs.h linux-2.6.10/include/linux/fs.h
+--- linux-2.6.10.orig/include/linux/fs.h 2005-05-16 10:47:02.000000000 +0300
++++ linux-2.6.10/include/linux/fs.h 2005-05-16 10:32:50.000000000 +0300
+@@ -997,6 +997,7 @@ struct super_operations {
+ int (*remount_fs) (struct super_block *, int *, char *);
+ void (*clear_inode) (struct inode *);
+ void (*umount_begin) (struct super_block *);
++ void (*umount_lustre) (struct super_block *);
+
+ int (*show_options)(struct seq_file *, struct vfsmount *);
+ };
jbd-2.6.10-jcberr.patch
hostfs_readdir_large.patch
vfs-intent_release_umount-vanilla-2.6.10-fc3.patch
+vfs-umount_lustre-vanilla-2.6.10-fc3.patch
linux-2.6.10-fc3-left.patch
linux-2.6.10-fc3-lkcd.patch
vfs-intent_release_umount-vanilla-2.6.10-fc3.patch
+vfs-umount_lustre-vanilla-2.6.10-fc3.patch
static void ll_umount_lustre(struct super_block *sb)
{
struct ll_sb_info *sbi = ll_s2sbi(sb);
- ll_gns_check_all(sbi, LL_GNS_UMOUNT);
+ ll_gns_check_mounts(sbi, LL_GNS_UMOUNT);
}
static struct file_system_type lustre_lite_fs_type = {
"ll_inode_cache: not all structures were freed\n");
}
+static void ll_umount_lustre(struct super_block *sb)
+{
+ struct ll_sb_info *sbi = ll_s2sbi(sb);
+ ll_gns_check_mounts(sbi, LL_GNS_UMOUNT);
+}
+
/* exported operations */
struct super_operations lustre_super_operations =
{
.clear_inode = ll_clear_inode,
.put_super = lustre_put_super,
.statfs = ll_statfs,
- .umount_begin = ll_umount_begin
+ .umount_begin = ll_umount_begin,
+ .umount_lustre = ll_umount_lustre
};
struct file_system_type lustre_lite_fs_type = {
goto out;
}
ll_intent_slab = kmem_cache_create("lustre_intent_data",
- sizeof(struct lustre_intent_data),
- 0, SLAB_HWCACHE_ALIGN, NULL,
- NULL);
+ sizeof(struct lustre_intent_data),
+ 0, SLAB_HWCACHE_ALIGN, NULL,
+ NULL);
if (ll_intent_slab == NULL) {
kmem_cache_destroy(ll_file_data_slab);
ll_destroy_inodecache();