aboutsummaryrefslogtreecommitdiff
path: root/block/file-posix.c
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2022-03-29 15:27:12 +0400
committerMarc-André Lureau <marcandre.lureau@redhat.com>2022-05-03 15:17:53 +0400
commitad24b679d215c2f8eaab6125a68e864c2a5d7dde (patch)
tree194050ff45006904a395cf6fd7bae9471376d01d /block/file-posix.c
parent4d14cb0cd7868d11091acf5c930982cae4e3489c (diff)
block: move fcntl_setfl()
It is only used by block/file-posix.c, move it there. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'block/file-posix.c')
-rw-r--r--block/file-posix.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/block/file-posix.c b/block/file-posix.c
index bfd9b21111..48cd096624 100644
--- a/block/file-posix.c
+++ b/block/file-posix.c
@@ -1022,6 +1022,21 @@ static int raw_handle_perm_lock(BlockDriverState *bs,
return ret;
}
+/* Sets a specific flag */
+static int fcntl_setfl(int fd, int flag)
+{
+ int flags;
+
+ flags = fcntl(fd, F_GETFL);
+ if (flags == -1) {
+ return -errno;
+ }
+ if (fcntl(fd, F_SETFL, flags | flag) == -1) {
+ return -errno;
+ }
+ return 0;
+}
+
static int raw_reconfigure_getfd(BlockDriverState *bs, int flags,
int *open_flags, uint64_t perm, bool force_dup,
Error **errp)