Table of Contents

NAME

gfs_delete_fork - delete a fork

SYNOPSIS

#include <gfs.h>

int gfs_delete_fork(int file_id, int subfile, char *forkname);

DESCRIPTION

gfs_delete_fork attempts to delete forkname. If one or more compute nodes have the fork opened, the fork is not actually deleted. It is marked for deletion, and only when the last node has closed the fork is it deleted. This call requires that the file be open to delete a fork. This requirement is a little counterintuitive, but if we were just given a (filename, subfile, forkname) triple, we would basically have to go through all the work of opening the file anyway.

RETURN VALUE

gfs_delete_fork returns 0 if the fork is successfully deleted or marked for deletion, or -1 if an error occurred (in which case, gfs_errno is set appropriately).

ERRORS

GFS_EBADF
file_id is not a valid file.

GFS_EINVAL
subfile is not a valid subfile.

GFS_ENAMETOOLONG
forkname was too long.

GFS_ENOENT
forkname does not exist.


Table of Contents