diff --git a/lustre/obdfilter/filter_io_26.c b/lustre/obdfilter/filter_io_26.c index 64881e5bc6dc231cfc30975e583ea3ed9c021652..ca43c7653d3dc965fad1011e709b8127321d184b 100644 --- a/lustre/obdfilter/filter_io_26.c +++ b/lustre/obdfilter/filter_io_26.c @@ -409,11 +409,15 @@ static int filter_sync_inode_data(struct inode *inode, int locked) if (!locked) LOCK_INODE_MUTEX(inode); if (inode->i_mapping->nrpages) { +#ifdef PF_SYNCWRITE current->flags |= PF_SYNCWRITE; +#endif rc = filemap_fdatawrite(inode->i_mapping); if (rc == 0) rc = filemap_fdatawait(inode->i_mapping); +#ifdef PF_SYNCWRITE current->flags &= ~PF_SYNCWRITE; +#endif } if (!locked) UNLOCK_INODE_MUTEX(inode);