summaryrefslogtreecommitdiffstats
path: root/fs/ceph/super.h
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2021-12-15 23:48:33 +0000
committerIlya Dryomov <idryomov@gmail.com>2022-03-01 18:26:36 +0100
commit083db6fd3e73fc4f9ee74d2da1012a94216d6a60 (patch)
tree9bc6936bfd60b7c05c04abcbe225b68a8ff0d465 /fs/ceph/super.h
parent5b19f1eba45902bc75b92e9962374fc98a40e174 (diff)
downloadlinux-083db6fd3e73fc4f9ee74d2da1012a94216d6a60.tar.gz
linux-083db6fd3e73fc4f9ee74d2da1012a94216d6a60.tar.bz2
linux-083db6fd3e73fc4f9ee74d2da1012a94216d6a60.zip
ceph: uninline the data on a file opened for writing
If a ceph file is made up of inline data, uninline that in the ceph_open() rather than in ceph_page_mkwrite(), ceph_write_iter(), ceph_fallocate() or ceph_write_begin(). This makes it easier to convert to using the netfs library for VM write hooks. Should this also take the inode lock for the duration on uninlining to prevent a race with truncation? [ jlayton: fix up folio locking, update i_inline_version after write ] Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph/super.h')
-rw-r--r--fs/ceph/super.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 67f145e1ae7a..a35c27489901 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -1213,7 +1213,7 @@ extern void __ceph_touch_fmode(struct ceph_inode_info *ci,
/* addr.c */
extern const struct address_space_operations ceph_aops;
extern int ceph_mmap(struct file *file, struct vm_area_struct *vma);
-extern int ceph_uninline_data(struct file *filp, struct page *locked_page);
+extern int ceph_uninline_data(struct file *file);
extern int ceph_pool_perm_check(struct inode *inode, int need);
extern void ceph_pool_perm_destroy(struct ceph_mds_client* mdsc);
int ceph_purge_inode_cap(struct inode *inode, struct ceph_cap *cap, bool *invalidate);