Re: [PATCH v6] f2fs: support dynamic reserve/release for device aliasing

Chao Yu via Linux-f2fs-devel <[email protected]>
Newsgroups gmane.linux.file-systems.f2fs,gmane.linux.kernel
Message-ID <[email protected]>
On 8/6/26 00:43, Daeho Jeong wrote:
> On Tue, Aug 4, 2026 at 6:20 PM Chao Yu <[email protected]> wrote:
>>
>> On 7/30/26 23:46, Daeho Jeong wrote:
>>> From: Daeho Jeong <[email protected]>
>>>
>>> This patch adds a dynamic management feature to the existing device
>>> aliasing functionality. It allows users to dynamically reserve or
>>> release specific devices from the filesystem's free pool at runtime
>>> through new ioctls.
>>>
>>> To support this, three new ioctls are introduced:
>>> - F2FS_IOC_RESERVE_DEV_ALIAS: This reclaims the space occupied by a
>>>   device aliasing file. It first performs a capacity check, resets GC
>>>   victim information for the target range, marks the segments as in-use
>>>   to prevent new allocations, and then triggers GC to migrate existing
>>>   valid data out of the range. Finally, it reserves these blocks in the
>>>   SIT to effectively exclude the device from the usable capacity.
>>>
>>> - F2FS_IOC_RELEASE_DEV_ALIAS: This releases the reserved space of a
>>>   previously reserved device aliasing file. It truncates the blocks
>>>   associated with the file, which makes them available for general
>>>   filesystem allocation again.
>>>
>>> - F2FS_IOC_GET_DEV_ALIAS_STATUS: This retrieves the current aliasing
>>>   status of a device aliasing file, returning whether the file is
>>>   released (inactive alias) or reserved (active alias, with blocks
>>>   fully allocated on the device).
>>>
>>> Signed-off-by: Daeho Jeong <[email protected]>
>> Reviewed-by: Chao Yu <[email protected]>
>>
>> Thanks,
> 
> Oh, I overlooked that ei.blk includes the segment0_blkaddr offset (the
> metadata area), so `ei.blk % BLKS_PER_SEC(sbi)` incorrectly checked
> alignment from block 0 rather than the segment area start.

Oh, I may missed this...

> 
> I am going to fix it using the `GET_SEGOFF_FROM_SEG0()` macro:
> if ((GET_SEGOFF_FROM_SEG0(sbi, ei.blk) % BLKS_PER_SEC(sbi)) ||
> (ei.len % BLKS_PER_SEC(sbi))) {
> ...
> }

Looks fine to me.

Thanks,

> 
> Thanks,



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.