orangefs: have ->kill_sb() evict the VFS side of things first
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 17 Feb 2016 02:08:29 +0000 (21:08 -0500)
committerMike Marshall <hubcap@omnibond.com>
Sat, 26 Mar 2016 02:30:54 +0000 (22:30 -0400)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
fs/orangefs/super.c

index 1eeb0093b62cbb9dea09ce56cd38b5974be7eb8e..5a89b808396679afc12105af3c836d1e0682485f 100644 (file)
@@ -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));
 }