Explorar o código

NFS: Ensure the inode is marked as dirty if we break out of nfs_wb_all()

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Trond Myklebust %!s(int64=18) %!d(string=hai) anos
pai
achega
e507d9ebbb
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      fs/nfs/write.c

+ 3 - 0
fs/nfs/write.c

@@ -1469,6 +1469,7 @@ int nfs_wb_all(struct inode *inode)
 	if (ret >= 0)
 		return 0;
 out:
+	__mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
 	return ret;
 }
 
@@ -1493,6 +1494,7 @@ int nfs_sync_mapping_range(struct address_space *mapping, loff_t range_start, lo
 	if (ret >= 0)
 		return 0;
 out:
+	__mark_inode_dirty(mapping->host, I_DIRTY_PAGES);
 	return ret;
 }
 
@@ -1519,6 +1521,7 @@ int nfs_wb_page_priority(struct inode *inode, struct page *page, int how)
 	if (ret >= 0)
 		return 0;
 out:
+	__mark_inode_dirty(inode, I_DIRTY_PAGES);
 	return ret;
 }