diff options
Diffstat (limited to 'libdiskfs/diskfs.h')
-rw-r--r-- | libdiskfs/diskfs.h | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/libdiskfs/diskfs.h b/libdiskfs/diskfs.h index c0bf5a06..33717f80 100644 --- a/libdiskfs/diskfs.h +++ b/libdiskfs/diskfs.h @@ -100,7 +100,9 @@ struct node struct conch conch; - struct dirmod *dirmod_reqs; + struct modreq *dirmod_reqs; + + struct modreq *filemod_reqs; off_t allocsize; @@ -118,11 +120,11 @@ enum lookup_type RENAME, }; -/* Pending directory modification request */ -struct dirmod +/* Pending directory and file modification request */ +struct modreq { mach_port_t port; - struct dirmod *next; + struct modreq *next; }; @@ -748,6 +750,14 @@ void diskfs_notice_dirchange (struct node *dp, enum dir_changed_type type, char *name); +/* Send notifications to users who have requested them with + file_notice_changes for file NP. The type of modification is TYPE. + START and END identify the affected region of the file's data. + This should be called after the change is fully completed. */ +void +diskfs_notice_filechange (struct node *np, enum file_changed_type type, + off_t start, off_t end); + /* Create a new node structure with DS as its physical disknode. The new node will have one hard reference and no light references. */ struct node *diskfs_make_node (struct disknode *dn); |