From f5ca3f11e47e48d195616f813b5b2c9e8255c6cd Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 18 May 2012 09:10:02 +0200 Subject: s3: Revert the serverid changes, they need more work Autobuild-User: Volker Lendecke Autobuild-Date: Fri May 18 13:12:14 CEST 2012 on sn-devel-104 --- source3/torture/test_cleanup.c | 175 ----------------------------------------- 1 file changed, 175 deletions(-) (limited to 'source3/torture/test_cleanup.c') diff --git a/source3/torture/test_cleanup.c b/source3/torture/test_cleanup.c index d9dce402ded..39f579a9cd4 100644 --- a/source3/torture/test_cleanup.c +++ b/source3/torture/test_cleanup.c @@ -18,14 +18,11 @@ */ #include "includes.h" -#include "locking/proto.h" #include "torture/proto.h" #include "system/filesys.h" -#include "system/select.h" #include "libsmb/libsmb.h" #include "libcli/smb/smbXcli_base.h" #include "libcli/security/security.h" -#include "librpc/gen_ndr/open_files.h" bool run_cleanup1(int dummy) { @@ -157,175 +154,3 @@ bool run_cleanup2(int dummy) } return true; } - -static bool create_stale_share_mode_entry(const char *fname, - struct file_id *p_id) -{ - struct cli_state *cli; - uint16_t fnum; - NTSTATUS status; - SMB_STRUCT_STAT sbuf; - struct file_id id; - - if (!torture_open_connection(&cli, 0)) { - return false; - } - - status = torture_setup_unix_extensions(cli); - if (!NT_STATUS_IS_OK(status)) { - printf("torture_setup_unix_extensions failed: %s\n", - nt_errstr(status)); - return false; - } - status = cli_openx(cli, fname, O_RDWR|O_CREAT, DENY_ALL, &fnum); - if (!NT_STATUS_IS_OK(status)) { - printf("open of %s failed (%s)\n", fname, nt_errstr(status)); - return false; - } - status = cli_posix_stat(cli, fname, &sbuf); - if (!NT_STATUS_IS_OK(status)) { - printf("cli_posix_stat failed: %s\n", nt_errstr(status)); - return false; - } - status = smbXcli_conn_samba_suicide(cli->conn, 1); - if (!NT_STATUS_IS_OK(status)) { - printf("smbXcli_conn_samba_suicide failed: %s\n", - nt_errstr(status)); - return false; - } - - id.devid = sbuf.st_ex_rdev; - id.inode = sbuf.st_ex_ino; - id.extid = 0; - - poll(NULL, 0, 1000); - - *p_id = id; - return true; -} - -static bool corrupt_dummy(struct share_mode_data *d) -{ - return true; -} - -static bool invalidate_sharemode(struct share_mode_data *d) -{ - d->share_modes[0].op_type = - OPLOCK_EXCLUSIVE|OPLOCK_BATCH|OPLOCK_LEVEL_II; - d->modified = true; - return true; -} - -static bool duplicate_entry(struct share_mode_data *d, int i) -{ - struct share_mode_entry *tmp; - - if (i >= d->num_share_modes) { - return false; - } - - tmp = talloc_realloc(d, d->share_modes, struct share_mode_entry, - d->num_share_modes + 1); - if (tmp == NULL) { - return false; - } - d->share_modes = tmp; - d->num_share_modes += 1; - d->share_modes[d->num_share_modes-1] = d->share_modes[i]; - d->modified = true; - return true; -} - -static bool create_duplicate_batch(struct share_mode_data *d) -{ - if (d->num_share_modes != 1) { - return false; - } - d->share_modes[0].op_type = OPLOCK_BATCH; - if (!duplicate_entry(d, 0)) { - return false; - } - return true; -} - -struct corruption_fns { - bool (*fn)(struct share_mode_data *d); - const char *descr; -}; - -bool run_cleanup3(int dummy) -{ - struct cli_state *cli; - const char *fname = "cleanup3"; - uint16_t fnum; - NTSTATUS status; - struct share_mode_lock *lck; - struct file_id id; - size_t i; - - struct corruption_fns fns[] = { - { corrupt_dummy, "no corruption" }, - { invalidate_sharemode, "invalidate_sharemode" }, - { create_duplicate_batch, "create_duplicate_batch" }, - }; - - printf("CLEANUP3: Checking that a share mode is cleaned up on " - "conflict\n"); - - for (i=0; idata->num_share_modes != 1) { - printf("get_existing_share_mode_lock did clean up\n"); - return false; - } - - fns[i].fn(lck->data); - - TALLOC_FREE(lck); - - if (!torture_open_connection(&cli, 0)) { - return false; - } - status = cli_openx(cli, fname, O_RDWR|O_CREAT, DENY_ALL, - &fnum); - if (!NT_STATUS_IS_OK(status)) { - printf("open of %s failed (%s)\n", fname, - nt_errstr(status)); - return false; - } - lck = get_existing_share_mode_lock(talloc_tos(), id); - if (lck == NULL) { - printf("get_existing_share_mode_lock failed\n"); - return false; - } - if (lck->data->num_share_modes != 1) { - printf("conflicting open did not clean up\n"); - return false; - } - TALLOC_FREE(lck); - - torture_close_connection(cli); - } - - return true; -} -- cgit v1.2.1