be mapped into a lower level POSIX one, and if so can
we get it ? */
- if (!IS_PENDING_LOCK(plock->lock_type) && lp_posix_locking(SNUM(fsp->conn))) {
+ if (!IS_PENDING_LOCK(plock->lock_type) && lp_posix_locking(fsp->conn->params)) {
int errno_ret;
if (!set_posix_lock_windows_flavour(fsp,
plock->start,
be mapped into a lower level POSIX one, and if so can
we get it ? */
- if (!IS_PENDING_LOCK(plock->lock_type) && lp_posix_locking(SNUM(br_lck->fsp->conn))) {
+ if (!IS_PENDING_LOCK(plock->lock_type) && lp_posix_locking(br_lck->fsp->conn->params)) {
int errno_ret;
/* The lower layer just needs to attempt to
br_lck->modified = True;
/* Unlock the underlying POSIX regions. */
- if(lp_posix_locking(SNUM(br_lck->fsp->conn))) {
+ if(lp_posix_locking(br_lck->fsp->conn->params)) {
release_posix_lock_windows_flavour(br_lck->fsp,
plock->start,
plock->size,
}
/* Unlock any POSIX regions. */
- if(lp_posix_locking(SNUM(br_lck->fsp->conn))) {
+ if(lp_posix_locking(br_lck->fsp->conn->params)) {
release_posix_lock_posix_flavour(br_lck->fsp,
plock->start,
plock->size,
* This only conflicts with Windows locks, not POSIX locks.
*/
- if(lp_posix_locking(SNUM(fsp->conn)) && (lock_flav == WINDOWS_LOCK)) {
+ if(lp_posix_locking(fsp->conn->params) && (lock_flav == WINDOWS_LOCK)) {
ret = is_posix_locked(fsp, &start, &size, &lock_type, WINDOWS_LOCK);
DEBUG(10,("brl_locktest: posix start=%.0f len=%.0f %s for fnum %d file %s\n",
* see if there is a POSIX lock from a UNIX or NFS process.
*/
- if(lp_posix_locking(SNUM(fsp->conn))) {
+ if(lp_posix_locking(fsp->conn->params)) {
BOOL ret = is_posix_locked(fsp, pstart, psize, plock_type, POSIX_LOCK);
DEBUG(10,("brl_lockquery: posix start=%.0f len=%.0f %s for fnum %d file %s\n",
struct process_id pid = procid_self();
BOOL unlock_individually = False;
- if(lp_posix_locking(SNUM(fsp->conn))) {
+ if(lp_posix_locking(fsp->conn->params)) {
/* Check if there are any Windows locks associated with this dev/ino
pair that are not this fnum. If so we need to call unlock on each
}
}
- if(lp_posix_locking(SNUM(fsp->conn)) && num_deleted_windows_locks) {
+ if(lp_posix_locking(fsp->conn->params) && num_deleted_windows_locks) {
/* Reduce the Windows lock POSIX reference count on this dev/ino pair. */
reduce_windows_lock_ref_count(fsp, num_deleted_windows_locks);
}
SMB_BIG_UINT offset,
enum brl_type lock_type)
{
- int snum = SNUM(fsp->conn);
- int strict_locking = lp_strict_locking(snum);
+ int strict_locking = lp_strict_locking(fsp->conn->params);
enum brl_flavour lock_flav = lp_posix_cifsu_locktype();
BOOL ret = True;
return False;
}
- if (!lp_locking(snum) || !strict_locking) {
+ if (!lp_locking(fsp->conn->params) || !strict_locking) {
return False;
}
return fsp->is_directory ? NT_STATUS_INVALID_DEVICE_REQUEST : NT_STATUS_INVALID_HANDLE;
}
- if (!lp_locking(SNUM(fsp->conn))) {
+ if (!lp_locking(fsp->conn->params)) {
return NT_STATUS_OK;
}
return NULL;
}
- if (!lp_locking(SNUM(fsp->conn))) {
+ if (!lp_locking(fsp->conn->params)) {
*perr = NT_STATUS_OK;
return NULL;
}
return fsp->is_directory ? NT_STATUS_INVALID_DEVICE_REQUEST : NT_STATUS_INVALID_HANDLE;
}
- if (!lp_locking(SNUM(fsp->conn))) {
+ if (!lp_locking(fsp->conn->params)) {
return NT_STATUS_OK;
}
NT_STATUS_INVALID_DEVICE_REQUEST : NT_STATUS_INVALID_HANDLE;
}
- if (!lp_locking(SNUM(fsp->conn))) {
+ if (!lp_locking(fsp->conn->params)) {
return NT_STATUS_DOS(ERRDOS, ERRcancelviolation);
}
{
struct byte_range_lock *br_lck;
- if (!lp_locking(SNUM(fsp->conn))) {
+ if (!lp_locking(fsp->conn->params)) {
return;
}
int *fd_array = NULL;
size_t count, i;
- if (!lp_locking(SNUM(fsp->conn)) || !lp_posix_locking(SNUM(conn))) {
+ if (!lp_locking(fsp->conn->params) || !lp_posix_locking(conn->params)) {
/*
* No locking or POSIX to worry about or we want POSIX semantics
* which will lose all locks on all fd's open on this dev/inode,
#define FN_LOCAL_PARM_BOOL(fn_name,val) \
BOOL fn_name(const struct share_params *p) {return(LP_SNUM_OK(p->service)? ServicePtrs[(p->service)]->val : sDefault.val);}
+#define FN_LOCAL_PARM_INTEGER(fn_name,val) \
+ int fn_name(const struct share_params *p) {return(LP_SNUM_OK(p->service)? ServicePtrs[(p->service)]->val : sDefault.val);}
#define FN_LOCAL_PARM_STRING(fn_name,val) \
char *fn_name(const struct share_params *p) {return(lp_string((LP_SNUM_OK(p->service) && ServicePtrs[(p->service)]->val) ? ServicePtrs[(p->service)]->val : sDefault.val));}
#define FN_LOCAL_CHAR(fn_name,val) \
FN_LOCAL_BOOL(lp_map_archive, bMap_archive)
FN_LOCAL_BOOL(lp_store_dos_attributes, bStoreDosAttributes)
FN_LOCAL_BOOL(lp_dmapi_support, bDmapiSupport)
-FN_LOCAL_BOOL(lp_locking, bLocking)
-FN_LOCAL_INTEGER(lp_strict_locking, iStrictLocking)
-FN_LOCAL_BOOL(lp_posix_locking, bPosixLocking)
+FN_LOCAL_PARM_BOOL(lp_locking, bLocking)
+FN_LOCAL_PARM_INTEGER(lp_strict_locking, iStrictLocking)
+FN_LOCAL_PARM_BOOL(lp_posix_locking, bPosixLocking)
FN_LOCAL_BOOL(lp_share_modes, bShareModes)
FN_LOCAL_BOOL(lp_oplocks, bOpLocks)
FN_LOCAL_BOOL(lp_level2_oplocks, bLevel2OpLocks)
printf "BOOL %s(const struct share_params *p );\n", a[2]
}
+/^FN_LOCAL_PARM_INTEGER/ {
+ split($0,a,"[,()]")
+ printf "int %s(const struct share_params *p );\n", a[2]
+}
+
/^FN_LOCAL_LIST/ {
split($0,a,"[,()]")
printf "const char **%s(int );\n", a[2]