return;
}
-int
-libxfs_trans_iget(
- xfs_mount_t *mp,
- xfs_trans_t *tp,
- xfs_ino_t ino,
- uint flags,
- uint lock_flags,
- xfs_inode_t **ipp)
-{
- int error;
- xfs_inode_t *ip;
- xfs_inode_log_item_t *iip;
-
- if (tp == NULL)
- return libxfs_iget(mp, tp, ino, lock_flags, ipp,
- &xfs_default_ifork_ops);
-
- error = libxfs_iget(mp, tp, ino, lock_flags, &ip,
- &xfs_default_ifork_ops);
- if (error)
- return error;
- ASSERT(ip != NULL);
-
- if (ip->i_itemp == NULL)
- xfs_inode_item_init(ip, mp);
- iip = ip->i_itemp;
- xfs_trans_add_item(tp, (xfs_log_item_t *)(iip));
-
- /* initialize i_transp so we can find it incore */
- ip->i_transp = tp;
-
- *ipp = ip;
- return 0;
-}
-
void
libxfs_trans_ijoin(
xfs_trans_t *tp,
if (i)
res_failed(i);
- error = -libxfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0, 0, &ip);
+ error = -libxfs_iget(mp, tp, mp->m_sb.sb_rbmino, 0, &ip,
+ &xfs_default_ifork_ops);
if (error) {
do_error(
_("couldn't iget realtime bitmap inode -- error - %d\n"),
/*
* commit changes
*/
+ libxfs_trans_ijoin(tp, ip, 0);
libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
error = -libxfs_trans_commit(tp);
if (error)
if (error)
res_failed(error);
- error = -libxfs_trans_iget(mp, tp, mp->m_sb.sb_rbmino, 0, 0, &ip);
+ error = -libxfs_iget(mp, tp, mp->m_sb.sb_rbmino, 0, &ip,
+ &xfs_default_ifork_ops);
if (error) {
do_error(
_("couldn't iget realtime bitmap inode -- error - %d\n"),
/*
* fill the file one block at a time
*/
+ libxfs_trans_ijoin(tp, ip, 0);
nmap = 1;
error = -libxfs_bmapi_write(tp, ip, bno, 1, 0, 1, &map, &nmap);
if (error || nmap != 1) {
if (error)
res_failed(error);
- error = -libxfs_trans_iget(mp, tp, mp->m_sb.sb_rsumino, 0, 0, &ip);
+ error = -libxfs_iget(mp, tp, mp->m_sb.sb_rsumino, 0, &ip,
+ &xfs_default_ifork_ops);
if (error) {
do_error(
_("couldn't iget realtime summary inode -- error - %d\n"),
/*
* fill the file one block at a time
*/
+ libxfs_trans_ijoin(tp, ip, 0);
nmap = 1;
error = -libxfs_bmapi_write(tp, ip, bno, 1, 0, 1, &map, &nmap);
if (error || nmap != 1) {
if (i)
res_failed(i);
- error = -libxfs_trans_iget(mp, tp, mp->m_sb.sb_rsumino, 0, 0, &ip);
+ error = -libxfs_iget(mp, tp, mp->m_sb.sb_rsumino, 0, &ip,
+ &xfs_default_ifork_ops);
if (error) {
do_error(
_("couldn't iget realtime summary inode -- error - %d\n"),
/*
* commit changes
*/
+ libxfs_trans_ijoin(tp, ip, 0);
libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
error = -libxfs_trans_commit(tp);
if (error)
if (i)
res_failed(i);
- error = -libxfs_trans_iget(mp, tp, mp->m_sb.sb_rootino, 0, 0, &ip);
+ error = -libxfs_iget(mp, tp, mp->m_sb.sb_rootino, 0, &ip,
+ &xfs_default_ifork_ops);
if (error) {
do_error(_("could not iget root inode -- error - %d\n"), error);
}
times |= XFS_ICHGTIME_CREATE;
}
libxfs_trans_ichgtime(tp, ip, times);
-
+ libxfs_trans_ijoin(tp, ip, 0);
libxfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
/*