diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-12-30 03:19:27 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:07:44 -0500 |
commit | 1c092c5ba6c812e05b63b633c8e9bf0f5ac3deb3 (patch) | |
tree | 763d85cb8f59da3f9e7ac29225e816d8ec577a15 /source4/ntvfs/posix/pvfs_unlink.c | |
parent | 1e4a4c4d6e8ce13378cfa54730159b19911af8a1 (diff) | |
download | samba-1c092c5ba6c812e05b63b633c8e9bf0f5ac3deb3.tar.gz samba-1c092c5ba6c812e05b63b633c8e9bf0f5ac3deb3.tar.bz2 samba-1c092c5ba6c812e05b63b633c8e9bf0f5ac3deb3.zip |
r4406: - don't call the xattr unlink hook on unlink unless the link count is 1, otherwise
the xattrs of the remaining link are removed
- fix the handling of attribute set on directories
(This used to be commit fa44e3cce00b75656c85378c7825960540d2f282)
Diffstat (limited to 'source4/ntvfs/posix/pvfs_unlink.c')
-rw-r--r-- | source4/ntvfs/posix/pvfs_unlink.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source4/ntvfs/posix/pvfs_unlink.c b/source4/ntvfs/posix/pvfs_unlink.c index 09732d7735..5f8a828f15 100644 --- a/source4/ntvfs/posix/pvfs_unlink.c +++ b/source4/ntvfs/posix/pvfs_unlink.c @@ -89,9 +89,11 @@ static NTSTATUS pvfs_unlink_one(struct pvfs_state *pvfs, return NT_STATUS_FILE_IS_A_DIRECTORY; } - status = pvfs_xattr_unlink_hook(pvfs, name->full_name); - if (!NT_STATUS_IS_OK(status)) { - return status; + if (name->st.st_nlink == 1) { + status = pvfs_xattr_unlink_hook(pvfs, name->full_name); + if (!NT_STATUS_IS_OK(status)) { + return status; + } } /* finally try the actual unlink */ |