1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

r20525: Closing a dir with del-on-close set requires the same as files: Don't actually

unlink/rmdir if another process still has it open.

Jeremy, this is a potential merger to 3.0.24.

Volker
(This used to be commit 8e1e896b02da99b5a48883c5f37fe146ad0fb5ce)
This commit is contained in:
Volker Lendecke 2007-01-04 16:26:15 +00:00 committed by Gerald (Jerry) Carter
parent 3a9133dd06
commit 2276cd666f

View File

@ -392,6 +392,18 @@ static int close_directory(files_struct *fsp, enum file_close_type close_type)
delete_dir = (lck->delete_on_close | lck->initial_delete_on_close);
if (delete_dir) {
int i;
/* See if others still have the dir open. If this is the
* case, then don't delete */
for (i=0; i<lck->num_share_modes; i++) {
if (is_valid_share_mode_entry(&lck->share_modes[i])) {
delete_dir = False;
break;
}
}
}
if ((close_type == NORMAL_CLOSE || close_type == SHUTDOWN_CLOSE) &&
delete_dir &&
lck->delete_token) {