mirror of https://gitee.com/openkylin/linux.git
41963c10c4
Block/SCSI layout write completion may add committable extents to the extent tree before updating the layout's last-written byte under the inode lock. If a sync happens before this value is updated, then prepare_layoutcommit may find and encode these extents which would produce a LAYOUTCOMMIT request whose encoded extents are larger than the request's loca_length. Fix this by using a last-written byte value that is updated atomically with the extent tree so that commitable extents always match. Signed-off-by: Benjamin Coddington <bcodding@redhat.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> |
||
---|---|---|
.. | ||
Makefile | ||
blocklayout.c | ||
blocklayout.h | ||
dev.c | ||
extent_tree.c | ||
rpc_pipefs.c |