Loading fs/xfs/libxfs/xfs_attr_leaf.h +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ int xfs_attr_shortform_getvalue(struct xfs_da_args *args); int xfs_attr_shortform_to_leaf(struct xfs_da_args *args); int xfs_attr_shortform_remove(struct xfs_da_args *args); int xfs_attr_shortform_allfit(struct xfs_buf *bp, struct xfs_inode *dp); int xfs_attr_shortform_bytesfit(xfs_inode_t *dp, int bytes); int xfs_attr_shortform_bytesfit(struct xfs_inode *dp, int bytes); void xfs_attr_fork_remove(struct xfs_inode *ip, struct xfs_trans *tp); /* Loading fs/xfs/libxfs/xfs_bmap.c +4 −1 Original line number Diff line number Diff line Loading @@ -4902,8 +4902,11 @@ xfs_bmap_del_extent_delay( * sb counters as we might have to borrow some blocks for the * indirect block accounting. */ xfs_trans_reserve_quota_nblks(NULL, ip, -((long)del->br_blockcount), 0, error = xfs_trans_reserve_quota_nblks(NULL, ip, -((long)del->br_blockcount), 0, isrt ? XFS_QMOPT_RES_RTBLKS : XFS_QMOPT_RES_REGBLKS); if (error) return error; ip->i_delayed_blks -= del->br_blockcount; if (whichfork == XFS_COW_FORK) Loading fs/xfs/libxfs/xfs_dir2.h +5 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,9 @@ extern int xfs_dir2_isleaf(struct xfs_da_args *args, int *r); extern int xfs_dir2_shrink_inode(struct xfs_da_args *args, xfs_dir2_db_t db, struct xfs_buf *bp); extern void xfs_dir2_data_freescan_int(struct xfs_da_geometry *geo, const struct xfs_dir_ops *ops, struct xfs_dir2_data_hdr *hdr, int *loghead); extern void xfs_dir2_data_freescan(struct xfs_inode *dp, struct xfs_dir2_data_hdr *hdr, int *loghead); extern void xfs_dir2_data_log_entry(struct xfs_da_args *args, Loading @@ -177,6 +180,8 @@ extern struct xfs_dir2_data_free *xfs_dir2_data_freefind( struct xfs_dir2_data_hdr *hdr, struct xfs_dir2_data_free *bf, struct xfs_dir2_data_unused *dup); extern int xfs_dir_ino_validate(struct xfs_mount *mp, xfs_ino_t ino); extern const struct xfs_buf_ops xfs_dir3_block_buf_ops; extern const struct xfs_buf_ops xfs_dir3_leafn_buf_ops; extern const struct xfs_buf_ops xfs_dir3_leaf1_buf_ops; Loading fs/xfs/libxfs/xfs_dir2_data.c +17 −7 Original line number Diff line number Diff line Loading @@ -505,8 +505,9 @@ xfs_dir2_data_freeremove( * Given a data block, reconstruct its bestfree map. */ void xfs_dir2_data_freescan( struct xfs_inode *dp, xfs_dir2_data_freescan_int( struct xfs_da_geometry *geo, const struct xfs_dir_ops *ops, struct xfs_dir2_data_hdr *hdr, int *loghead) { Loading @@ -516,7 +517,6 @@ xfs_dir2_data_freescan( struct xfs_dir2_data_free *bf; char *endp; /* end of block's data */ char *p; /* current entry pointer */ struct xfs_da_geometry *geo = dp->i_mount->m_dir_geo; ASSERT(hdr->magic == cpu_to_be32(XFS_DIR2_DATA_MAGIC) || hdr->magic == cpu_to_be32(XFS_DIR3_DATA_MAGIC) || Loading @@ -526,13 +526,13 @@ xfs_dir2_data_freescan( /* * Start by clearing the table. */ bf = dp->d_ops->data_bestfree_p(hdr); bf = ops->data_bestfree_p(hdr); memset(bf, 0, sizeof(*bf) * XFS_DIR2_DATA_FD_COUNT); *loghead = 1; /* * Set up pointers. */ p = (char *)dp->d_ops->data_entry_p(hdr); p = (char *)ops->data_entry_p(hdr); if (hdr->magic == cpu_to_be32(XFS_DIR2_BLOCK_MAGIC) || hdr->magic == cpu_to_be32(XFS_DIR3_BLOCK_MAGIC)) { btp = xfs_dir2_block_tail_p(geo, hdr); Loading @@ -559,10 +559,20 @@ xfs_dir2_data_freescan( else { dep = (xfs_dir2_data_entry_t *)p; ASSERT((char *)dep - (char *)hdr == be16_to_cpu(*dp->d_ops->data_entry_tag_p(dep))); p += dp->d_ops->data_entsize(dep->namelen); be16_to_cpu(*ops->data_entry_tag_p(dep))); p += ops->data_entsize(dep->namelen); } } } void xfs_dir2_data_freescan( struct xfs_inode *dp, struct xfs_dir2_data_hdr *hdr, int *loghead) { return xfs_dir2_data_freescan_int(dp->i_mount->m_dir_geo, dp->d_ops, hdr, loghead); } /* Loading fs/xfs/libxfs/xfs_dir2_priv.h +0 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ struct dir_context; /* xfs_dir2.c */ extern int xfs_dir_ino_validate(struct xfs_mount *mp, xfs_ino_t ino); extern int xfs_dir2_grow_inode(struct xfs_da_args *args, int space, xfs_dir2_db_t *dbp); extern int xfs_dir_cilookup_result(struct xfs_da_args *args, Loading Loading
fs/xfs/libxfs/xfs_attr_leaf.h +1 −1 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ int xfs_attr_shortform_getvalue(struct xfs_da_args *args); int xfs_attr_shortform_to_leaf(struct xfs_da_args *args); int xfs_attr_shortform_remove(struct xfs_da_args *args); int xfs_attr_shortform_allfit(struct xfs_buf *bp, struct xfs_inode *dp); int xfs_attr_shortform_bytesfit(xfs_inode_t *dp, int bytes); int xfs_attr_shortform_bytesfit(struct xfs_inode *dp, int bytes); void xfs_attr_fork_remove(struct xfs_inode *ip, struct xfs_trans *tp); /* Loading
fs/xfs/libxfs/xfs_bmap.c +4 −1 Original line number Diff line number Diff line Loading @@ -4902,8 +4902,11 @@ xfs_bmap_del_extent_delay( * sb counters as we might have to borrow some blocks for the * indirect block accounting. */ xfs_trans_reserve_quota_nblks(NULL, ip, -((long)del->br_blockcount), 0, error = xfs_trans_reserve_quota_nblks(NULL, ip, -((long)del->br_blockcount), 0, isrt ? XFS_QMOPT_RES_RTBLKS : XFS_QMOPT_RES_REGBLKS); if (error) return error; ip->i_delayed_blks -= del->br_blockcount; if (whichfork == XFS_COW_FORK) Loading
fs/xfs/libxfs/xfs_dir2.h +5 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,9 @@ extern int xfs_dir2_isleaf(struct xfs_da_args *args, int *r); extern int xfs_dir2_shrink_inode(struct xfs_da_args *args, xfs_dir2_db_t db, struct xfs_buf *bp); extern void xfs_dir2_data_freescan_int(struct xfs_da_geometry *geo, const struct xfs_dir_ops *ops, struct xfs_dir2_data_hdr *hdr, int *loghead); extern void xfs_dir2_data_freescan(struct xfs_inode *dp, struct xfs_dir2_data_hdr *hdr, int *loghead); extern void xfs_dir2_data_log_entry(struct xfs_da_args *args, Loading @@ -177,6 +180,8 @@ extern struct xfs_dir2_data_free *xfs_dir2_data_freefind( struct xfs_dir2_data_hdr *hdr, struct xfs_dir2_data_free *bf, struct xfs_dir2_data_unused *dup); extern int xfs_dir_ino_validate(struct xfs_mount *mp, xfs_ino_t ino); extern const struct xfs_buf_ops xfs_dir3_block_buf_ops; extern const struct xfs_buf_ops xfs_dir3_leafn_buf_ops; extern const struct xfs_buf_ops xfs_dir3_leaf1_buf_ops; Loading
fs/xfs/libxfs/xfs_dir2_data.c +17 −7 Original line number Diff line number Diff line Loading @@ -505,8 +505,9 @@ xfs_dir2_data_freeremove( * Given a data block, reconstruct its bestfree map. */ void xfs_dir2_data_freescan( struct xfs_inode *dp, xfs_dir2_data_freescan_int( struct xfs_da_geometry *geo, const struct xfs_dir_ops *ops, struct xfs_dir2_data_hdr *hdr, int *loghead) { Loading @@ -516,7 +517,6 @@ xfs_dir2_data_freescan( struct xfs_dir2_data_free *bf; char *endp; /* end of block's data */ char *p; /* current entry pointer */ struct xfs_da_geometry *geo = dp->i_mount->m_dir_geo; ASSERT(hdr->magic == cpu_to_be32(XFS_DIR2_DATA_MAGIC) || hdr->magic == cpu_to_be32(XFS_DIR3_DATA_MAGIC) || Loading @@ -526,13 +526,13 @@ xfs_dir2_data_freescan( /* * Start by clearing the table. */ bf = dp->d_ops->data_bestfree_p(hdr); bf = ops->data_bestfree_p(hdr); memset(bf, 0, sizeof(*bf) * XFS_DIR2_DATA_FD_COUNT); *loghead = 1; /* * Set up pointers. */ p = (char *)dp->d_ops->data_entry_p(hdr); p = (char *)ops->data_entry_p(hdr); if (hdr->magic == cpu_to_be32(XFS_DIR2_BLOCK_MAGIC) || hdr->magic == cpu_to_be32(XFS_DIR3_BLOCK_MAGIC)) { btp = xfs_dir2_block_tail_p(geo, hdr); Loading @@ -559,10 +559,20 @@ xfs_dir2_data_freescan( else { dep = (xfs_dir2_data_entry_t *)p; ASSERT((char *)dep - (char *)hdr == be16_to_cpu(*dp->d_ops->data_entry_tag_p(dep))); p += dp->d_ops->data_entsize(dep->namelen); be16_to_cpu(*ops->data_entry_tag_p(dep))); p += ops->data_entsize(dep->namelen); } } } void xfs_dir2_data_freescan( struct xfs_inode *dp, struct xfs_dir2_data_hdr *hdr, int *loghead) { return xfs_dir2_data_freescan_int(dp->i_mount->m_dir_geo, dp->d_ops, hdr, loghead); } /* Loading
fs/xfs/libxfs/xfs_dir2_priv.h +0 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ struct dir_context; /* xfs_dir2.c */ extern int xfs_dir_ino_validate(struct xfs_mount *mp, xfs_ino_t ino); extern int xfs_dir2_grow_inode(struct xfs_da_args *args, int space, xfs_dir2_db_t *dbp); extern int xfs_dir_cilookup_result(struct xfs_da_args *args, Loading