elTriberium has asked for the wisdom of the Perl Monks concerning the following question:
Say we have multiple systems that all have an nfs-mounted filesystem. All of them want to create a new directory under a common dir, e.g. /mnt/home/volume. I know that there's the O_EXCL mode to sysopen which is guaranteed to fail if a file already exists, but is there a similar way to create a directory?
I though about using this pseudocode:
my $dir = "/mnt/home/volume/"; my $i = 0; while(1) { $i++; my $success = 1; sysopen (FH, $dir . "$i", O_RDWR|O_EXCL|O_CREAT) or $sucess = 0; last if $success; } # Now it should be safe to create dir $i
This looks kind of crappy, is there a better way to do that or a module which already provides that functionality?
Thanks!
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Safely create new directory (mkdir, NFS)
by tye (Sage) on Jul 25, 2012 at 19:37 UTC | |
by elTriberium (Friar) on Jul 26, 2012 at 00:17 UTC | |
Re: Safely create new directory
by BrowserUk (Patriarch) on Jul 25, 2012 at 19:52 UTC | |
by elTriberium (Friar) on Jul 26, 2012 at 07:37 UTC | |
by BrowserUk (Patriarch) on Jul 26, 2012 at 14:51 UTC | |
Re: Safely create new directory
by moritz (Cardinal) on Jul 25, 2012 at 19:24 UTC |
Back to
Seekers of Perl Wisdom