From 07948ef6e12ac52ecbb23089495d3760028f019e Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 10 Sep 2013 19:41:32 +0200 Subject: smbd: Add brl_fsp access function --- source3/locking/brlock.c | 5 +++++ source3/locking/proto.h | 1 + source3/modules/vfs_full_audit.c | 9 ++++++--- source3/modules/vfs_time_audit.c | 6 +++--- 4 files changed, 15 insertions(+), 6 deletions(-) (limited to 'source3') diff --git a/source3/locking/brlock.c b/source3/locking/brlock.c index 0639649576..cc5d7a8ae0 100644 --- a/source3/locking/brlock.c +++ b/source3/locking/brlock.c @@ -68,6 +68,11 @@ unsigned int brl_num_locks(const struct byte_range_lock *brl) return brl->num_locks; } +struct files_struct *brl_fsp(struct byte_range_lock *brl) +{ + return brl->fsp; +} + /**************************************************************************** See if two locking contexts are equal. ****************************************************************************/ diff --git a/source3/locking/proto.h b/source3/locking/proto.h index f5137f97d2..1573f6b306 100644 --- a/source3/locking/proto.h +++ b/source3/locking/proto.h @@ -29,6 +29,7 @@ void brl_init(bool read_only); void brl_shutdown(void); unsigned int brl_num_locks(const struct byte_range_lock *brl); +struct files_struct *brl_fsp(struct byte_range_lock *brl); NTSTATUS brl_lock_windows_default(struct byte_range_lock *br_lck, struct lock_struct *plock, diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c index 549f55e189..37d8aa4503 100644 --- a/source3/modules/vfs_full_audit.c +++ b/source3/modules/vfs_full_audit.c @@ -1655,7 +1655,8 @@ static NTSTATUS smb_full_audit_brl_lock_windows(struct vfs_handle_struct *handle blocking_lock, blr); do_log(SMB_VFS_OP_BRL_LOCK_WINDOWS, NT_STATUS_IS_OK(result), handle, - "%s:%llu-%llu. type=%d. blocking=%d", fsp_str_do_log(br_lck->fsp), + "%s:%llu-%llu. type=%d. blocking=%d", + fsp_str_do_log(brl_fsp(br_lck)), plock->start, plock->size, plock->lock_type, blocking_lock); return result; @@ -1672,7 +1673,8 @@ static bool smb_full_audit_brl_unlock_windows(struct vfs_handle_struct *handle, plock); do_log(SMB_VFS_OP_BRL_UNLOCK_WINDOWS, (result == 0), handle, - "%s:%llu-%llu:%d", fsp_str_do_log(br_lck->fsp), plock->start, + "%s:%llu-%llu:%d", fsp_str_do_log(brl_fsp(br_lck)), + plock->start, plock->size, plock->lock_type); return result; @@ -1688,7 +1690,8 @@ static bool smb_full_audit_brl_cancel_windows(struct vfs_handle_struct *handle, result = SMB_VFS_NEXT_BRL_CANCEL_WINDOWS(handle, br_lck, plock, blr); do_log(SMB_VFS_OP_BRL_CANCEL_WINDOWS, (result == 0), handle, - "%s:%llu-%llu:%d", fsp_str_do_log(br_lck->fsp), plock->start, + "%s:%llu-%llu:%d", fsp_str_do_log(brl_fsp(br_lck)), + plock->start, plock->size, plock->lock_type); return result; diff --git a/source3/modules/vfs_time_audit.c b/source3/modules/vfs_time_audit.c index 1b14d650af..98a6151797 100644 --- a/source3/modules/vfs_time_audit.c +++ b/source3/modules/vfs_time_audit.c @@ -1558,7 +1558,7 @@ static NTSTATUS smb_time_audit_brl_lock_windows(struct vfs_handle_struct *handle if (timediff > audit_timeout) { smb_time_audit_log_fsp("brl_lock_windows", timediff, - br_lck->fsp); + brl_fsp(br_lck)); } return result; @@ -1581,7 +1581,7 @@ static bool smb_time_audit_brl_unlock_windows(struct vfs_handle_struct *handle, if (timediff > audit_timeout) { smb_time_audit_log_fsp("brl_unlock_windows", timediff, - br_lck->fsp); + brl_fsp(br_lck)); } return result; @@ -1603,7 +1603,7 @@ static bool smb_time_audit_brl_cancel_windows(struct vfs_handle_struct *handle, if (timediff > audit_timeout) { smb_time_audit_log_fsp("brl_cancel_windows", timediff, - br_lck->fsp); + brl_fsp(br_lck)); } return result; -- cgit