--- zzzz-none-000/linux-2.6.19.2/fs/ecryptfs/super.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/fs/ecryptfs/super.c 2007-01-11 07:38:19.000000000 +0000 @@ -138,6 +138,23 @@ } /** + * ecryptfs_umount_begin + * + * Called in do_umount(). + */ +static void ecryptfs_umount_begin(struct vfsmount *vfsmnt, int flags) +{ + struct vfsmount *lower_mnt = + ecryptfs_dentry_to_lower_mnt(vfsmnt->mnt_sb->s_root); + struct super_block *lower_sb; + + mntput(lower_mnt); + lower_sb = lower_mnt->mnt_sb; + if (lower_sb->s_op->umount_begin) + lower_sb->s_op->umount_begin(lower_mnt, flags); +} + +/** * ecryptfs_show_options * * Prints the directory we are currently mounted over. @@ -176,5 +193,6 @@ .statfs = ecryptfs_statfs, .remount_fs = NULL, .clear_inode = ecryptfs_clear_inode, + .umount_begin = ecryptfs_umount_begin, .show_options = ecryptfs_show_options };