fix asm-x86/{posix_types,unistd}.h
[safe/jmp/linux-2.6] / fs / super.c
index 01d5c40..4798350 100644 (file)
@@ -39,6 +39,7 @@
 #include <linux/mutex.h>
 #include <linux/file.h>
 #include <asm/uaccess.h>
+#include "internal.h"
 
 
 LIST_HEAD(super_blocks);
@@ -579,6 +580,9 @@ retry:
                if (!(f->f_mode & FMODE_WRITE))
                        continue;
                f->f_mode &= ~FMODE_WRITE;
+               if (file_check_writeable(f) != 0)
+                       continue;
+               file_release_write(f);
                mnt = mntget(f->f_path.mnt);
                file_list_unlock();
                /*