UPDATE_DIROP
if (flags & (UPDATE_WAIT|UPDATE_DIROP))
if (updflags & UPDATE_DIROP)
if ((updflags & (UPDATE_WAIT|UPDATE_DIROP)) != 0 &&
if ((error = ext2fs_update(dvp, NULL, NULL, UPDATE_DIROP)) != 0)
if ((updflags & UPDATE_DIROP) != 0)
while ((updflags & (UPDATE_WAIT|UPDATE_DIROP)) == UPDATE_WAIT &&
if ((updflags & (UPDATE_WAIT|UPDATE_DIROP)) == UPDATE_WAIT) {
error = lfs_update(fvp, NULL, NULL, UPDATE_DIROP);
error = lfs_update(tdvp, NULL, NULL, UPDATE_DIROP);
UPDATE_WAIT | UPDATE_DIROP);
if ((error = lfs_update(tvp, NULL, NULL, UPDATE_DIROP)) != 0)
if ((error = lfs_update(dvp, NULL, NULL, UPDATE_DIROP)) != 0)
if ((error = lfs_update(tvp, NULL, NULL, UPDATE_DIROP)) != 0) {
ret = lfs_update(dvp, &ts, &ts, UPDATE_DIROP);
error = lfs_update(vp, NULL, NULL, UPDATE_DIROP);
UFS_WAPBL_UPDATE(dvp, NULL, NULL, UPDATE_DIROP);
UFS_WAPBL_UPDATE(ITOV(oip), NULL, NULL, UPDATE_DIROP);
UFS_WAPBL_UPDATE(vdp, NULL, NULL, UPDATE_DIROP);
UFS_WAPBL_UPDATE(vdp, NULL, NULL, UPDATE_DIROP);
ret = UFS_UPDATE(dvp, &ts, &ts, UPDATE_DIROP);
UFS_WAPBL_UPDATE(dvp, NULL, NULL, UPDATE_DIROP);
error = UFS_UPDATE(fvp, NULL, NULL, UPDATE_DIROP);
error = UFS_UPDATE(tdvp, NULL, NULL, UPDATE_DIROP);
UPDATE_WAIT | UPDATE_DIROP);
if ((error = UFS_UPDATE(dvp, NULL, NULL, UPDATE_DIROP)) != 0)
if ((error = UFS_UPDATE(tvp, NULL, NULL, UPDATE_DIROP)) != 0) {
UFS_WAPBL_UPDATE(dvp, NULL, NULL, UPDATE_DIROP);
UFS_WAPBL_UPDATE(tvp, NULL, NULL, UPDATE_DIROP);
UFS_WAPBL_UPDATE(dvp, NULL, NULL, UPDATE_DIROP);
if ((error = UFS_UPDATE(tvp, NULL, NULL, UPDATE_DIROP)) != 0)
error = UFS_UPDATE(vp, NULL, NULL, UPDATE_DIROP);
UFS_WAPBL_UPDATE(vp, NULL, NULL, UPDATE_DIROP);