diff options
Diffstat (limited to 'fs/xfs/linux-2.6')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_sync.c | 8 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_sync.h | 5 |
2 files changed, 6 insertions, 7 deletions
diff --git a/fs/xfs/linux-2.6/xfs_sync.c b/fs/xfs/linux-2.6/xfs_sync.c index 32abd96b1095..b619d6b8ca43 100644 --- a/fs/xfs/linux-2.6/xfs_sync.c +++ b/fs/xfs/linux-2.6/xfs_sync.c | |||
@@ -353,7 +353,7 @@ xfs_sync_fsdata( | |||
353 | * If this is xfssyncd() then only sync the superblock if we can | 353 | * If this is xfssyncd() then only sync the superblock if we can |
354 | * lock it without sleeping and it is not pinned. | 354 | * lock it without sleeping and it is not pinned. |
355 | */ | 355 | */ |
356 | if (flags & SYNC_BDFLUSH) { | 356 | if (flags & SYNC_TRYLOCK) { |
357 | ASSERT(!(flags & SYNC_WAIT)); | 357 | ASSERT(!(flags & SYNC_WAIT)); |
358 | 358 | ||
359 | bp = xfs_getsb(mp, XFS_BUF_TRYLOCK); | 359 | bp = xfs_getsb(mp, XFS_BUF_TRYLOCK); |
@@ -418,7 +418,7 @@ xfs_quiesce_data( | |||
418 | 418 | ||
419 | /* push non-blocking */ | 419 | /* push non-blocking */ |
420 | xfs_sync_data(mp, 0); | 420 | xfs_sync_data(mp, 0); |
421 | xfs_qm_sync(mp, SYNC_BDFLUSH); | 421 | xfs_qm_sync(mp, SYNC_TRYLOCK); |
422 | xfs_filestream_flush(mp); | 422 | xfs_filestream_flush(mp); |
423 | 423 | ||
424 | /* push and block */ | 424 | /* push and block */ |
@@ -568,8 +568,8 @@ xfs_sync_worker( | |||
568 | xfs_log_force(mp, (xfs_lsn_t)0, XFS_LOG_FORCE); | 568 | xfs_log_force(mp, (xfs_lsn_t)0, XFS_LOG_FORCE); |
569 | xfs_reclaim_inodes(mp, XFS_IFLUSH_DELWRI_ELSE_ASYNC); | 569 | xfs_reclaim_inodes(mp, XFS_IFLUSH_DELWRI_ELSE_ASYNC); |
570 | /* dgc: errors ignored here */ | 570 | /* dgc: errors ignored here */ |
571 | error = xfs_qm_sync(mp, SYNC_BDFLUSH); | 571 | error = xfs_qm_sync(mp, SYNC_TRYLOCK); |
572 | error = xfs_sync_fsdata(mp, SYNC_BDFLUSH); | 572 | error = xfs_sync_fsdata(mp, SYNC_TRYLOCK); |
573 | if (xfs_log_need_covered(mp)) | 573 | if (xfs_log_need_covered(mp)) |
574 | error = xfs_commit_dummy_trans(mp, XFS_LOG_FORCE); | 574 | error = xfs_commit_dummy_trans(mp, XFS_LOG_FORCE); |
575 | } | 575 | } |
diff --git a/fs/xfs/linux-2.6/xfs_sync.h b/fs/xfs/linux-2.6/xfs_sync.h index bda33a03e12b..2a10301c99c7 100644 --- a/fs/xfs/linux-2.6/xfs_sync.h +++ b/fs/xfs/linux-2.6/xfs_sync.h | |||
@@ -29,9 +29,8 @@ typedef struct xfs_sync_work { | |||
29 | struct completion *w_completion; | 29 | struct completion *w_completion; |
30 | } xfs_sync_work_t; | 30 | } xfs_sync_work_t; |
31 | 31 | ||
32 | #define SYNC_WAIT 0x0004 /* wait for i/o to complete */ | 32 | #define SYNC_WAIT 0x0001 /* wait for i/o to complete */ |
33 | #define SYNC_BDFLUSH 0x0008 /* BDFLUSH is calling -- don't block */ | 33 | #define SYNC_TRYLOCK 0x0002 /* only try to lock inodes */ |
34 | #define SYNC_TRYLOCK 0x0020 /* only try to lock inodes */ | ||
35 | 34 | ||
36 | int xfs_syncd_init(struct xfs_mount *mp); | 35 | int xfs_syncd_init(struct xfs_mount *mp); |
37 | void xfs_syncd_stop(struct xfs_mount *mp); | 36 | void xfs_syncd_stop(struct xfs_mount *mp); |