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