mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
Support the fallocate() file operation.
Currently only the (FALLOC_FL_PUNCH_HOLE) flag combination is supported, since it's the only one that matches the behavior of zfs_space(). This makes it pretty much useless in its current form, but it's a start. To support other flag combinations we would need to modify zfs_space() to make it more flexible, or emulate the desired functionality in zpl_fallocate(). Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #334
This commit is contained in:
committed by
Brian Behlendorf
parent
aec69371a6
commit
cb2d19010d
@@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
$(top_srcdir)/config/kernel-evict-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-fallocate.m4 \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
|
||||
@@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
$(top_srcdir)/config/kernel-evict-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-fallocate.m4 \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
|
||||
@@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
$(top_srcdir)/config/kernel-evict-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-fallocate.m4 \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
|
||||
@@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
$(top_srcdir)/config/kernel-evict-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-fallocate.m4 \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
|
||||
@@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
$(top_srcdir)/config/kernel-evict-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-fallocate.m4 \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
|
||||
@@ -65,6 +65,7 @@ am__aclocal_m4_deps = \
|
||||
$(top_srcdir)/config/kernel-check-disk-size-change.m4 \
|
||||
$(top_srcdir)/config/kernel-d-obtain-alias.m4 \
|
||||
$(top_srcdir)/config/kernel-evict-inode.m4 \
|
||||
$(top_srcdir)/config/kernel-fallocate.m4 \
|
||||
$(top_srcdir)/config/kernel-fmode-t.m4 \
|
||||
$(top_srcdir)/config/kernel-fsync.m4 \
|
||||
$(top_srcdir)/config/kernel-get-disk-ro.m4 \
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
#include <linux/xattr_compat.h>
|
||||
#include <linux/exportfs.h>
|
||||
#include <linux/writeback.h>
|
||||
#include <linux/falloc.h>
|
||||
|
||||
/* zpl_inode.c */
|
||||
extern const struct inode_operations zpl_inode_operations;
|
||||
@@ -42,6 +43,8 @@ extern ssize_t zpl_read_common(struct inode *ip, const char *buf,
|
||||
size_t len, loff_t pos, uio_seg_t segment, int flags, cred_t *cr);
|
||||
extern ssize_t zpl_write_common(struct inode *ip, const char *buf,
|
||||
size_t len, loff_t pos, uio_seg_t segment, int flags, cred_t *cr);
|
||||
extern long zpl_fallocate_common(struct inode *ip, int mode,
|
||||
loff_t offset, loff_t len);
|
||||
|
||||
extern const struct address_space_operations zpl_address_space_operations;
|
||||
extern const struct file_operations zpl_file_operations;
|
||||
|
||||
Reference in New Issue
Block a user