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:
parent
3a9133dd06
commit
2276cd666f
@ -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) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user