Displaying 2 results from an estimated 2 matches for "di_format".
2015 Dec 15
8
[PATCH] xfs: Add support for v3 directories
...changed, 399 insertions(+), 230 deletions(-)
diff --git a/core/fs/xfs/xfs.c b/core/fs/xfs/xfs.c
index 8dbc803..6f45973 100644
--- a/core/fs/xfs/xfs.c
+++ b/core/fs/xfs/xfs.c
@@ -74,10 +74,13 @@ static int xfs_readdir(struct file *file, struct dirent *dirent)
return -1;
}
- if (core->di_format == XFS_DINODE_FMT_LOCAL)
+ switch (core->di_format) {
+ case XFS_DINODE_FMT_LOCAL:
return xfs_fmt_local_readdir(file, dirent, core);
- else if (core->di_format == XFS_DINODE_FMT_EXTENTS)
+ case XFS_DINODE_FMT_EXTENTS:
+ case XFS_DINODE_FMT_BTREE:
return xfs_fmt_extents_read...
2012 Sep 03
1
[GIT-PULL] XFS filesystem driver
...= file->fs;
+ xfs_dinode_t *core;
+ struct inode *inode = file->inode;
+ int retval = -1;
+
+ core = xfs_dinode_get_core(fs, inode->ino);
+ if (!core) {
+ xfs_error("Failed to get dinode from disk (ino %llx)", inode->ino);
+ return -1;
+ }
+
+ if (core->di_format == XFS_DINODE_FMT_LOCAL)
+ retval = xfs_fmt_local_readdir(file, dirent, core);
+ else if (core->di_format == XFS_DINODE_FMT_EXTENTS)
+ retval = xfs_fmt_extents_readdir(file, dirent, core);
+
+ return retval;
+}
+
+static uint32_t xfs_getfssec(struct file *file, char *buf, int sectors,
+...