提交 34327e13 编写于 作者: N Nathan Scott

[XFS] Cleanup a missed porting conversion, and freezing.

SGI-PV: 953338
SGI-Modid: xfs-linux-melb:xfs-kern:26109a
Signed-off-by: NNathan Scott <nathans@sgi.com>
上级 8285fb58
...@@ -668,11 +668,11 @@ xfs_write( ...@@ -668,11 +668,11 @@ xfs_write(
io = &xip->i_iocore; io = &xip->i_iocore;
mp = io->io_mount; mp = io->io_mount;
vfs_wait_for_freeze(vp->v_vfsp, SB_FREEZE_WRITE);
if (XFS_FORCED_SHUTDOWN(mp)) if (XFS_FORCED_SHUTDOWN(mp))
return -EIO; return -EIO;
fs_check_frozen(vp->v_vfsp, SB_FREEZE_WRITE);
if (ioflags & IO_ISDIRECT) { if (ioflags & IO_ISDIRECT) {
xfs_buftarg_t *target = xfs_buftarg_t *target =
(xip->i_d.di_flags & XFS_DIFLAG_REALTIME) ? (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); ...@@ -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_force_shutdown(bhv_desc_t *, int, char *, int);
extern void vfs_freeze(bhv_desc_t *); 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 { typedef struct bhv_module_vfsops {
struct bhv_vfsops bhv_common; struct bhv_vfsops bhv_common;
void * bhv_custom; void * bhv_custom;
...@@ -211,8 +214,4 @@ extern void bhv_insert_all_vfsops(struct bhv_vfs *); ...@@ -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_all_vfsops(struct bhv_vfs *, int);
extern void bhv_remove_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__ */ #endif /* __XFS_VFS_H__ */
...@@ -817,7 +817,7 @@ xfs_log_need_covered(xfs_mount_t *mp) ...@@ -817,7 +817,7 @@ xfs_log_need_covered(xfs_mount_t *mp)
xlog_t *log = mp->m_log; xlog_t *log = mp->m_log;
bhv_vfs_t *vfsp = XFS_MTOVFS(mp); 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)) (vfsp->vfs_flag & VFS_RDONLY))
return 0; return 0;
......
...@@ -236,11 +236,8 @@ xfs_trans_alloc( ...@@ -236,11 +236,8 @@ xfs_trans_alloc(
xfs_mount_t *mp, xfs_mount_t *mp,
uint type) uint type)
{ {
fs_check_frozen(XFS_MTOVFS(mp), SB_FREEZE_TRANS); vfs_wait_for_freeze(XFS_MTOVFS(mp), SB_FREEZE_TRANS);
atomic_inc(&mp->m_active_trans); return _xfs_trans_alloc(mp, type);
return (_xfs_trans_alloc(mp, type));
} }
xfs_trans_t * xfs_trans_t *
...@@ -250,12 +247,9 @@ _xfs_trans_alloc( ...@@ -250,12 +247,9 @@ _xfs_trans_alloc(
{ {
xfs_trans_t *tp; xfs_trans_t *tp;
ASSERT(xfs_trans_zone != NULL); atomic_inc(&mp->m_active_trans);
tp = kmem_zone_zalloc(xfs_trans_zone, KM_SLEEP);
/* tp = kmem_zone_zalloc(xfs_trans_zone, KM_SLEEP);
* Initialize the transaction structure.
*/
tp->t_magic = XFS_TRANS_MAGIC; tp->t_magic = XFS_TRANS_MAGIC;
tp->t_type = type; tp->t_type = type;
tp->t_mountp = mp; tp->t_mountp = mp;
...@@ -263,8 +257,7 @@ _xfs_trans_alloc( ...@@ -263,8 +257,7 @@ _xfs_trans_alloc(
tp->t_busy_free = XFS_LBC_NUM_SLOTS; tp->t_busy_free = XFS_LBC_NUM_SLOTS;
XFS_LIC_INIT(&(tp->t_items)); XFS_LIC_INIT(&(tp->t_items));
XFS_LBC_INIT(&(tp->t_busy)); XFS_LBC_INIT(&(tp->t_busy));
return tp;
return (tp);
} }
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册