-
Notifications
You must be signed in to change notification settings - Fork 121
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: diskfs/go-diskfs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.5.1
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: diskfs/go-diskfs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.5.2
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 5 commits
- 19 files changed
- 2 contributors
Commits on Mar 3, 2025
-
extract byte diff comparison test utility into common testhelper (#283)
Signed-off-by: Avi Deitcher <avi@deitcher.net>
Configuration menu - View commit details
-
Copy full SHA for 9238e8f - Browse repository at this point
Copy the full SHA 9238e8fView commit details
Commits on Mar 6, 2025
-
squashfs: fix directory inode size (#286)
Due to SquashFS spec https://dr-emann.github.io/squashfs/squashfs.html#_directory_inodes Section 5.2, it says about directory inode file size ''' This value is 3 bytes larger than the real listing. The Linux kernel creates "." and ".." entries for offsets 0 and 1, and only after 3 looks into the listing, subtracting 3 from the size. ''' In go-disks the size is calculated by serialize the 'directory'. A directory serialization includes multiple 'directoryHeader's and 'directoryEntryRaw's. This aligns with the dir_size calculation logic with well-known squasjfs-tools project https://github.com/plougher/squashfs-tools/blob/master/squashfs-tools/mksquashfs.c#L1549 Note that the file_size is set to 3 larger than the size. Thus here, we set directoryLocation.size to 3 bytes larger and the new value will be used to set basicDirectory.fileSize. Fixes #285 Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Configuration menu - View commit details
-
Copy full SHA for 6693615 - Browse repository at this point
Copy the full SHA 6693615View commit details
Commits on Mar 10, 2025
-
SquashFS | Fix some bugs (#289)
* squashfs: add support for Disk.CreateFilesystem API Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> * filesystem: add Close() method for cleaning jobs When building filesystems, we usually have some temp files or directories. The `Close()` method will help to do clean jobs when we destroy the FileSystem struct. Fixes #288 Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> * squashfs: fix example disk block size squashfs requires block size must be >= 4KB. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> --------- Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Configuration menu - View commit details
-
Copy full SHA for 173d3fa - Browse repository at this point
Copy the full SHA 173d3faView commit details -
Squashfs: fix error format when file larger than block size (#287)
* squashfs: fix blocks start field in FileInode Due to SquashFS, the first field of both File inode and extended file inode is called 'blocks start', that means ``` The offset from the start of the archive to the first data block. ``` Link https://dr-emann.github.io/squashfs/squashfs.html#_file_inodes Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> * squashfs: fix fragment block location The granularity of fragment data writing is block, so we don't need to return an unaligned fragment amount but 'sized chunks' everytime we write a fragmentdata block, the variable location should be added with a size of 'blocksize', which means that we have written a new fragment block. The variable `location` will be reused to tell new accumulated fragmentblocks position. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> * squashfs: clear cumulative variable for fragment data The variable fragmentData is used to record if the current fragment data is enough to occupy a block. Once a block is written, it should be cleared for a new round of loop. Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> * squashfs: set file inode's frag index when no fragment data Due to spec, frag index of file inode https://dr-emann.github.io/squashfs/squashfs.html#_file_inodes ``` An index into the Fragment Table which describes the fragment block that the tail end of this file is stored in. If not used, this is set to 0xFFFFFFFF. ``` Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> * lint: fix go fmt lint error Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com> --------- Signed-off-by: Xynnn007 <xynnn@linux.alibaba.com>
Configuration menu - View commit details
-
Copy full SHA for 6e6c2a9 - Browse repository at this point
Copy the full SHA 6e6c2a9View commit details -
test for squashfs writing and reading errors (#284)
* test for squashfs writing and reading errors Signed-off-by: Avi Deitcher <avi@deitcher.net> * lint fixes Signed-off-by: Avi Deitcher <avi@deitcher.net> --------- Signed-off-by: Avi Deitcher <avi@deitcher.net>
Configuration menu - View commit details
-
Copy full SHA for 414258f - Browse repository at this point
Copy the full SHA 414258fView commit details
There are no files selected for viewing