[XFS] write barrier support Issue all log sync operations as ordered
writes. In addition flush the disk cache on fsync if the sync cached operation didn't sync the log to disk (this requires some additional bookeping in the transaction and log code). If the device doesn't claim to support barriers, the filesystem has an extern log volume or the trial superblock write with barriers enabled failed we disable barriers and print a warning. We should probably fail the mount completely, but that could lead to nasty boot failures for the root filesystem. Not enabled by default yet, needs more destructive testing first. SGI-PV: 912426 SGI-Modid: xfs-linux:xfs-kern:198723a Signed-off-by: Christoph Hellwig <hch@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
This commit is contained in:

committed by
Nathan Scott

parent
739cafd316
commit
f538d4da8d
@@ -1025,7 +1025,12 @@ void xfs_trans_log_efd_extent(xfs_trans_t *,
|
||||
struct xfs_efd_log_item *,
|
||||
xfs_fsblock_t,
|
||||
xfs_extlen_t);
|
||||
int xfs_trans_commit(xfs_trans_t *, uint flags, xfs_lsn_t *);
|
||||
int _xfs_trans_commit(xfs_trans_t *,
|
||||
uint flags,
|
||||
xfs_lsn_t *,
|
||||
int *);
|
||||
#define xfs_trans_commit(tp, flags, lsn) \
|
||||
_xfs_trans_commit(tp, flags, lsn, NULL)
|
||||
void xfs_trans_cancel(xfs_trans_t *, int);
|
||||
void xfs_trans_ail_init(struct xfs_mount *);
|
||||
xfs_lsn_t xfs_trans_push_ail(struct xfs_mount *, xfs_lsn_t);
|
||||
|
Reference in New Issue
Block a user