summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_gpfs.c
AgeCommit message (Collapse)AuthorFilesLines
2013-05-14vfs_gpfs: slightly simplify connect()Volker Lendecke1-7/+7
DISCONNECT can be arbitrarily complex, TALLOC_FREE of a simple struct is easier. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Christian Ambach <ambi@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Tue May 14 18:11:29 CEST 2013 on sn-devel-104
2013-05-09Fix missing TALLOC_FREE of stackframes.Jeremy Allison1-1/+3
Signed-off-by: Jeremy Allison <jra@samba.org>
2013-05-09vfs: Fix compile of vfs_gpfs.c.Alexander Werth1-18/+33
Since the smb4acl is now correctly allocated on mem_ctx and not the talloc stack frame we can free the stack frame correctly. And the chmod emulation code now needs the vfs handle since that is now required by the callback function to set the smb4acl. Reviewed-By: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-05-09vfs: Allocate SMB4ACL_T on an explict memory contextAndrew Bartlett1-8/+20
This ensures the caller knows exactly what the memory lifetime of this returned object is. This makes the NFSv4 ACL code consistent with the POSIX and NT ACL code, to avoid supprising developers who have worked on those other parts of the ACL code. Most of this patch is adding a memory context to the callers and passing it in. Andrew Bartlett Reviewed-by: Jeremy Allison <jra@samba.org>
2013-05-09vfs: Add vfs_handle_struct argument to smb_set_nt_acl_nfs4 and the callbackAndrew Bartlett1-4/+4
This allows the callback to call xattr based storage functions that need this argument. Andrew Bartlett Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17vfs: Convert vfs_gpfs_chmod to synthetic_smb_fnameVolker Lendecke1-3/+5
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-04-17vfs: Convert gpfsacl_emu_chmod to synthetic_smb_fnameVolker Lendecke1-4/+4
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-02-18vfs_gpfs: Fix typos in comments.Karolin Seeger1-2/+2
Signed-off-by: Karolin Seeger <kseeger@samba.org>
2013-02-04s3:modules remove gpfs_getacl_allocChristian Ambach1-46/+0
last caller has gone Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Mon Feb 4 14:10:08 CET 2013 on sn-devel-104
2013-02-04s3:modules use vfs_gpfs_getacl in gpfsacl_get_posix_aclChristian Ambach1-3/+3
as preparation to remove gpfs_getacl_alloc() Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-02-04s3:modules use vfs_gpfs_getacl in gpfsacl_set_nt_acl_internalChristian Ambach1-5/+9
as preparation to remove gpfs_getacl_alloc() Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-02-04s3:modules use vfs_gpfs_getacl in gpfs_get_nfs4_aclChristian Ambach1-2/+5
as preparation to remove gpfs_getacl_alloc() Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-02-04s3:vfs_gpfs use non_posix_sys_acl_blob_get_*_helperChristian Ambach1-16/+90
use the helper functions to return the blob based on the raw GPFS ACL blob (if it is a NFSv4 ACL). If not, fall back to the POSIX ACL code Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-02-04s3:vfs_gpfs add a generic vfs_gpfs_getacl functionChristian Ambach1-0/+73
in contrast to gpfs_getacl_alloc which always puts the ACL on talloc_tos(), this one allows to specify the memory context and if the caller is interested in the raw ACL blob or a structured version Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2012-11-28s3:vfs_gpfs: add no memory check in gpfs2smb_acl()Stefan Metzmacher1-0/+5
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Wed Nov 28 14:06:27 CET 2012 on sn-devel-104
2012-11-28s3:vfs_gpfs: make sure we return the correct errno in gpfs2smb_acl()Stefan Metzmacher1-1/+1
TALLOC_FREE() could overwrite errno. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-16s3:vfs_gpfs fix a memory leak in gpfsacl_get_posix_aclChristian Ambach1-0/+3
Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2012-11-16s3:vfs_gpfs fix memory corruption in gpfs2smb_aclChristian Ambach1-0/+2
sys_acl_init returns a SMB_ACL_T with zero entries in the acl array reallocate the array to proper size before filling it, otherwise we overwrite memory This one is a result of a improper fixing in 7a6182962966e5edb42728c8 Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2012-11-16s3:vfs_gpfs fix memory leak in gpfs_get_nfs4_aclChristian Ambach1-0/+1
Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2012-11-16s3:vfs_gpfs fix memory leaks in gpfs_getacl_allocChristian Ambach1-2/+4
Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2012-10-12s3:vfs_gpfs re-indent run-away linesChristian Ambach1-4/+10
some lines added by the acl_blob additions were longer than 80 chars
2012-10-12s3:vfs_gpfs fix the buildChristian Ambach1-5/+11
make it compile again after the recent (untested) additions of the acl_blob functions
2012-10-12s3:vfs_gpfs remove a trailing spaceChristian Ambach1-1/+1
2012-10-12s3:vfs_gpfs skip local flock when gpfs sharemodes are disabledChristian Ambach1-2/+5
no sense in calling local flock when clustered sharemodes should be disabled
2012-10-11vfs: Use posix_sys_acl_blob_get_file in vfs_gpfs for posix ACLsAndrew Bartlett1-0/+58
2012-10-11smbd: Add mem_ctx to {f,}get_nt_acl VFS callAndrew Bartlett1-5/+9
This makes it clear which context the returned SD is allocated on, as a number of callers do not want it on talloc_tos(). As the ACL transformation allocates and then no longer needs a great deal of memory, a talloc_stackframe() call is used to contain the memory that is not returned further up the stack. Andrew Bartlett
2012-10-11smbd: Add mem_ctx to sys_acl_init() and all callersAndrew Bartlett1-10/+14
This changes from allocation on NULL to allocation on the supplied memory context. Currently that supplied context is talloc_tos() at the the final consumer of the ACL. Andrew Bartlett
2012-09-16s3:vfs_gpfs: fix buildChristian Ambach1-5/+5
after recent VFS changes
2012-08-29s3:vfs_gpfs: Use directory not file to get fileset idChristof Schmitt1-2/+22
The query of the fileset quota needs to determine the file set id first. With the currently available interface, this requires opening the file to get a file descriptor. For files, this open can fail when a share mode is set. Workaround this by querying the fileset id on the directory instead. The proper solution would be getting an interface for getting the fileset id that does not require opening the file. Autobuild-User(master): Christian Ambach <ambi@samba.org> Autobuild-Date(master): Wed Aug 29 18:58:34 CEST 2012 on sn-devel-104
2012-08-17s3: Merge vfs_gpfs_hsm_notify into vfs_gpfs.cVolker Lendecke1-0/+190
It was separated out because formerly our async I/O was not properly stackable. aio_fork could for example catch aio and not get aio_return get through to vfs_gpfs Signed-off-by: Christian Ambach <ambi@samba.org>
2012-08-16s3:vfs_gpfs: make sure parameters are set correctly for leasesChristian Ambach1-0/+25
gpfs:leases requires kernel oplocks = yes and level2 oplocks = no to work properly make sure those are set correctly for a share
2012-08-15s3-smbd: Change allocation of smb_acl_t to talloc()Andrew Bartlett1-2/+2
The acl element is changed to be a talloc child, and is no longer one element longer than requested by virtue of the acl[1] base pointer. This also avoids one of the few remaining cases of over-allocation of a structure. Andrew Bartlett
2012-07-11s3:vfs_gpfs: fix ACL length calculationRalph Wuerthner1-9/+4
GPFS 3.5 introduces ACL enhancements which are breaking our ACL length calculations. Signed-off-by: Ralph Wuerthner <ralph.wuerthner@de.ibm.com> Autobuild-User(master): Christian Ambach <ambi@samba.org> Autobuild-Date(master): Wed Jul 11 21:28:23 CEST 2012 on sn-devel-104
2012-07-11s3:vfs_gpfs: Check softquota before gracetimeChristof Schmitt1-1/+2
gpfs_quotactl can return a non-zero softquota gracetime even when no softquota has been set. This could lead to "disk full" being reported to a client. The easiest fix is to check for a valid softquota before checking the softquota gracetime.
2012-06-22s3-vfs_gpfs: Fix bug #9003, posix acl on gpfsVolker Lendecke1-2/+2
gpfs2smb_acl can leave errno!=0 around even if it returned a correct result!=NULL. We can only rely on errno being set if another error condition (in this case result==NULL) indicates an error. If result!=NULL, errno is undefined and can be anything. This leads to SAFE_FREE(result) further down even in the success case. Signed-off-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Fri Jun 22 19:27:39 CEST 2012 on sn-devel-104
2012-06-15s3:vfs_gpfs: add "gpfs:acl" optionBjörn Baumbach1-0/+81
With "gpfs:acl=no" you can pass the acl calls to the next SMB_VFS module. Based on a patch from Hans-Dieter Schuster <hans-dieter.schuster@ts.fujitsu.com> Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-05-08s3:vfs/gpfs: Have inherited deny ACE's show up in ACLsAlexander Werth1-2/+2
Don't use the mode for the get_acl call that surpresses inherited deny ACE's. This is now possible since the inherited ACE flag exists now in GPFS and Samba.
2012-04-06build: Remove SMB_OFF_T, replace with off_tAndrew Bartlett1-3/+3
Now that we always require a 64 bit off_t, we no longer need SMB_OFF_T. Andrew Bartlett Autobuild-User: Andrew Bartlett <abartlet@samba.org> Autobuild-Date: Fri Apr 6 01:47:43 CEST 2012 on sn-devel-104
2012-03-22s3:vfs_gpfs: fix some compiler warningsChristian Ambach1-3/+3
Autobuild-User: Christian Ambach <ambi@samba.org> Autobuild-Date: Thu Mar 22 20:14:34 CET 2012 on sn-devel-104
2012-03-22s3:vfs_gpfs: remove fallback to linux_setleaseChristian Ambach1-6/+0
if setting the lease in GPFS failed, there is not much sense in trying to set a lease just locally that would not inform us of openers on other cluster nodes
2012-03-22s3:vfs_gpfs: correct use of profiling macrosChristian Ambach1-4/+5
under certain conditions START_PROFILE could have been called, but no END_PROFILE
2012-03-22s3:vfs_gpfs: Implement fallocate callback for GPFSChristof Schmitt1-0/+41
GPFS provides the gpfs_prealloc call. Implement the fallocate callback with mode VFS_FALLOCATE_EXTEND_SIZE using this call. There is no support for VFS_FALLOCATE_KEEP_SIZE, so report this mode as not available.
2012-03-22s3:vfs_gpfs: Report disk space and usage on GPFS share according to quotasChristof Schmitt1-0/+129
When a client requests the information about free space and space used, adjust the reported values according to quotas in the GPFS file system: - Retrieve quotas for the current user, current group and fileset for the top level of the share. - If the soft block quota grace time has expired, report disk as full. - If a hard block quota has been exceeded, report disk as full. - If none of the hard block quotas been exceeded, report share size and free space according to the lowest limits found in the quotas. - If no applicable hard block quota has been set, report the information from the statfs call. This feature is disabled by default and has to be enabled by setting the option gpfs:dfreequota.
2012-02-10s3:vfs_gpfs:quieten an expectable warning messageChristian Ambach1-1/+5
Autobuild-User: Christian Ambach <ambi@samba.org> Autobuild-Date: Fri Feb 10 20:14:12 CET 2012 on sn-devel-104
2012-02-10s3:vfs_gpfs: fix a compiler warningChristian Ambach1-1/+2
2012-02-10s3:vfs_gpfs:Fix query of creation time from GPFSChristof Schmitt1-0/+3
Setting the creation time through SetFileTime on a GPFS file system and querying it with GetFileTime shows a mismatch. The vfs_gpfs module first retrieves the information from the operating system and the flag st_ex_calculated_birthtime is set to false. When vfs_gpfs retrieves the birthtime from GPFS the flag st_ex_calculated_birthtime has to be set to true. Otherwise the birth time will get overwritten by a call to update_stat_ex_mtime, reporting the wrong time to a client system. Signed-off-by: Christian Ambach <ambi@samba.org>
2012-02-10s3:vfs_gpfs: make "gpfs:getrealfilename" a per share optionStefan Metzmacher1-0/+14
metze Signed-off-by: Christian Ambach <ambi@samba.org>
2012-02-10s3:vfs_gpfs: make "gpfs:ftruncate" a per share optionStefan Metzmacher1-0/+13
metze Signed-off-by: Christian Ambach <ambi@samba.org>
2012-02-10s3:vfs_gpfs: make "gpfs:winattr" a per share optionStefan Metzmacher1-0/+70
metze Signed-off-by: Christian Ambach <ambi@samba.org>
2012-02-10s3:vfs_gpfs: be less verbose in get/set_xattr functionsStefan Metzmacher1-2/+2
metze Signed-off-by: Christian Ambach <ambi@samba.org>