Displaying 12 results from an estimated 12 matches for "iget_root".
2011 Aug 02
1
Missing Error Condition Check in core/fs/fs.c
In 'core/fs/fs.c', 'fs.root' is set, but the 'iget_root' function
pointer call might return a null pointer and we don't check for it. A
symptom was that QEmu crashed as EIP landed outside of memory. - Shao
/* start out in the root directory */
if (fs.fs_ops->iget_root) {
fs.root = fs.fs_ops->iget_root(&fs);...
2013 Oct 18
0
[RFC/PATCH 3/3] Wire up MultiFS support.
...into hdd queue */
+ if (add_fs(fsp, hdd, partition - 1))
+ goto free_dev;
+
+ /* initialize the cache */
+ if (fsp->fs_dev && fsp->fs_dev->cache_data)
+ cache_init(fsp->fs_dev, blk_shift);
+
+ /* start out in the root directory */
+ if (fsp->fs_ops->iget_root) {
+ fsp->root = fsp->fs_ops->iget_root(fsp);
+ fsp->cwd = get_inode(fsp->root);
+ }
+
+ return fsp;
+free_dev:
+ free(dev->disk);
+ free(dev->cache_data);
+ free(dev);
+bail:
+ free(fsp);
+ return NULL;
+}
+
+/*
+ * Initialize MultiFS support...
2009 Oct 25
0
[fsc]Adding a generic path_lookup function in VFS
Hi hpa,
I just added the generic path_lookup function for EXTLINUX. hpa, It changed
a lot, so I want hear something from you.
First , here is the main skeleton of the generic path_lookup function:
> if (*name == '/') {
> inode = this_fs->fs_ops->iget_root(); // The way to get the root
> inode is different from different fs
> while(*name == '/')
> name++;
> } else {
> inode = this_inode; // pwd
> }
> parent = inode;
>
> while (*name) {
> p =...
2013 Nov 19
2
[PATCH] Add filesystem UUID to SYSAPPEND for FAT
...readdir = iso_readdir,
.next_extent = no_next_extent,
+ .fs_uuid = NULL,
};
diff --git a/core/fs/ntfs/ntfs.c b/core/fs/ntfs/ntfs.c
index f54df7e..6a983de 100644
--- a/core/fs/ntfs/ntfs.c
+++ b/core/fs/ntfs/ntfs.c
@@ -1385,4 +1385,5 @@ const struct fs_ops ntfs_fs_ops = {
.iget_root = ntfs_iget_root,
.iget = ntfs_iget,
.next_extent = ntfs_next_extent,
+ .fs_uuid = NULL,
};
diff --git a/core/fs/pxe/pxe.c b/core/fs/pxe/pxe.c
index 4de4dbf..5efcd9c 100644
--- a/core/fs/pxe/pxe.c
+++ b/core/fs/pxe/pxe.c
@@ -695,4 +695,5 @@ const struct fs_ops...
2015 Jul 22
13
[PULL 0/8] MultiFS suppport for BIOS and EFI
So last week I was wondering if XFS was still working -- even with its
last on-disk structure changes -- and it _suprisingly_ worked as
expected. Right, now I can finally get rid of GRUB and use Syslinux to
boot my Linux on EFI from a rootfs with xfs. Shit, I have two
partitions (the first one being the required ESP) so there is no way to
access the other partitions since because Syslinux does not
2014 May 29
0
[PATCH 2/2] core/fs: Add support for Unix File system 1/2.
...->mtime = ufs_inode->m_time;
+ inode->blocks = ufs_inode->bytes_held >> fs->block_shift;
+ inode->flags = ufs_inode->flags;
+ memcpy(inode->pvt, ufs_inode->direct_blk_ptr,
+ sizeof(uint64_t) * UFS_NBLOCKS);
+
+ return inode;
+}
+
+/*
+ * Both ufs_iget_root and ufs_iget callback based on ufs type.
+ */
+static struct inode *
+ufs_iget_root(struct fs_info *fs)
+{
+ return UFS_SB(fs)->ufs_iget_by_inr(fs, UFS_ROOT_INODE);
+}
+
+static struct inode *
+ufs_iget(const char *dname, struct inode *parent)
+{
+ const struct ufs_dir_entry *dir;
+ str...
2013 Jul 12
1
[PATCH 001/001] core/fs: Add support to Unix File system 1/2.
...->mtime = ufs_inode->m_time;
+ inode->blocks = ufs_inode->bytes_held >> fs->block_shift;
+ inode->flags = ufs_inode->flags;
+ memcpy(inode->pvt, ufs_inode->direct_blk_ptr,
+ sizeof(uint64_t) * UFS_NBLOCKS);
+
+ return inode;
+}
+
+/*
+ * Both ufs_iget_root and ufs_iget callback based on ufs type.
+ */
+static struct inode *
+ufs_iget_root(struct fs_info *fs)
+{
+ return UFS_SB(fs)->ufs_iget_by_inr(fs, UFS_ROOT_INODE);
+}
+
+static struct inode *
+ufs_iget(const char *dname, struct inode *parent)
+{
+ const struct ufs_dir_entry *dir;
+ str...
2012 Aug 20
13
[PATCH 00/12] Multidisk support
Hello,
the following patches should get multidisk access working.
The syntax accepted is the following:
(hdx,y)/path/to/file
where x is the disk number and start at 0 and the y is the partition number starting at 1. So (hd0,1) is the first partition of the first disk.
the other accepted syntax is using MBR's 32 bits disk signature so for example:
(mbr:0x12345678,2)/foo/bar
would address
2012 Jun 26
2
[GIT PULL] elflink bug fixes
...fat/fat.c
@@ -779,7 +779,7 @@ static int vfat_fs_init(struct fs_info *fs)
return fs->block_shift;
}
-int vfat_copy_superblock(void *buf)
+static int vfat_copy_superblock(void *buf)
{
struct fat_bpb fat;
struct disk *disk;
@@ -821,4 +821,5 @@ const struct fs_ops vfat_fs_ops = {
.iget_root = vfat_iget_root,
.iget = vfat_iget,
.next_extent = fat_next_extent,
+ .copy_super = vfat_copy_superblock,
};
diff --git a/core/include/fs.h b/core/include/fs.h
index 481e085..08ac738 100644
--- a/core/include/fs.h
+++ b/core/include/fs.h
@@ -72,6 +72,8 @@ struct fs_...
2014 May 29
3
[PATCH 0/2] UFS1/2 support series
From: Raphael S. Carvalho <raphael.scarv at gmail.com>
Wrote the documentation below. I think it would be good to push the doc to
the wiki as soon as the UFS support gets merged.
Unix Fast File System (UFS/FFS) 1/2 on Syslinux - (usage/install)
-----
There is a confusion about the name of this file system, then I decided to
contact the author who replied:
"The name has always been
2014 May 29
3
[PATCH v2 0/2] UFS1/2 support series
From: Raphael S. Carvalho <raphael.scarv at gmail.com>
Change since v1:
* Fix bug on dentry structure (thank you specification; btw, sarcasm), and
consequently a bug on ufs_readdir.
* Add readlink support (applied tests for symlinks whose destionation path
were stored in blk pointers and the file itself).
* Several improvements.
Wrote the documentation below. I think it would be good to
2012 Sep 03
1
[GIT-PULL] XFS filesystem driver
...in xfs_next_extent()
xfs: Add xfs_readlink()
Paulo Alcantara (46):
EXTLINUX: Initial XFS filesystem support
mbr: Add support for loading VBRs from XFS filesystems
xfs: Initial skeleton for XFS filesystem support
xfs: Implement xfs_fs_init() function
xfs: Add xfs_iget_root() to XFS filesystem ops
xfs: Fix inode lookup in chunks of 64 inodes
xfs: Add xfs_get_agi() function
xfs: Fix inode size attribution
xfs: Add xfs_iget() to filesystem ops
xfs: Fix some inode number conversions
xfs: Remove duplicate variable attribution
xfs:...