---
name: "debugfs_create_file"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/debugfs_create_file"
---

# debugfs\_create\_file(9)

create a file in the debugfs filesystem

## NAME

debugfs\_create\_file - create a file in the debugfs filesystem

## SYNOPSIS

**struct dentry \* debugfs\_create\_file(const char \*** *name***, umode\_t** *mode***, struct dentry \*** *parent***, void \*** *data***, const struct file\_operations \*** *fops***);**

## ARGUMENTS

*name*

a pointer to a string containing the name of the file to create.

*mode*

the permission that the file should have.

*parent*

a pointer to the parent dentry for this file. This should be a directory dentry if set. If this parameter is NULL, then the file will be created in the root of the debugfs filesystem.

*data*

a pointer to something that the caller will want to get to later on. The inode.i\_private pointer will point to this value on the **open** call.

*fops*

a pointer to a struct file\_operations that should be used for this file.

## DESCRIPTION

This is the basic “create a file” function for debugfs. It allows for a wide range of flexibility in creating a file, or a directory (if you want to create a directory, the **debugfs\_create\_dir** function is recommended to be used instead.)

This function will return a pointer to a dentry if it succeeds. This pointer must be passed to the **debugfs\_remove** function when the file is to be removed (no automatic cleanup happens if your module is unloaded, you are responsible here.) If an error occurs, **NULL** will be returned.

If debugfs is not enabled in the kernel, the value -**ENODEV** will be returned.

## COPYRIGHT
