]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
convert dlmfs
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 9 May 2024 05:26:44 +0000 (01:26 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 16 Nov 2025 06:35:03 +0000 (01:35 -0500)
All modifications via normal VFS codepaths; just take care of making
persistent in ->create() and ->mkdir() and that's it (removal side
doesn't need any changes, since it uses simple_rmdir() for ->rmdir()
and calls simple_unlink() from ->unlink()).

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ocfs2/dlmfs/dlmfs.c

index cccaa1d6fbbac13ebcaf14a9183277890708e643..339f0b11cdc8175af9d416e0252d378f7f03b7df 100644 (file)
@@ -441,8 +441,7 @@ static struct dentry *dlmfs_mkdir(struct mnt_idmap * idmap,
        ip->ip_conn = conn;
 
        inc_nlink(dir);
-       d_instantiate(dentry, inode);
-       dget(dentry);   /* Extra count - pin the dentry in core */
+       d_make_persistent(dentry, inode);
 
        status = 0;
 bail:
@@ -480,8 +479,7 @@ static int dlmfs_create(struct mnt_idmap *idmap,
                goto bail;
        }
 
-       d_instantiate(dentry, inode);
-       dget(dentry);   /* Extra count - pin the dentry in core */
+       d_make_persistent(dentry, inode);
 bail:
        return status;
 }
@@ -574,7 +572,7 @@ static int dlmfs_init_fs_context(struct fs_context *fc)
 static struct file_system_type dlmfs_fs_type = {
        .owner          = THIS_MODULE,
        .name           = "ocfs2_dlmfs",
-       .kill_sb        = kill_litter_super,
+       .kill_sb        = kill_anon_super,
        .init_fs_context = dlmfs_init_fs_context,
 };
 MODULE_ALIAS_FS("ocfs2_dlmfs");