Lines 1074-1083
Link Here
|
1074 |
ext2_dec_nlink(dp); |
1074 |
ext2_dec_nlink(dp); |
1075 |
dp->i_flag |= IN_CHANGE; |
1075 |
dp->i_flag |= IN_CHANGE; |
1076 |
dirbuf = malloc(dp->i_e2fs->e2fs_bsize, M_TEMP, M_WAITOK | M_ZERO); |
1076 |
dirbuf = malloc(dp->i_e2fs->e2fs_bsize, M_TEMP, M_WAITOK | M_ZERO); |
1077 |
if (!dirbuf) { |
|
|
1078 |
error = ENOMEM; |
1079 |
goto bad; |
1080 |
} |
1081 |
error = vn_rdwr(UIO_READ, fvp, (caddr_t)dirbuf, |
1077 |
error = vn_rdwr(UIO_READ, fvp, (caddr_t)dirbuf, |
1082 |
ip->i_e2fs->e2fs_bsize, (off_t)0, |
1078 |
ip->i_e2fs->e2fs_bsize, (off_t)0, |
1083 |
UIO_SYSSPACE, IO_NODELOCKED | IO_NOMACCHECK, |
1079 |
UIO_SYSSPACE, IO_NODELOCKED | IO_NOMACCHECK, |
Lines 1387-1398
Link Here
|
1387 |
#define DIRBLKSIZ VTOI(dvp)->i_e2fs->e2fs_bsize |
1383 |
#define DIRBLKSIZ VTOI(dvp)->i_e2fs->e2fs_bsize |
1388 |
dirtemplate.dotdot_reclen = DIRBLKSIZ - 12; |
1384 |
dirtemplate.dotdot_reclen = DIRBLKSIZ - 12; |
1389 |
buf = malloc(DIRBLKSIZ, M_TEMP, M_WAITOK | M_ZERO); |
1385 |
buf = malloc(DIRBLKSIZ, M_TEMP, M_WAITOK | M_ZERO); |
1390 |
if (!buf) { |
|
|
1391 |
error = ENOMEM; |
1392 |
ext2_dec_nlink(dp); |
1393 |
dp->i_flag |= IN_CHANGE; |
1394 |
goto bad; |
1395 |
} |
1396 |
if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) { |
1386 |
if (EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_METADATA_CKSUM)) { |
1397 |
dirtemplate.dotdot_reclen -= sizeof(struct ext2fs_direct_tail); |
1387 |
dirtemplate.dotdot_reclen -= sizeof(struct ext2fs_direct_tail); |
1398 |
ext2_init_dirent_tail(EXT2_DIRENT_TAIL(buf, DIRBLKSIZ)); |
1388 |
ext2_init_dirent_tail(EXT2_DIRENT_TAIL(buf, DIRBLKSIZ)); |