ext2: implement set_flags

needed for fcntl(F_SETFL)

Change-Id: I2e71bcf70d794f690985e8c26ae1b0be51a0e590
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7094
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
Jérôme Duval
2023-11-08 13:39:21 +00:00
committed by Adrien Destugues
parent c110a5ebf9
commit 2d005cca08
@@ -561,6 +561,20 @@ ext2_ioctl(fs_volume* _volume, fs_vnode* _node, void* _cookie, uint32 cmd,
}
/*! Sets the open-mode flags for the open file cookie - only
supports O_APPEND currently, but that should be sufficient
for a file system.
*/
static status_t
ext2_set_flags(fs_volume* _volume, fs_vnode* _node, void* _cookie, int flags)
{
file_cookie* cookie = (file_cookie*)_cookie;
cookie->open_mode = (cookie->open_mode & ~O_APPEND) | (flags & O_APPEND);
return B_OK;
}
static status_t
ext2_fsync(fs_volume* _volume, fs_vnode* _node)
{
@@ -1680,7 +1694,7 @@ fs_vnode_ops gExt2VnodeOps = {
&ext2_get_file_map,
&ext2_ioctl,
NULL,
&ext2_set_flags,
NULL, // fs_select
NULL, // fs_deselect
&ext2_fsync,