04-29-2011
The specification (
http://www.ietf.org/rfc/rfc3530.txt ) delineates read-locks and write-locks.
So, if your systems support mandatory locking, the result will be the same server to client as it is for local file I/O. The locks apply everywhere -> to all nfs clients.
If I open the file lock-write, nobody else can write the file. Nobody else can open the file for read-lock either. On your system - Read locks may be called shared locks; write locks exclusive locks.
I'm not sure what else will help you.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have a set of scripts to do software releases to remote machines which uses ftp. I'm having a problem getting 'lost connection' messages.
What I wanted to ask is, does ftp employ some sort of file locking if two ftp processes are trying to copy the same file at the same time? & if so could... (2 Replies)
Discussion started by: Kevin Pryke
2 Replies
2. UNIX for Dummies Questions & Answers
Hi,
Simple question but I just need to confirm the answer:
If two or more processes attempt to move the same file at exactly the same time, will unix internal file locking allow only one of the processes to access the file?
Many thanks
Helen :) (2 Replies)
Discussion started by: Bab00shka
2 Replies
3. UNIX for Dummies Questions & Answers
Hi
I would like to lock a file using korn Shell Script before coping the contents of the file.
Do let me know
Thanks in Advance.
Senone (3 Replies)
Discussion started by: senone
3 Replies
4. UNIX for Advanced & Expert Users
Hi,
Does anyone know what happens when two processes are simultaneously trying to write to a single file in UNIX (AIX)?
Cheers (1 Reply)
Discussion started by: penfold
1 Replies
5. UNIX for Dummies Questions & Answers
We want to lock a file, during a program(pgm1) execution(until the execution of the program is completed), so that other program(pgm2) can't read/edit that file, until execution of earlier program(pgm1) is completed. How can this be achieved thru shell scripting...
we tried chmod +l option, but... (1 Reply)
Discussion started by: thanuman
1 Replies
6. UNIX for Dummies Questions & Answers
how do i implement file locking in unix?
example if i want to update a file, i would like to use file locking. how do i implement it?
i am using shell script
thanks (3 Replies)
Discussion started by: yang
3 Replies
7. UNIX for Dummies Questions & Answers
how to ensure all files are being locked while updateing some files?
example when i want to update the password and shadow file in unix. how do i implement file locking??
please advice
thanks (2 Replies)
Discussion started by: yang
2 Replies
8. UNIX for Advanced & Expert Users
i am working on a device runnin on linux....i have configured the samba server in the device such that my windows PC can access a shared folder in the device. Also in the device i am runnin some programs which access the files in this shared folder. What i want to know is whether there is any way i... (1 Reply)
Discussion started by: abhinx
1 Replies
9. UNIX for Dummies Questions & Answers
Hi everyone! I'm totally new to Unix/Linux. In my last job I was able to be exposed a little bit by using unbuntu desktop for 11 months and also the xemacs editor. I basically know nothing and I'm totally interested in ditching the Microsoft Environment.
I would like to build a file server... (1 Reply)
Discussion started by: jtaylor69
1 Replies
10. Homework & Coursework Questions
hai guys,
I'am a newbie to this forum and to unix as well...as a part of our syllabus i got a project in Unix which i have to do in 4 days.Project is kinda File locking i will give the project specs...guys please help me..
Established client-server architecture using socket... (1 Reply)
Discussion started by: rosemolr
1 Replies
FLOCK(2) BSD System Calls Manual FLOCK(2)
NAME
flock -- apply or remove an advisory lock on an open file
SYNOPSIS
#include <sys/file.h>
#define LOCK_SH 1 /* shared lock */
#define LOCK_EX 2 /* exclusive lock */
#define LOCK_NB 4 /* don't block when locking */
#define LOCK_UN 8 /* unlock */
int
flock(int fd, int operation);
DESCRIPTION
Flock() applies or removes an advisory lock on the file associated with the file descriptor fd. A lock is applied by specifying an operation
parameter that is one of LOCK_SH or LOCK_EX with the optional addition of LOCK_NB. To unlock an existing lock operation should be LOCK_UN.
Advisory locks allow cooperating processes to perform consistent operations on files, but do not guarantee consistency (i.e., processes may
still access files without using advisory locks possibly resulting in inconsistencies).
The locking mechanism allows two types of locks: shared locks and exclusive locks. At any time multiple shared locks may be applied to a
file, but at no time are multiple exclusive, or both shared and exclusive, locks allowed simultaneously on a file.
A shared lock may be upgraded to an exclusive lock, and vice versa, simply by specifying the appropriate lock type; this results in the pre-
vious lock being released and the new lock applied (possibly after other processes have gained and released the lock).
Requesting a lock on an object that is already locked normally causes the caller to be blocked until the lock may be acquired. If LOCK_NB is
included in operation, then this will not happen; instead the call will fail and the error EWOULDBLOCK will be returned.
NOTES
Locks are on files, not file descriptors. That is, file descriptors duplicated through dup(2) or fork(2) do not result in multiple instances
of a lock, but rather multiple references to a single lock. If a process holding a lock on a file forks and the child explicitly unlocks the
file, the parent will lose its lock.
Processes blocked awaiting a lock may be awakened by signals.
RETURN VALUES
Zero is returned if the operation was successful; on an error a -1 is returned and an error code is left in the global location errno.
ERRORS
The flock() call fails if:
[EWOULDBLOCK] The file is locked and the LOCK_NB option was specified.
[EBADF] The argument fd is an invalid descriptor.
[EINVAL] The argument fd refers to an object other than a file.
[ENOTSUP] The referenced descriptor is not of the correct type.
SEE ALSO
close(2), dup(2), execve(2), fork(2), open(2)
HISTORY
The flock() function call appeared in 4.2BSD.
4.2 Berkeley Distribution December 11, 1993 4.2 Berkeley Distribution