Loading fs/xfs/linux-2.6/xfs_lrw.c +2 −2 Original line number Diff line number Diff line Loading @@ -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) ? Loading fs/xfs/linux-2.6/xfs_vfs.h +3 −4 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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__ */ fs/xfs/xfs_log.c +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading fs/xfs/xfs_trans.c +5 −12 Original line number Diff line number Diff line Loading @@ -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 * Loading @@ -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; Loading @@ -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; } /* Loading Loading
fs/xfs/linux-2.6/xfs_lrw.c +2 −2 Original line number Diff line number Diff line Loading @@ -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) ? Loading
fs/xfs/linux-2.6/xfs_vfs.h +3 −4 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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__ */
fs/xfs/xfs_log.c +1 −1 Original line number Diff line number Diff line Loading @@ -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; Loading
fs/xfs/xfs_trans.c +5 −12 Original line number Diff line number Diff line Loading @@ -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 * Loading @@ -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; Loading @@ -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; } /* Loading