Lines Matching defs:ip
217 struct inode *ip;
222 ip = VTOI(vp);
223 if ((ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE)) == 0)
226 ip->i_flag |= IN_LAZYMOD;
228 ip->i_flag |= IN_MODIFIED;
231 if (ip->i_flag & IN_ACCESS) {
232 ip->i_atime = ts.tv_sec;
233 ip->i_atimensec = ts.tv_nsec;
235 if (ip->i_flag & IN_UPDATE) {
236 ip->i_mtime = ts.tv_sec;
237 ip->i_mtimensec = ts.tv_nsec;
238 ip->i_modrev++;
240 if (ip->i_flag & IN_CHANGE) {
241 ip->i_ctime = ts.tv_sec;
242 ip->i_ctimensec = ts.tv_nsec;
245 ip->i_flag &= ~(IN_ACCESS | IN_CHANGE | IN_UPDATE);
315 struct inode *ip = VTOI(vp);
338 if ((accmode & VWRITE) && (ip->i_flags & SF_IMMUTABLE))
341 error = vaccess(vp->v_type, ip->i_mode, ip->i_uid, ip->i_gid,
350 struct inode *ip = VTOI(vp);
357 vap->va_fsid = dev2udev(ip->i_devvp->v_rdev);
358 vap->va_fileid = ip->i_number;
359 vap->va_mode = ip->i_mode & ~IFMT;
360 vap->va_nlink = ip->i_nlink;
361 vap->va_uid = ip->i_uid;
362 vap->va_gid = ip->i_gid;
363 vap->va_rdev = ip->i_rdev;
364 vap->va_size = ip->i_size;
365 vap->va_atime.tv_sec = ip->i_atime;
366 vap->va_atime.tv_nsec = E2DI_HAS_XTIME(ip) ? ip->i_atimensec : 0;
367 vap->va_mtime.tv_sec = ip->i_mtime;
368 vap->va_mtime.tv_nsec = E2DI_HAS_XTIME(ip) ? ip->i_mtimensec : 0;
369 vap->va_ctime.tv_sec = ip->i_ctime;
370 vap->va_ctime.tv_nsec = E2DI_HAS_XTIME(ip) ? ip->i_ctimensec : 0;
371 if (E2DI_HAS_XTIME(ip)) {
372 vap->va_birthtime.tv_sec = ip->i_birthtime;
373 vap->va_birthtime.tv_nsec = ip->i_birthnsec;
375 vap->va_flags = ip->i_flags;
376 vap->va_gen = ip->i_gen;
378 vap->va_bytes = dbtob((u_quad_t)ip->i_blocks);
379 vap->va_type = IFTOVT(ip->i_mode);
380 vap->va_filerev = ip->i_modrev;
392 struct inode *ip = VTOI(vp);
427 if (ip->i_flags & (SF_IMMUTABLE | SF_APPEND)) {
433 if (ip->i_flags & (SF_IMMUTABLE | SF_APPEND) ||
434 ((vap->va_flags ^ ip->i_flags) & SF_SETTABLE))
437 ip->i_flags = vap->va_flags;
438 ip->i_flag |= IN_CHANGE;
439 if (ip->i_flags & (IMMUTABLE | APPEND))
442 if (ip->i_flags & (IMMUTABLE | APPEND))
489 ip->i_flag |= IN_CHANGE | IN_MODIFIED;
491 ip->i_flag &= ~IN_ACCESS;
492 ip->i_atime = vap->va_atime.tv_sec;
493 ip->i_atimensec = vap->va_atime.tv_nsec;
496 ip->i_flag &= ~IN_UPDATE;
497 ip->i_mtime = vap->va_mtime.tv_sec;
498 ip->i_mtimensec = vap->va_mtime.tv_nsec;
500 if (E2DI_HAS_XTIME(ip) && vap->va_birthtime.tv_sec != VNOVAL) {
501 ip->i_birthtime = vap->va_birthtime.tv_sec;
502 ip->i_birthnsec = vap->va_birthtime.tv_nsec;
524 struct inode *ip = VTOI(vp);
543 if (!groupmember(ip->i_gid, cred) && (mode & ISGID)) {
548 ip->i_mode &= ~ALLPERMS;
549 ip->i_mode |= (mode & ALLPERMS);
550 ip->i_flag |= IN_CHANGE;
555 * Perform chown operation on inode ip;
562 struct inode *ip = VTOI(vp);
568 uid = ip->i_uid;
570 gid = ip->i_gid;
582 if (uid != ip->i_uid || (gid != ip->i_gid &&
588 ogid = ip->i_gid;
589 ouid = ip->i_uid;
590 ip->i_gid = gid;
591 ip->i_uid = uid;
592 ip->i_flag |= IN_CHANGE;
593 if ((ip->i_mode & (ISUID | ISGID)) && (ouid != uid || ogid != gid)) {
595 ip->i_mode &= ~(ISUID | ISGID);
637 struct inode *ip;
651 ip = VTOI(*vpp);
652 ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
654 ip->i_rdev = vap->va_rdev;
662 ino = ip->i_number; /* Save this before vgone() invalidates ip. */
676 struct inode *ip;
681 ip = VTOI(vp);
682 if ((ip->i_flags & (NOUNLINK | IMMUTABLE | APPEND)) ||
689 ip->i_nlink--;
690 ip->i_flag |= IN_CHANGE;
705 struct inode *ip;
708 ip = VTOI(vp);
709 if ((nlink_t)ip->i_nlink >= EXT4_LINK_MAX) {
713 if (ip->i_flags & (IMMUTABLE | APPEND)) {
717 ip->i_nlink++;
718 ip->i_flag |= IN_CHANGE;
721 error = ext2_direnter(ip, tdvp, cnp);
723 ip->i_nlink--;
724 ip->i_flag |= IN_CHANGE;
731 ext2_inc_nlink(struct inode *ip)
734 ip->i_nlink++;
736 if (S_ISDIR(ip->i_mode) &&
737 EXT2_HAS_RO_COMPAT_FEATURE(ip->i_e2fs, EXT2F_ROCOMPAT_DIR_NLINK) &&
738 ip->i_nlink > 1) {
739 if (ip->i_nlink >= EXT4_LINK_MAX || ip->i_nlink == 2)
740 ip->i_nlink = 1;
741 } else if (ip->i_nlink > EXT4_LINK_MAX) {
742 ip->i_nlink--;
750 ext2_dec_nlink(struct inode *ip)
753 if (!S_ISDIR(ip->i_mode) || ip->i_nlink > 2)
754 ip->i_nlink--;
790 struct inode *ip, *xp, *dp;
834 ip = VTOI(fvp);
835 if (ip->i_nlink >= EXT4_LINK_MAX &&
836 !EXT2_HAS_RO_COMPAT_FEATURE(ip->i_e2fs, EXT2F_ROCOMPAT_DIR_NLINK)) {
841 if ((ip->i_flags & (NOUNLINK | IMMUTABLE | APPEND))
847 if ((ip->i_mode & IFMT) == IFDIR) {
852 dp == ip || (fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT ||
853 (ip->i_flag & IN_RENAME)) {
858 ip->i_flag |= IN_RENAME;
879 ext2_inc_nlink(ip);
880 ip->i_flag |= IN_CHANGE;
905 error = ext2_checkpath(ip, dp, tcnp->cn_cred);
926 if (dp->i_devvp != ip->i_devvp)
943 error = ext2_direnter(ip, tdvp, tcnp);
954 if (xp->i_devvp != dp->i_devvp || xp->i_devvp != ip->i_devvp)
959 if (xp->i_number == ip->i_number)
992 error = ext2_dirrewrite(dp, ip, tcnp);
1060 if (xp != ip) {
1078 ip->i_e2fs->e2fs_bsize, (off_t)0,
1104 ext2_dirent_csum_set(ip,
1106 ext2_dx_csum_set(ip,
1110 ip->i_e2fs->e2fs_bsize,
1140 ip->i_flag &= ~IN_RENAME;
1142 ext2_dec_nlink(ip);
1143 ip->i_flag |= IN_CHANGE;
1144 ip->i_flag &= ~IN_RENAME;
1157 struct inode *ip = VTOI(tvp);
1176 ip->i_mode = dmode;
1178 ext2_sync_acl_from_inode(ip, acl);
1187 ip->i_mode = dmode;
1228 struct inode *ip = VTOI(tvp);
1252 ip->i_mode = mode;
1253 ext2_sync_acl_from_inode(ip, acl);
1262 ip->i_mode = mode;
1308 struct inode *ip, *dp;
1330 ip = VTOI(tvp);
1331 fs = ip->i_e2fs;
1332 ip->i_gid = dp->i_gid;
1346 ip->i_uid = dp->i_uid;
1348 ip->i_uid = cnp->cn_cred->cr_uid;
1352 ip->i_uid = cnp->cn_cred->cr_uid;
1354 ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
1355 ip->i_mode = dmode;
1357 ip->i_nlink = 2;
1359 ip->i_flags |= UF_OPAQUE;
1375 if (EXT2_HAS_INCOMPAT_FEATURE(ip->i_e2fs,
1381 dirtemplate.dot_ino = htole32(ip->i_number);
1398 ext2_dirent_csum_set(ip, (struct ext2fs_direct_2 *)buf);
1412 ip->i_size = DIRBLKSIZ;
1413 ip->i_flag |= IN_CHANGE;
1427 error = ext2_direnter(ip, dvp, cnp);
1438 ip->i_nlink = 0;
1439 ip->i_flag |= IN_CHANGE;
1459 struct inode *ip, *dp;
1462 ip = VTOI(vp);
1472 if (!ext2_dirempty(ip, dp->i_number, cnp->cn_cred)) {
1477 || (ip->i_flags & (NOUNLINK | IMMUTABLE | APPEND))) {
1497 ip->i_nlink = 0;
1500 cache_purge(ITOV(ip));
1517 struct inode *ip;
1527 ip = VTOI(vp);
1528 bcopy(ap->a_target, (char *)ip->i_shortlink, len);
1529 ip->i_size = len;
1530 ip->i_flag |= IN_CHANGE | IN_UPDATE;
1547 struct inode *ip = VTOI(vp);
1550 isize = ip->i_size;
1552 uiomove((char *)ip->i_shortlink, isize, ap->a_uio);
1609 struct inode *ip = VTOI(vp);
1611 vn_printf(ip->i_devvp, "\tino %ju", (uintmax_t)ip->i_number);
1726 struct inode *ip;
1730 ip = VTOI(ap->a_vp);
1731 fs = ip->i_e2fs;
1733 if (!EXT2_HAS_COMPAT_FEATURE(ip->i_e2fs, EXT2F_COMPAT_EXT_ATTR))
1747 error = ext2_extattr_inode_delete(ip, ap->a_attrnamespace, ap->a_name);
1752 if (ip->i_facl)
1753 error = ext2_extattr_block_delete(ip, ap->a_attrnamespace, ap->a_name);
1764 struct inode *ip;
1768 ip = VTOI(ap->a_vp);
1769 fs = ip->i_e2fs;
1771 if (!EXT2_HAS_COMPAT_FEATURE(ip->i_e2fs, EXT2F_COMPAT_EXT_ATTR))
1788 error = ext2_extattr_inode_get(ip, ap->a_attrnamespace,
1794 if (ip->i_facl)
1795 error = ext2_extattr_block_get(ip, ap->a_attrnamespace,
1807 struct inode *ip;
1811 ip = VTOI(ap->a_vp);
1812 fs = ip->i_e2fs;
1814 if (!EXT2_HAS_COMPAT_FEATURE(ip->i_e2fs, EXT2F_COMPAT_EXT_ATTR))
1829 error = ext2_extattr_inode_list(ip, ap->a_attrnamespace,
1835 if (ip->i_facl)
1836 error = ext2_extattr_block_list(ip, ap->a_attrnamespace,
1848 struct inode *ip;
1852 ip = VTOI(ap->a_vp);
1853 fs = ip->i_e2fs;
1855 if (!EXT2_HAS_COMPAT_FEATURE(ip->i_e2fs, EXT2F_COMPAT_EXT_ATTR))
1871 error = ext2_extattr_inode_set(ip, ap->a_attrnamespace,
1877 error = ext2_extattr_block_set(ip, ap->a_attrnamespace,
1890 struct inode *ip;
1895 ip = VTOI(ap->a_vp);
1898 ufhp->ufid_ino = ip->i_number;
1899 ufhp->ufid_gen = ip->i_gen;
1910 struct inode *ip;
1914 ip = VTOI(vp);
1915 vp->v_type = IFTOVT(ip->i_mode);
1919 if (ip->i_mode != 0 && vp->v_type == VNON)
1924 if (ip->i_number == EXT2_ROOTINO)
1926 ip->i_modrev = init_va_filerev();
1938 struct inode *ip, *pdir;
1951 ip = VTOI(tvp);
1952 ip->i_gid = pdir->i_gid;
1966 ip->i_uid = pdir->i_uid;
1969 ip->i_uid = cnp->cn_cred->cr_uid;
1973 ip->i_uid = cnp->cn_cred->cr_uid;
1975 ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
1976 ip->i_mode = mode;
1978 ip->i_nlink = 1;
1979 if ((ip->i_mode & ISGID) && !groupmember(ip->i_gid, cnp->cn_cred)) {
1981 ip->i_mode &= ~ISGID;
1985 ip->i_flags |= UF_OPAQUE;
2003 error = ext2_direnter(ip, dvp, cnp);
2015 ip->i_nlink = 0;
2016 ip->i_flag |= IN_CHANGE;
2028 struct inode *ip;
2043 ip = VTOI(vp);
2050 if ((int)ip->i_size <
2061 fs = ip->i_e2fs;
2062 if (uio->uio_offset < ip->i_size &&
2067 if ((bytesinfile = ip->i_size - uio->uio_offset) <= 0)
2071 size = blksize(fs, ip, lbn);
2080 if (lblktosize(fs, nextlbn) >= ip->i_size)
2083 error = cluster_read(vp, ip->i_size, lbn, size,
2087 u_int nextsize = blksize(fs, ip, nextlbn);
2130 ip->i_flag |= IN_ACCESS;
2169 struct inode *ip;
2181 ip = VTOI(vp);
2191 uio->uio_offset = ip->i_size;
2192 if ((ip->i_flags & APPEND) && uio->uio_offset != ip->i_size)
2210 fs = ip->i_e2fs;
2222 osize = ip->i_size;
2236 if (uio->uio_offset + xfersize > ip->i_size)
2247 error = ext2_balloc(ip, lbn, blkoffset + xfersize,
2254 if (uio->uio_offset + xfersize > ip->i_size)
2255 ip->i_size = uio->uio_offset + xfersize;
2256 size = blksize(fs, ip, lbn) - bp->b_resid;
2302 cluster_write(vp, &ip->i_clusterw, bp,
2303 ip->i_size, seqcount, 0);
2322 if ((ip->i_mode & (ISUID | ISGID)) && resid > uio->uio_resid &&
2325 ip->i_mode &= ~(ISUID | ISGID);
2336 ip->i_flag |= IN_CHANGE | IN_UPDATE;