]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
udf: Provide function to mark entry as deleted using new directory iteration code
authorJan Kara <jack@suse.cz>
Thu, 17 Oct 2024 20:19:47 +0000 (17:19 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Oct 2024 13:40:37 +0000 (15:40 +0200)
[ Upstream commit 4cca7e3df7bea8661a0c2a70c0d250e9aa5cedb4 ]

Provide function udf_fiiter_delete_entry() to mark directory entry as
deleted using new directory iteration code.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/udf/namei.c

index 61a7a7ab9aa71bc7bd161446f1ccf8d4385e0d95..7019ee58da10fd40ae582ac434a3cc20124b09f7 100644 (file)
@@ -714,6 +714,16 @@ out_ok:
        return fi;
 }
 
+static void udf_fiiter_delete_entry(struct udf_fileident_iter *iter)
+{
+       iter->fi.fileCharacteristics |= FID_FILE_CHAR_DELETED;
+
+       if (UDF_QUERY_FLAG(iter->dir->i_sb, UDF_FLAG_STRICT))
+               memset(&iter->fi.icb, 0x00, sizeof(struct long_ad));
+
+       udf_fiiter_write_fi(iter, NULL);
+}
+
 static int udf_delete_entry(struct inode *inode, struct fileIdentDesc *fi,
                            struct udf_fileident_bh *fibh,
                            struct fileIdentDesc *cfi)