summaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2020-01-13 21:21:49 +0100
committerAndreas Gruenbacher <agruenba@redhat.com>2020-06-05 20:19:20 +0200
commitf286d627ef026a4d04b41ae5917d58ddf243c3c5 (patch)
treefac5959649e646e708c3d6412c984cc86d10221a /include/uapi
parent15f2547b4157a1e7e4d75bec5df097c1436f6cbd (diff)
downloadlinux-stable-f286d627ef026a4d04b41ae5917d58ddf243c3c5.tar.gz
linux-stable-f286d627ef026a4d04b41ae5917d58ddf243c3c5.tar.bz2
linux-stable-f286d627ef026a4d04b41ae5917d58ddf243c3c5.zip
gfs2: Keep track of deleted inode generations in LVBs
When deleting an inode, keep track of the generation of the deleted inode in the inode glock Lock Value Block (LVB). When trying to delete an inode remotely, check the last-known inode generation against the deleted inode generation to skip duplicate remote deletes. This avoids taking the resource group glock in order to verify the block type. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/gfs2_ondisk.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/uapi/linux/gfs2_ondisk.h b/include/uapi/linux/gfs2_ondisk.h
index 2dc10a034de1..07e508e6691b 100644
--- a/include/uapi/linux/gfs2_ondisk.h
+++ b/include/uapi/linux/gfs2_ondisk.h
@@ -171,6 +171,12 @@ struct gfs2_rindex {
#define GFS2_RGF_NOALLOC 0x00000008
#define GFS2_RGF_TRIMMED 0x00000010
+struct gfs2_inode_lvb {
+ __be32 ri_magic;
+ __be32 __pad;
+ __be64 ri_generation_deleted;
+};
+
struct gfs2_rgrp_lvb {
__be32 rl_magic;
__be32 rl_flags;