From c91a675ac108f48046ce72287c6d70a1a54ef65f Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 17 May 2006 15:01:57 +0000 Subject: r15660: Without this when using smbcquotas I get MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close fd=-1 fnum=4321 (numopen=1) close_file: Could not get share mode lock for file $Extend/$Quota:$Q:$INDEX_ALLOCATION unix_error_packet: error string = Das Argument ist ungültig error packet at smbd/reply.c(3325) cmd=4 (SMBclose) NT_STATUS_INVALID_HANDLE so a fake file needs special close handling I think. Jeremy, can you check this? Thanks, Volker (This used to be commit f66b9701b5c6bb6302fa11889adab6902cbaf2e3) --- source3/smbd/close.c | 2 ++ source3/smbd/fake_file.c | 6 ++++++ 2 files changed, 8 insertions(+) (limited to 'source3') diff --git a/source3/smbd/close.c b/source3/smbd/close.c index bc1182032d..f2d54445b9 100644 --- a/source3/smbd/close.c +++ b/source3/smbd/close.c @@ -447,6 +447,8 @@ int close_file(files_struct *fsp, enum file_close_type close_type) return close_directory(fsp, close_type); else if (fsp->is_stat) return close_stat(fsp); + else if (fsp->fake_file_handle != NULL) + return close_fake_file(fsp); else return close_normal_file(fsp, close_type); } diff --git a/source3/smbd/fake_file.c b/source3/smbd/fake_file.c index 1356baf1a8..b4f1f02b72 100644 --- a/source3/smbd/fake_file.c +++ b/source3/smbd/fake_file.c @@ -156,3 +156,9 @@ void destroy_fake_file_handle(FAKE_FILE_HANDLE **fh) talloc_destroy((*fh)->mem_ctx); (*fh) = NULL; } + +int close_fake_file(files_struct *fsp) +{ + file_free(fsp); + return 0; +} -- cgit