projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'fbdev-fixes-4.0' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba...
[firefly-linux-kernel-4.4.55.git]
/
fs
/
fs-writeback.c
diff --git
a/fs/fs-writeback.c
b/fs/fs-writeback.c
index 073657f755d4a5b9c0d08acca991fbd35a9f37f0..e907052eeadb69f683df3c7d8838106c6e36905b 100644
(file)
--- a/
fs/fs-writeback.c
+++ b/
fs/fs-writeback.c
@@
-769,9
+769,9
@@
static long __writeback_inodes_wb(struct bdi_writeback *wb,
struct inode *inode = wb_inode(wb->b_io.prev);
struct super_block *sb = inode->i_sb;
struct inode *inode = wb_inode(wb->b_io.prev);
struct super_block *sb = inode->i_sb;
- if (!
grab_super_passive
(sb)) {
+ if (!
trylock_super
(sb)) {
/*
/*
- *
grab_super_passive
() may fail consistently due to
+ *
trylock_super
() may fail consistently due to
* s_umount being grabbed by someone else. Don't use
* requeue_io() to avoid busy retrying the inode/sb.
*/
* s_umount being grabbed by someone else. Don't use
* requeue_io() to avoid busy retrying the inode/sb.
*/
@@
-779,7
+779,7
@@
static long __writeback_inodes_wb(struct bdi_writeback *wb,
continue;
}
wrote += writeback_sb_inodes(sb, wb, work);
continue;
}
wrote += writeback_sb_inodes(sb, wb, work);
-
drop_super(sb
);
+
up_read(&sb->s_umount
);
/* refer to the same tests at the end of writeback_sb_inodes */
if (wrote) {
/* refer to the same tests at the end of writeback_sb_inodes */
if (wrote) {