From: Al Viro <viro@zeniv.linux.org.uk>
Date: Wed, 17 Feb 2016 02:08:29 +0000 (-0500)
Subject: orangefs: have ->kill_sb() evict the VFS side of things first
X-Git-Tag: v4.6-rc1~2^2~2
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=524b1d3095159adeee0305508eefc836a197b681;p=users%2Fhch%2Fmisc.git

orangefs: have ->kill_sb() evict the VFS side of things first

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
---

diff --git a/fs/orangefs/super.c b/fs/orangefs/super.c
index 1eeb0093b62c..5a89b8083966 100644
--- a/fs/orangefs/super.c
+++ b/fs/orangefs/super.c
@@ -505,6 +505,9 @@ void orangefs_kill_sb(struct super_block *sb)
 {
 	gossip_debug(GOSSIP_SUPER_DEBUG, "orangefs_kill_sb: called\n");
 
+	/* provided sb cleanup */
+	kill_anon_super(sb);
+
 	/*
 	 * issue the unmount to userspace to tell it to remove the
 	 * dynamic mount info it has for this superblock
@@ -514,9 +517,6 @@ void orangefs_kill_sb(struct super_block *sb)
 	/* remove the sb from our list of orangefs specific sb's */
 	remove_orangefs_sb(sb);
 
-	/* provided sb cleanup */
-	kill_anon_super(sb);
-
 	/* free the orangefs superblock private data */
 	kfree(ORANGEFS_SB(sb));
 }