[XFS] Cleanup a missed porting conversion, and freezing.
SGI-PV: 953338 SGI-Modid: xfs-linux-melb:xfs-kern:26109a Signed-off-by: Nathan Scott <nathans@sgi.com>
This commit is contained in:
Родитель
8285fb58e7
Коммит
34327e1384
|
@ -668,11 +668,11 @@ xfs_write(
|
|||
io = &xip->i_iocore;
|
||||
mp = io->io_mount;
|
||||
|
||||
vfs_wait_for_freeze(vp->v_vfsp, SB_FREEZE_WRITE);
|
||||
|
||||
if (XFS_FORCED_SHUTDOWN(mp))
|
||||
return -EIO;
|
||||
|
||||
fs_check_frozen(vp->v_vfsp, SB_FREEZE_WRITE);
|
||||
|
||||
if (ioflags & IO_ISDIRECT) {
|
||||
xfs_buftarg_t *target =
|
||||
(xip->i_d.di_flags & XFS_DIFLAG_REALTIME) ?
|
||||
|
|
|
@ -190,6 +190,9 @@ extern void vfs_init_vnode(bhv_desc_t *, struct bhv_vnode *, bhv_desc_t *, int);
|
|||
extern void vfs_force_shutdown(bhv_desc_t *, int, char *, int);
|
||||
extern void vfs_freeze(bhv_desc_t *);
|
||||
|
||||
#define vfs_test_for_freeze(vfs) ((vfs)->vfs_super->s_frozen)
|
||||
#define vfs_wait_for_freeze(vfs,l) vfs_check_frozen((vfs)->vfs_super, (l))
|
||||
|
||||
typedef struct bhv_module_vfsops {
|
||||
struct bhv_vfsops bhv_common;
|
||||
void * bhv_custom;
|
||||
|
@ -211,8 +214,4 @@ extern void bhv_insert_all_vfsops(struct bhv_vfs *);
|
|||
extern void bhv_remove_all_vfsops(struct bhv_vfs *, int);
|
||||
extern void bhv_remove_vfsops(struct bhv_vfs *, int);
|
||||
|
||||
#define fs_frozen(vfsp) ((vfsp)->vfs_super->s_frozen)
|
||||
#define fs_check_frozen(vfsp, level) \
|
||||
vfs_check_frozen(vfsp->vfs_super, level);
|
||||
|
||||
#endif /* __XFS_VFS_H__ */
|
||||
|
|
|
@ -817,7 +817,7 @@ xfs_log_need_covered(xfs_mount_t *mp)
|
|||
xlog_t *log = mp->m_log;
|
||||
bhv_vfs_t *vfsp = XFS_MTOVFS(mp);
|
||||
|
||||
if (fs_frozen(vfsp) || XFS_FORCED_SHUTDOWN(mp) ||
|
||||
if (vfs_test_for_freeze(vfsp) || XFS_FORCED_SHUTDOWN(mp) ||
|
||||
(vfsp->vfs_flag & VFS_RDONLY))
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -236,11 +236,8 @@ xfs_trans_alloc(
|
|||
xfs_mount_t *mp,
|
||||
uint type)
|
||||
{
|
||||
fs_check_frozen(XFS_MTOVFS(mp), SB_FREEZE_TRANS);
|
||||
atomic_inc(&mp->m_active_trans);
|
||||
|
||||
return (_xfs_trans_alloc(mp, type));
|
||||
|
||||
vfs_wait_for_freeze(XFS_MTOVFS(mp), SB_FREEZE_TRANS);
|
||||
return _xfs_trans_alloc(mp, type);
|
||||
}
|
||||
|
||||
xfs_trans_t *
|
||||
|
@ -250,12 +247,9 @@ _xfs_trans_alloc(
|
|||
{
|
||||
xfs_trans_t *tp;
|
||||
|
||||
ASSERT(xfs_trans_zone != NULL);
|
||||
tp = kmem_zone_zalloc(xfs_trans_zone, KM_SLEEP);
|
||||
atomic_inc(&mp->m_active_trans);
|
||||
|
||||
/*
|
||||
* Initialize the transaction structure.
|
||||
*/
|
||||
tp = kmem_zone_zalloc(xfs_trans_zone, KM_SLEEP);
|
||||
tp->t_magic = XFS_TRANS_MAGIC;
|
||||
tp->t_type = type;
|
||||
tp->t_mountp = mp;
|
||||
|
@ -263,8 +257,7 @@ _xfs_trans_alloc(
|
|||
tp->t_busy_free = XFS_LBC_NUM_SLOTS;
|
||||
XFS_LIC_INIT(&(tp->t_items));
|
||||
XFS_LBC_INIT(&(tp->t_busy));
|
||||
|
||||
return (tp);
|
||||
return tp;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче