FSync Event

Fires when the OS needs to flush an open file's data out to storage.

Syntax

// FUSEFSyncEventArgs carries the FUSE FSync event's parameters.
type FUSEFSyncEventArgs struct {...}

func (args *FUSEFSyncEventArgs) Path() string
func (args *FUSEFSyncEventArgs) FileContext() int32
func (args *FUSEFSyncEventArgs) DataSync() int32
func (args *FUSEFSyncEventArgs) Result() int32
func (args *FUSEFSyncEventArgs) SetResult(value int32)

// FUSEFSyncEvent defines the signature of the FUSE FSync event's handler function.
type FUSEFSyncEvent func(sender *FUSE, args *FUSEFSyncEventArgs)

func (obj *FUSE) GetOnFSyncHandler() FUSEFSyncEvent
func (obj *FUSE) SetOnFSyncHandler(handlerFunc FUSEFSyncEvent)

Remarks

This event fires when the OS needs the virtual filesystem to flush data of the file out to storage which can happen at any time while the file is opened. The file to flush is identified by either Path or FileContext.

To handle this event properly, applications must flush the requested data, writing it out to their backend storage.

Linux: The non-zero of DataSync parameter indicates that only the user data should be flushed and not the metadata.

The ResultCode parameter will always be 0 when the event is fired. If the event cannot be handled in a "successful" manner for some reason (e.g., a resource isn't available, security checks failed, etc.), set it to a negative error code value (e.g. -ENOENT to indicate that the file does not exist) to report an appropriate error. Please refer to the Error Reporting and Handling topic for more information.

Copyright (c) 2022 Callback Technologies, Inc. - All rights reserved.
CBFS FUSE 2020 Go Edition - Version 20.0 [Build 8348]