static int smb_fem_fcn_rename( femarg_t *arg, char *snm, vnode_t *tdvp, char *tnm, cred_t *cr, caller_context_t *ct, int flags) { smb_node_t *dnode; int error; dnode = (smb_node_t *)arg->fa_fnode->fn_available; ASSERT(dnode); error = vnext_rename(arg, snm, tdvp, tnm, cr, ct, flags); if (error == 0 && ct != &smb_ct) { /* * Note that renames in the same directory are normally * delivered in {old,new} pairs, and clients expect them * in that order, if both events are delivered. */ smb_node_notify_change(dnode, FILE_ACTION_RENAMED_OLD_NAME, snm); smb_node_notify_change(dnode, FILE_ACTION_RENAMED_NEW_NAME, tnm); } return (error); }
static int smb_fem_fcn_rename( femarg_t *arg, char *snm, vnode_t *tdvp, char *tnm, cred_t *cr, caller_context_t *ct, int flags) { smb_node_t *dnode; int error; dnode = (smb_node_t *)arg->fa_fnode->fn_available; ASSERT(dnode); error = vnext_rename(arg, snm, tdvp, tnm, cr, ct, flags); if (error == 0) smb_process_node_notify_change_queue(dnode); return (error); }