Changeset View
Changeset View
Standalone View
Standalone View
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c
Show First 20 Lines • Show All 1,898 Lines • ▼ Show 20 Lines | dsl_dir_rename_sync(void *arg, dmu_tx_t *tx) | ||||
dsl_dir_phys(dd)->dd_parent_obj = newparent->dd_object; | dsl_dir_phys(dd)->dd_parent_obj = newparent->dd_object; | ||||
VERIFY0(dsl_dir_hold_obj(dp, | VERIFY0(dsl_dir_hold_obj(dp, | ||||
newparent->dd_object, NULL, dd, &dd->dd_parent)); | newparent->dd_object, NULL, dd, &dd->dd_parent)); | ||||
/* add to new parent zapobj */ | /* add to new parent zapobj */ | ||||
VERIFY0(zap_add(mos, dsl_dir_phys(newparent)->dd_child_dir_zapobj, | VERIFY0(zap_add(mos, dsl_dir_phys(newparent)->dd_child_dir_zapobj, | ||||
dd->dd_myname, 8, 1, &dd->dd_object, tx)); | dd->dd_myname, 8, 1, &dd->dd_object, tx)); | ||||
#ifdef __FreeBSD__ | |||||
#ifdef _KERNEL | |||||
zfsvfs_update_fromname(ddra->ddra_oldname, ddra->ddra_newname); | |||||
zvol_rename_minors(ddra->ddra_oldname, ddra->ddra_newname); | |||||
#endif | |||||
#endif | |||||
dsl_prop_notify_all(dd); | dsl_prop_notify_all(dd); | ||||
dsl_dir_rele(newparent, FTAG); | dsl_dir_rele(newparent, FTAG); | ||||
dsl_dir_rele(dd, FTAG); | dsl_dir_rele(dd, FTAG); | ||||
} | } | ||||
int | int | ||||
dsl_dir_rename(const char *oldname, const char *newname) | dsl_dir_rename(const char *oldname, const char *newname) | ||||
▲ Show 20 Lines • Show All 77 Lines • Show Last 20 Lines |