Lines Matching defs:ip

31 	struct xfs_inode	*ip,
34 struct xfs_mount *mp = ip->i_mount;
38 trace_xfs_readlink(ip);
42 if (xfs_ifork_zapped(ip, XFS_DATA_FORK))
45 xfs_ilock(ip, XFS_ILOCK_SHARED);
47 pathlen = ip->i_disk_size;
53 __func__, (unsigned long long) ip->i_ino,
59 if (ip->i_df.if_format == XFS_DINODE_FMT_LOCAL) {
64 if (XFS_IS_CORRUPT(ip->i_mount, !ip->i_df.if_data))
67 memcpy(link, ip->i_df.if_data, pathlen + 1);
70 error = xfs_symlink_remote_read(ip, link);
73 xfs_iunlock(ip, XFS_ILOCK_SHARED);
76 xfs_iunlock(ip, XFS_ILOCK_SHARED);
77 xfs_inode_mark_sick(ip, XFS_SICK_INO_SYMLINK);
92 struct xfs_inode *ip = NULL;
164 false, &ip);
181 xfs_qm_vop_create_dqattach(tp, ip, udqp, gdqp, pdqp);
184 error = xfs_symlink_write_target(tp, ip, target_path, pathlen,
189 i_size_write(VFS_I(ip), ip->i_disk_size);
194 error = xfs_dir_createname(tp, dp, link_name, ip->i_ino, resblks);
199 xfs_dir_update_hook(dp, ip, 1, link_name);
217 *ipp = ip;
228 if (ip) {
229 xfs_finish_inode_setup(ip);
230 xfs_irele(ip);
253 struct xfs_inode *ip)
265 mp = ip->i_mount;
266 ASSERT(!xfs_need_iread_extents(&ip->i_df));
274 ASSERT(ip->i_df.if_nextents > 0 && ip->i_df.if_nextents <= 2);
280 xfs_ilock(ip, XFS_ILOCK_EXCL);
281 xfs_trans_ijoin(tp, ip, 0);
289 size = (int)ip->i_disk_size;
290 ip->i_disk_size = 0;
291 VFS_I(ip)->i_mode = (VFS_I(ip)->i_mode & ~S_IFMT) | S_IFREG;
292 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
298 error = xfs_bmapi_read(ip, 0, xfs_symlink_blocks(mp, size),
317 error = xfs_bunmapi(tp, ip, 0, size, 0, nmaps, &done);
326 xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE);
336 if (ip->i_df.if_bytes)
337 xfs_idata_realloc(ip, -ip->i_df.if_bytes, XFS_DATA_FORK);
338 ASSERT(ip->i_df.if_bytes == 0);
340 xfs_iunlock(ip, XFS_ILOCK_EXCL);
346 xfs_iunlock(ip, XFS_ILOCK_EXCL);
355 struct xfs_inode *ip)
357 struct xfs_mount *mp = ip->i_mount;
360 trace_xfs_inactive_symlink(ip);
365 xfs_ilock(ip, XFS_ILOCK_EXCL);
366 pathlen = (int)ip->i_disk_size;
371 __func__, (unsigned long long)ip->i_ino, pathlen);
372 xfs_iunlock(ip, XFS_ILOCK_EXCL);
374 xfs_inode_mark_sick(ip, XFS_SICK_INO_SYMLINK);
382 if (ip->i_df.if_format == XFS_DINODE_FMT_LOCAL) {
383 xfs_iunlock(ip, XFS_ILOCK_EXCL);
387 xfs_iunlock(ip, XFS_ILOCK_EXCL);
390 return xfs_inactive_symlink_rmt(ip);