]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
ceph: Uninline the data on a file opened for writing wip-uninline-on-open
authorDavid Howells <dhowells@redhat.com>
Wed, 15 Dec 2021 23:48:33 +0000 (23:48 +0000)
committerJeff Layton <jlayton@kernel.org>
Fri, 21 Jan 2022 15:20:15 +0000 (10:20 -0500)
commitc855a35c8d884628e8a5f05e9de9ebda2086ea29
tree5185d7379ba828bbcdf8dde0991dd6a845659797
parent0269f21b82086202c358b23b93048e3a47dd2202
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>
fs/ceph/addr.c
fs/ceph/file.c
fs/ceph/super.h