Existing files with volatile-ish names may be accidentally opened by
llapi_create_volatile(). This is not the intent so disallow this
behavior by adding O_EXCL and O_NOFOLLOW to the flags to open().
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I4246ec7660b154ea2aeca6c28a4704ddd9d429f8
Reviewed-on: http://review.whamcloud.com/16126
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
if (rc >= sizeof(file_path))
return -E2BIG;
- fd = open(file_path, O_RDWR | O_CREAT | open_flags, S_IRUSR | S_IWUSR);
+ fd = open(file_path,
+ O_RDWR | O_CREAT | O_EXCL | O_NOFOLLOW | open_flags,
+ S_IRUSR | S_IWUSR);
if (fd < 0) {
llapi_error(LLAPI_MSG_ERROR, errno,
"Cannot create volatile file '%s' in '%s'",