-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmfs_dir.c
More file actions
34 lines (28 loc) · 731 Bytes
/
mfs_dir.c
File metadata and controls
34 lines (28 loc) · 731 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <linux/fs.h>
#include "mfs_dir.h"
#include "mfs_client.h"
/**
* -------------------------------------
* Directory operations handling
* -------------------------------------
*/
static int mfs_dir_readdir(struct file *filp, void *dirent, filldir_t filldir)
{
struct inode *i = file_inode(filp);
struct mfs_client *clt = i->i_sb->s_fs_info;
int res;
res = mfs_client_readdir(clt, filp, dirent, filldir);
if(res < 0)
goto out;
res = dcache_readdir(filp, dirent, filldir);
out:
return res;
}
struct file_operations const mfs_dir_ops = {
.open = dcache_dir_open,
.release = dcache_dir_close,
.llseek = dcache_dir_lseek,
.read = generic_read_dir,
.readdir = mfs_dir_readdir,
.fsync = noop_fsync,
};