diff options
author | Nikolaus Rath <Nikolaus@rath.org> | 2017-05-25 13:12:06 -0700 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2017-05-25 13:12:06 -0700 |
commit | 6ac254c00fc6026fd462b7b93aaa9dc4aa676f69 (patch) | |
tree | 1bed45a16bd4c6bebed390e25df197c66356e90f /include/fuse.h | |
parent | 8641db4af724682fb1c922cbecf6c7e1dfe1a71c (diff) | |
download | libfuse-6ac254c00fc6026fd462b7b93aaa9dc4aa676f69.tar.gz |
Document RENAME_EXCHANGE and RENAME_NOREPLACE flags.
Diffstat (limited to 'include/fuse.h')
-rw-r--r-- | include/fuse.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/fuse.h b/include/fuse.h index 754303f..0c5741f 100644 --- a/include/fuse.h +++ b/include/fuse.h @@ -339,8 +339,16 @@ struct fuse_operations { /** Create a symbolic link */ int (*symlink) (const char *, const char *); - /** Rename a file */ - int (*rename) (const char *, const char *, unsigned int); + /** Rename a file + * + * *flags* may be `RENAME_EXCHANGE` or `RENAME_NOREPLACE`. If + * RENAME_NOREPLACE is specified, the filesystem must not + * overwrite *newname* if it exists and return an error + * instead. If `RENAME_EXCHANGE` is specified, the filesystem + * must atomically exchange the two files, i.e. both must + * exist and neither may be deleted. + */ + int (*rename) (const char *, const char *, unsigned int flags); /** Create a hard link to a file */ int (*link) (const char *, const char *); |