/fs/xfs/ |
D | xfs_mount.c | 71 struct xfs_mount *mp) in xfs_uuid_mount() argument 73 uuid_t *uuid = &mp->m_sb.sb_uuid; in xfs_uuid_mount() 77 uuid_copy(&mp->m_super->s_uuid, uuid); in xfs_uuid_mount() 79 if (mp->m_flags & XFS_MOUNT_NOUUID) in xfs_uuid_mount() 83 xfs_warn(mp, "Filesystem has null UUID - can't mount"); in xfs_uuid_mount() 110 xfs_warn(mp, "Filesystem has duplicate UUID %pU - can't mount", uuid); in xfs_uuid_mount() 116 struct xfs_mount *mp) in xfs_uuid_unmount() argument 118 uuid_t *uuid = &mp->m_sb.sb_uuid; in xfs_uuid_unmount() 121 if (mp->m_flags & XFS_MOUNT_NOUUID) in xfs_uuid_unmount() 153 xfs_mount_t *mp) in xfs_free_perag() argument [all …]
|
D | xfs_super.c | 190 struct xfs_mount *mp, in xfs_parseargs() argument 193 const struct super_block *sb = mp->m_super; in xfs_parseargs() 205 mp->m_fsname = kstrndup(sb->s_id, MAXNAMELEN, GFP_KERNEL); in xfs_parseargs() 206 if (!mp->m_fsname) in xfs_parseargs() 208 mp->m_fsname_len = strlen(mp->m_fsname) + 1; in xfs_parseargs() 214 mp->m_flags |= XFS_MOUNT_RDONLY; in xfs_parseargs() 216 mp->m_flags |= XFS_MOUNT_DIRSYNC; in xfs_parseargs() 218 mp->m_flags |= XFS_MOUNT_WSYNC; in xfs_parseargs() 224 mp->m_flags |= XFS_MOUNT_BARRIER; in xfs_parseargs() 225 mp->m_flags |= XFS_MOUNT_COMPAT_IOSIZE; in xfs_parseargs() [all …]
|
D | xfs_fsops.c | 54 xfs_mount_t *mp, in xfs_fs_geometry() argument 61 geo->blocksize = mp->m_sb.sb_blocksize; in xfs_fs_geometry() 62 geo->rtextsize = mp->m_sb.sb_rextsize; in xfs_fs_geometry() 63 geo->agblocks = mp->m_sb.sb_agblocks; in xfs_fs_geometry() 64 geo->agcount = mp->m_sb.sb_agcount; in xfs_fs_geometry() 65 geo->logblocks = mp->m_sb.sb_logblocks; in xfs_fs_geometry() 66 geo->sectsize = mp->m_sb.sb_sectsize; in xfs_fs_geometry() 67 geo->inodesize = mp->m_sb.sb_inodesize; in xfs_fs_geometry() 68 geo->imaxpct = mp->m_sb.sb_imax_pct; in xfs_fs_geometry() 69 geo->datablocks = mp->m_sb.sb_dblocks; in xfs_fs_geometry() [all …]
|
D | xfs_qm.c | 64 struct xfs_mount *mp, in xfs_qm_dquot_walk() argument 69 struct xfs_quotainfo *qi = mp->m_quotainfo; in xfs_qm_dquot_walk() 137 struct xfs_mount *mp = dqp->q_mount; in xfs_qm_dqpurge() local 138 struct xfs_quotainfo *qi = mp->m_quotainfo; in xfs_qm_dqpurge() 165 xfs_warn(mp, "%s: dquot %p flush failed", in xfs_qm_dqpurge() 175 ASSERT(XFS_FORCED_SHUTDOWN(mp) || in xfs_qm_dqpurge() 191 XFS_STATS_DEC(mp, xs_qm_dquot_unused); in xfs_qm_dqpurge() 202 struct xfs_mount *mp, in xfs_qm_dqpurge_all() argument 206 xfs_qm_dquot_walk(mp, XFS_DQ_USER, xfs_qm_dqpurge, NULL); in xfs_qm_dqpurge_all() 208 xfs_qm_dquot_walk(mp, XFS_DQ_GROUP, xfs_qm_dqpurge, NULL); in xfs_qm_dqpurge_all() [all …]
|
D | xfs_rtalloc.c | 49 xfs_mount_t *mp, /* file system mount structure */ in xfs_rtget_summary() argument 57 return xfs_rtmodify_summary_int(mp, tp, log, bbno, 0, rbpp, rsb, sum); in xfs_rtget_summary() 66 xfs_mount_t *mp, /* file system mount structure */ in xfs_rtany_summary() argument 86 error = xfs_rtget_summary(mp, tp, log, bbno, rbpp, rsb, &sum); in xfs_rtany_summary() 153 xfs_mount_t *mp, /* file system mount point */ in xfs_rtallocate_range() argument 171 error = xfs_rtfind_back(mp, tp, start, 0, &preblock); in xfs_rtallocate_range() 178 error = xfs_rtfind_forw(mp, tp, end, mp->m_sb.sb_rextents - 1, in xfs_rtallocate_range() 187 error = xfs_rtmodify_summary(mp, tp, in xfs_rtallocate_range() 189 XFS_BITTOBLOCK(mp, preblock), -1, rbpp, rsb); in xfs_rtallocate_range() 198 error = xfs_rtmodify_summary(mp, tp, in xfs_rtallocate_range() [all …]
|
D | xfs_qm_syscalls.c | 52 xfs_mount_t *mp, in xfs_qm_scall_quotaoff() argument 55 struct xfs_quotainfo *q = mp->m_quotainfo; in xfs_qm_scall_quotaoff() 66 if ((mp->m_qflags & flags) == 0) in xfs_qm_scall_quotaoff() 85 mp->m_qflags &= ~(flags); in xfs_qm_scall_quotaoff() 87 spin_lock(&mp->m_sb_lock); in xfs_qm_scall_quotaoff() 88 mp->m_sb.sb_qflags = mp->m_qflags; in xfs_qm_scall_quotaoff() 89 spin_unlock(&mp->m_sb_lock); in xfs_qm_scall_quotaoff() 93 return xfs_sync_sb(mp, false); in xfs_qm_scall_quotaoff() 123 if ((mp->m_qflags & flags) == 0) in xfs_qm_scall_quotaoff() 131 error = xfs_qm_log_quotaoff(mp, &qoffstart, flags); in xfs_qm_scall_quotaoff() [all …]
|
D | xfs_quotaops.c | 35 struct xfs_mount *mp, in xfs_qm_fill_state() argument 39 struct xfs_quotainfo *q = mp->m_quotainfo; in xfs_qm_fill_state() 46 if (xfs_iget(mp, NULL, ino, 0, 0, &ip)) in xfs_qm_fill_state() 72 struct xfs_mount *mp = XFS_M(sb); in xfs_fs_get_quota_state() local 73 struct xfs_quotainfo *q = mp->m_quotainfo; in xfs_fs_get_quota_state() 76 if (!XFS_IS_QUOTA_RUNNING(mp)) in xfs_fs_get_quota_state() 79 if (XFS_IS_UQUOTA_RUNNING(mp)) in xfs_fs_get_quota_state() 81 if (XFS_IS_UQUOTA_ENFORCED(mp)) in xfs_fs_get_quota_state() 83 if (XFS_IS_GQUOTA_RUNNING(mp)) in xfs_fs_get_quota_state() 85 if (XFS_IS_GQUOTA_ENFORCED(mp)) in xfs_fs_get_quota_state() [all …]
|
D | xfs_discard.c | 37 struct xfs_mount *mp, in xfs_trim_extents() argument 44 struct block_device *bdev = mp->m_ddev_targp->bt_bdev; in xfs_trim_extents() 51 pag = xfs_perag_get(mp, agno); in xfs_trim_extents() 58 xfs_log_force(mp, XFS_LOG_SYNC); in xfs_trim_extents() 60 error = xfs_alloc_read_agf(mp, NULL, agno, 0, &agbp); in xfs_trim_extents() 64 cur = xfs_allocbt_init_cursor(mp, NULL, agbp, agno, XFS_BTNUM_CNT); in xfs_trim_extents() 87 XFS_WANT_CORRUPTED_GOTO(mp, i == 1, out_del_cursor); in xfs_trim_extents() 95 dbno = XFS_AGB_TO_DADDR(mp, agno, fbno); in xfs_trim_extents() 96 dlen = XFS_FSB_TO_BB(mp, flen); in xfs_trim_extents() 102 trace_xfs_discard_toosmall(mp, agno, fbno, flen); in xfs_trim_extents() [all …]
|
D | xfs_iomap.c | 45 #define XFS_WRITEIO_ALIGN(mp,off) (((off) >> mp->m_writeio_log) \ argument 46 << mp->m_writeio_log) 54 struct xfs_mount *mp = ip->i_mount; in xfs_bmbt_to_iomap() local 69 iomap->offset = XFS_FSB_TO_B(mp, imap->br_startoff); in xfs_bmbt_to_iomap() 70 iomap->length = XFS_FSB_TO_B(mp, imap->br_blockcount); in xfs_bmbt_to_iomap() 80 struct xfs_mount *mp = ip->i_mount; in xfs_eof_alignment() local 92 if (mp->m_swidth && (mp->m_flags & XFS_MOUNT_SWALLOC)) in xfs_eof_alignment() 93 align = mp->m_swidth; in xfs_eof_alignment() 94 else if (mp->m_dalign) in xfs_eof_alignment() 95 align = mp->m_dalign; in xfs_eof_alignment() [all …]
|
D | xfs_icache.c | 46 struct xfs_mount *mp, in xfs_inode_alloc() argument 59 if (inode_init_always(mp->m_super, VFS_I(ip))) { in xfs_inode_alloc() 67 XFS_STATS_INC(mp, vn_active); in xfs_inode_alloc() 74 ip->i_mount = mp; in xfs_inode_alloc() 157 struct xfs_mount *mp) in xfs_reclaim_work_queue() argument 161 if (radix_tree_tagged(&mp->m_perag_tree, XFS_ICI_RECLAIM_TAG)) { in xfs_reclaim_work_queue() 162 queue_delayed_work(mp->m_reclaim_workqueue, &mp->m_reclaim_work, in xfs_reclaim_work_queue() 179 struct xfs_mount *mp = container_of(to_delayed_work(work), in xfs_reclaim_worker() local 182 xfs_reclaim_inodes(mp, SYNC_TRYLOCK); in xfs_reclaim_worker() 183 xfs_reclaim_work_queue(mp); in xfs_reclaim_worker() [all …]
|
D | xfs_filestream.c | 85 xfs_mount_t *mp, in xfs_filestream_peek_ag() argument 91 pag = xfs_perag_get(mp, agno); in xfs_filestream_peek_ag() 99 xfs_mount_t *mp, in xfs_filestream_get_ag() argument 105 pag = xfs_perag_get(mp, agno); in xfs_filestream_get_ag() 113 xfs_mount_t *mp, in xfs_filestream_put_ag() argument 118 pag = xfs_perag_get(mp, agno); in xfs_filestream_put_ag() 149 struct xfs_mount *mp = ip->i_mount; in xfs_filestream_pick_ag() local 159 minfree = mp->m_sb.sb_agblocks / 50; in xfs_filestream_pick_ag() 170 pag = xfs_perag_get(mp, ag); in xfs_filestream_pick_ag() 173 err = xfs_alloc_pagf_init(mp, NULL, ag, trylock); in xfs_filestream_pick_ag() [all …]
|
D | xfs_error.h | 23 extern void xfs_error_report(const char *tag, int level, struct xfs_mount *mp, 26 struct xfs_mount *mp, void *p, const char *filename, 30 #define XFS_ERROR_REPORT(e, lvl, mp) \ argument 31 xfs_error_report(e, lvl, mp, __FILE__, __LINE__, __return_address) 32 #define XFS_CORRUPTION_ERROR(e, lvl, mp, mem) \ argument 33 xfs_corruption_error(e, lvl, mp, mem, \ 43 #define XFS_WANT_CORRUPTED_GOTO(mp, x, l) \ argument 49 XFS_ERRLEVEL_LOW, mp); \ 55 #define XFS_WANT_CORRUPTED_RETURN(mp, x) \ argument 61 XFS_ERRLEVEL_LOW, mp); \ [all …]
|
D | xfs_error.c | 89 struct xfs_mount *mp = to_mp(kobject); in xfs_errortag_attr_store() local 102 ret = xfs_errortag_set(mp, xfs_attr->tag, val); in xfs_errortag_attr_store() 114 struct xfs_mount *mp = to_mp(kobject); in xfs_errortag_attr_show() local 118 xfs_errortag_get(mp, xfs_attr->tag)); in xfs_errortag_attr_show() 210 struct xfs_mount *mp) in xfs_errortag_init() argument 212 mp->m_errortag = kmem_zalloc(sizeof(unsigned int) * XFS_ERRTAG_MAX, in xfs_errortag_init() 214 if (!mp->m_errortag) in xfs_errortag_init() 217 return xfs_sysfs_init(&mp->m_errortag_kobj, &xfs_errortag_ktype, in xfs_errortag_init() 218 &mp->m_kobj, "errortag"); in xfs_errortag_init() 223 struct xfs_mount *mp) in xfs_errortag_del() argument [all …]
|
D | xfs_qm_bhv.c | 72 xfs_mount_t *mp = ip->i_mount; in xfs_qm_statvfs() local 75 if (!xfs_qm_dqget(mp, NULL, xfs_get_projid(ip), XFS_DQ_PROJ, 0, &dqp)) { in xfs_qm_statvfs() 83 xfs_mount_t *mp, in xfs_qm_newmount() argument 90 quotaondisk = xfs_sb_version_hasquota(&mp->m_sb) && in xfs_qm_newmount() 91 (mp->m_sb.sb_qflags & XFS_ALL_QUOTA_ACCT); in xfs_qm_newmount() 94 uquotaondisk = mp->m_sb.sb_qflags & XFS_UQUOTA_ACCT; in xfs_qm_newmount() 95 pquotaondisk = mp->m_sb.sb_qflags & XFS_PQUOTA_ACCT; in xfs_qm_newmount() 96 gquotaondisk = mp->m_sb.sb_qflags & XFS_GQUOTA_ACCT; in xfs_qm_newmount() 106 if (((uquotaondisk && !XFS_IS_UQUOTA_ON(mp)) || in xfs_qm_newmount() 107 (!uquotaondisk && XFS_IS_UQUOTA_ON(mp)) || in xfs_qm_newmount() [all …]
|
/fs/xfs/libxfs/ |
D | xfs_trans_resv.c | 79 struct xfs_mount *mp, in xfs_allocfree_log_count() argument 84 blocks = num_ops * 2 * (2 * mp->m_ag_maxlevels - 1); in xfs_allocfree_log_count() 85 if (xfs_sb_version_hasrmapbt(&mp->m_sb)) in xfs_allocfree_log_count() 86 blocks += num_ops * (2 * mp->m_rmap_maxlevels - 1); in xfs_allocfree_log_count() 87 if (xfs_sb_version_hasreflink(&mp->m_sb)) in xfs_allocfree_log_count() 88 blocks += num_ops * (2 * mp->m_refc_maxlevels - 1); in xfs_allocfree_log_count() 124 struct xfs_mount *mp, in xfs_calc_inode_res() argument 130 mp->m_sb.sb_inodesize + in xfs_calc_inode_res() 131 2 * XFS_BMBT_BLOCK_LEN(mp)); in xfs_calc_inode_res() 156 struct xfs_mount *mp, in xfs_calc_finobt_res() argument [all …]
|
D | xfs_trans_space.h | 26 #define XFS_MAX_CONTIG_RMAPS_PER_BLOCK(mp) \ argument 27 (((mp)->m_rmap_mxr[0]) - ((mp)->m_rmap_mnr[0])) 30 #define XFS_RMAPADD_SPACE_RES(mp) ((mp)->m_rmap_maxlevels) argument 33 #define XFS_NRMAPADD_SPACE_RES(mp, b)\ argument 34 (((b + XFS_MAX_CONTIG_RMAPS_PER_BLOCK(mp) - 1) / \ 35 XFS_MAX_CONTIG_RMAPS_PER_BLOCK(mp)) * \ 36 XFS_RMAPADD_SPACE_RES(mp)) 38 #define XFS_MAX_CONTIG_EXTENTS_PER_BLOCK(mp) \ argument 39 (((mp)->m_alloc_mxr[0]) - ((mp)->m_alloc_mnr[0])) 40 #define XFS_EXTENTADD_SPACE_RES(mp,w) (XFS_BM_MAXLEVELS(mp,w) - 1) argument [all …]
|
D | xfs_sb.c | 55 struct xfs_mount *mp, in xfs_perag_get() argument 62 pag = radix_tree_lookup(&mp->m_perag_tree, agno); in xfs_perag_get() 68 trace_xfs_perag_get(mp, agno, ref, _RET_IP_); in xfs_perag_get() 77 struct xfs_mount *mp, in xfs_perag_get_tag() argument 86 found = radix_tree_gang_lookup_tag(&mp->m_perag_tree, in xfs_perag_get_tag() 94 trace_xfs_perag_get_tag(mp, pag->pag_agno, ref, _RET_IP_); in xfs_perag_get_tag() 114 xfs_mount_t *mp, in xfs_mount_validate_sb() argument 120 xfs_warn(mp, "bad magic number"); in xfs_mount_validate_sb() 126 xfs_warn(mp, "bad version"); in xfs_mount_validate_sb() 138 xfs_warn(mp, in xfs_mount_validate_sb() [all …]
|
D | xfs_ialloc.c | 51 struct xfs_mount *mp) in xfs_ialloc_cluster_alignment() argument 53 if (xfs_sb_version_hasalign(&mp->m_sb) && in xfs_ialloc_cluster_alignment() 54 mp->m_sb.sb_inoalignmt >= xfs_icluster_size_fsb(mp)) in xfs_ialloc_cluster_alignment() 55 return mp->m_sb.sb_inoalignmt; in xfs_ialloc_cluster_alignment() 104 struct xfs_mount *mp, in xfs_inobt_btrec_to_irec() argument 109 if (xfs_sb_version_hassparseinodes(&mp->m_sb)) { in xfs_inobt_btrec_to_irec() 171 struct xfs_mount *mp, in xfs_inobt_insert() argument 185 cur = xfs_inobt_init_cursor(mp, tp, agbp, agno, btnum); in xfs_inobt_insert() 262 struct xfs_mount *mp, in xfs_ialloc_inode_init() argument 284 blks_per_cluster = xfs_icluster_size_fsb(mp); in xfs_ialloc_inode_init() [all …]
|
D | xfs_format.h | 570 #define XFS_SB_BLOCK(mp) XFS_HDR_BLOCK(mp, XFS_SB_DADDR) argument 573 #define XFS_HDR_BLOCK(mp,d) ((xfs_agblock_t)XFS_BB_TO_FSBT(mp,d)) argument 574 #define XFS_DADDR_TO_FSB(mp,d) XFS_AGB_TO_FSB(mp, \ argument 575 xfs_daddr_to_agno(mp,d), xfs_daddr_to_agbno(mp,d)) 576 #define XFS_FSB_TO_DADDR(mp,fsbno) XFS_AGB_TO_DADDR(mp, \ argument 577 XFS_FSB_TO_AGNO(mp,fsbno), XFS_FSB_TO_AGBNO(mp,fsbno)) 582 #define XFS_FSS_TO_BB(mp,sec) ((sec) << (mp)->m_sectbb_log) argument 587 #define XFS_FSB_TO_BB(mp,fsbno) ((fsbno) << (mp)->m_blkbb_log) argument 588 #define XFS_BB_TO_FSB(mp,bb) \ argument 589 (((bb) + (XFS_FSB_TO_BB(mp,1) - 1)) >> (mp)->m_blkbb_log) [all …]
|
D | xfs_quota_defs.h | 72 #define XFS_DQUOT_LOGRES(mp) \ argument 75 #define XFS_IS_QUOTA_RUNNING(mp) ((mp)->m_qflags & XFS_ALL_QUOTA_ACCT) argument 76 #define XFS_IS_UQUOTA_RUNNING(mp) ((mp)->m_qflags & XFS_UQUOTA_ACCT) argument 77 #define XFS_IS_PQUOTA_RUNNING(mp) ((mp)->m_qflags & XFS_PQUOTA_ACCT) argument 78 #define XFS_IS_GQUOTA_RUNNING(mp) ((mp)->m_qflags & XFS_GQUOTA_ACCT) argument 79 #define XFS_IS_UQUOTA_ENFORCED(mp) ((mp)->m_qflags & XFS_UQUOTA_ENFD) argument 80 #define XFS_IS_GQUOTA_ENFORCED(mp) ((mp)->m_qflags & XFS_GQUOTA_ENFD) argument 81 #define XFS_IS_PQUOTA_ENFORCED(mp) ((mp)->m_qflags & XFS_PQUOTA_ENFD) argument 98 #define XFS_IS_QUOTA_ON(mp) ((mp)->m_qflags & (XFS_UQUOTA_ACTIVE | \ argument 101 #define XFS_IS_UQUOTA_ON(mp) ((mp)->m_qflags & XFS_UQUOTA_ACTIVE) argument [all …]
|
D | xfs_rtbitmap.c | 75 xfs_mount_t *mp, /* file system mount structure */ in xfs_rtbuf_get() argument 87 ip = issum ? mp->m_rsumip : mp->m_rbmip; in xfs_rtbuf_get() 94 error = xfs_trans_read_buf(mp, tp, mp->m_ddev_targp, in xfs_rtbuf_get() 95 XFS_FSB_TO_DADDR(mp, map.br_startblock), in xfs_rtbuf_get() 96 mp->m_bsize, 0, &bp, &xfs_rtbuf_ops); in xfs_rtbuf_get() 112 xfs_mount_t *mp, /* file system mount point */ in xfs_rtfind_back() argument 135 block = XFS_BITTOBLOCK(mp, start); in xfs_rtfind_back() 136 error = xfs_rtbuf_get(mp, tp, block, 0, &bp); in xfs_rtfind_back() 144 word = XFS_BITTOWORD(mp, start); in xfs_rtfind_back() 188 error = xfs_rtbuf_get(mp, tp, --block, 0, &bp); in xfs_rtfind_back() [all …]
|
D | xfs_alloc.c | 62 struct xfs_mount *mp) in xfs_agfl_size() argument 64 unsigned int size = mp->m_sb.sb_sectsize; in xfs_agfl_size() 66 if (xfs_sb_version_hascrc(&mp->m_sb)) in xfs_agfl_size() 74 struct xfs_mount *mp) in xfs_refc_block() argument 76 if (xfs_sb_version_hasrmapbt(&mp->m_sb)) in xfs_refc_block() 77 return XFS_RMAP_BLOCK(mp) + 1; in xfs_refc_block() 78 if (xfs_sb_version_hasfinobt(&mp->m_sb)) in xfs_refc_block() 79 return XFS_FIBT_BLOCK(mp) + 1; in xfs_refc_block() 80 return XFS_IBT_BLOCK(mp) + 1; in xfs_refc_block() 85 struct xfs_mount *mp) in xfs_prealloc_blocks() argument [all …]
|
D | xfs_log_rlimit.c | 38 struct xfs_mount *mp) in xfs_log_calc_max_attrsetm_res() argument 43 size = xfs_attr_leaf_entsize_local_max(mp->m_attr_geo->blksize) - in xfs_log_calc_max_attrsetm_res() 45 nblks = XFS_DAENTER_SPACE_RES(mp, XFS_ATTR_FORK); in xfs_log_calc_max_attrsetm_res() 46 nblks += XFS_B_TO_FSB(mp, size); in xfs_log_calc_max_attrsetm_res() 47 nblks += XFS_NEXTENTADD_SPACE_RES(mp, size, XFS_ATTR_FORK); in xfs_log_calc_max_attrsetm_res() 49 return M_RES(mp)->tr_attrsetm.tr_logres + in xfs_log_calc_max_attrsetm_res() 50 M_RES(mp)->tr_attrsetrt.tr_logres * nblks; in xfs_log_calc_max_attrsetm_res() 60 struct xfs_mount *mp, in xfs_log_get_max_trans_res() argument 68 attr_space = xfs_log_calc_max_attrsetm_res(mp); in xfs_log_get_max_trans_res() 70 resp = (struct xfs_trans_res *)M_RES(mp); in xfs_log_get_max_trans_res() [all …]
|
/fs/jfs/ |
D | jfs_metapage.c | 44 #define metapage_locked(mp) test_bit(META_locked, &(mp)->flag) argument 45 #define trylock_metapage(mp) test_and_set_bit_lock(META_locked, &(mp)->flag) argument 47 static inline void unlock_metapage(struct metapage *mp) in unlock_metapage() argument 49 clear_bit_unlock(META_locked, &mp->flag); in unlock_metapage() 50 wake_up(&mp->wait); in unlock_metapage() 53 static inline void __lock_metapage(struct metapage *mp) in __lock_metapage() argument 57 add_wait_queue_exclusive(&mp->wait, &wait); in __lock_metapage() 60 if (metapage_locked(mp)) { in __lock_metapage() 61 unlock_page(mp->page); in __lock_metapage() 63 lock_page(mp->page); in __lock_metapage() [all …]
|
D | jfs_metapage.h | 58 #define mark_metapage_dirty(mp) set_bit(META_dirty, &(mp)->flag) argument 85 static inline void write_metapage(struct metapage *mp) in write_metapage() argument 87 set_bit(META_dirty, &mp->flag); in write_metapage() 88 release_metapage(mp); in write_metapage() 91 static inline void flush_metapage(struct metapage *mp) in flush_metapage() argument 93 set_bit(META_sync, &mp->flag); in flush_metapage() 94 write_metapage(mp); in flush_metapage() 97 static inline void discard_metapage(struct metapage *mp) in discard_metapage() argument 99 clear_bit(META_dirty, &mp->flag); in discard_metapage() 100 set_bit(META_discard, &mp->flag); in discard_metapage() [all …]
|