Diff for /xfs-linux/xfs_vnodeops.c between versions 1.719 and 1.720

version 1.719, 2007/09/12 04:04:58 version 1.720, 2007/09/13 04:08:08
Line 1039  xfs_fsync( Line 1039  xfs_fsync(
         if (XFS_FORCED_SHUTDOWN(ip->i_mount))          if (XFS_FORCED_SHUTDOWN(ip->i_mount))
                 return XFS_ERROR(EIO);                  return XFS_ERROR(EIO);
   
           if (flag & FSYNC_DATA)
                   filemap_fdatawait(vn_to_inode(XFS_ITOV(ip))->i_mapping);
   
         /*          /*
          * We always need to make sure that the required inode state           * We always need to make sure that the required inode state
          * is safe on disk.  The vnode might be clean but because           * is safe on disk.  The vnode might be clean but because
Line 3568  xfs_inode_flush( Line 3571  xfs_inode_flush(
                         sync_lsn = log->l_last_sync_lsn;                          sync_lsn = log->l_last_sync_lsn;
                         GRANT_UNLOCK(log, s);                          GRANT_UNLOCK(log, s);
   
                         if ((XFS_LSN_CMP(iip->ili_last_lsn, sync_lsn) <= 0))                          if ((XFS_LSN_CMP(iip->ili_last_lsn, sync_lsn) > 0)) {
                                 return 0;                                  if (flags & FLUSH_SYNC)
                                           log_flags |= XFS_LOG_SYNC;
                                   error = xfs_log_force(mp, iip->ili_last_lsn, log_flags);
                                   if (error)
                                           return error;
                           }
   
                         if (flags & FLUSH_SYNC)                          if (ip->i_update_core == 0)
                                 log_flags |= XFS_LOG_SYNC;                                  return 0;
                         return xfs_log_force(mp, iip->ili_last_lsn, log_flags);  
                 }                  }
         }          }
   
Line 3587  xfs_inode_flush( Line 3594  xfs_inode_flush(
         if (flags & FLUSH_INODE) {          if (flags & FLUSH_INODE) {
                 int     flush_flags;                  int     flush_flags;
   
                 if (xfs_ipincount(ip))  
                         return EAGAIN;  
   
                 if (flags & FLUSH_SYNC) {                  if (flags & FLUSH_SYNC) {
                         xfs_ilock(ip, XFS_ILOCK_SHARED);                          xfs_ilock(ip, XFS_ILOCK_SHARED);
                         xfs_iflock(ip);                          xfs_iflock(ip);

Removed from v.1.719  
changed lines
  Added in v.1.720


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>