Younger Liu
2013-Jul-27 10:27 UTC
[Ocfs2-devel] Why ocfs2 haven't implemented "steal" for local_alloc system files?
Hi, While analyzing ocfs2 block allocation, I found: When claiming space from inode_alloc (or extent_alloc) system files, if there is no enough space in inode_alloc (or extent_alloc) and global_bitmap, it could steal space from other slots. But when claiming space from local_alloc system files, and no enough space in local_alloc and global_bitmap, it returns -ENOSPC. Why ocfs2 haven't implemented "steal" for local_alloc system files? Is there any some reasons?
Sunil Mushran
2013-Aug-01 03:33 UTC
[Ocfs2-devel] Why ocfs2 haven't implemented "steal" for local_alloc system files?
Because it makes no sense. Unlike inode/extent allocs, local_alloc is a temporary cache. If you fail to allocate, you fallback to the global bitmap. On Sat, Jul 27, 2013 at 3:27 AM, Younger Liu <younger.liu at huawei.com> wrote:> Hi, > While analyzing ocfs2 block allocation, I found: > When claiming space from inode_alloc (or extent_alloc) system files, > if there is no enough space in inode_alloc (or extent_alloc) and > global_bitmap, it could steal space from other slots. > But when claiming space from local_alloc system files, and no > enough space in local_alloc and global_bitmap, it returns -ENOSPC. > > Why ocfs2 haven't implemented "steal" for local_alloc system files? > Is there any some reasons? > > > _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://oss.oracle.com/pipermail/ocfs2-devel/attachments/20130731/e1a999fb/attachment.html
Joel Becker
2013-Aug-01 07:20 UTC
[Ocfs2-devel] Why ocfs2 haven't implemented "steal" for local_alloc system files?
Basically, there's so little in the cache that stealing would be too complex. Really we just want to fall back to the global, and if that is empty, you're near enough ENOSPC that it doesn't much matter. Joel On Wed, Jul 31, 2013 at 08:33:48PM -0700, Sunil Mushran wrote:> Because it makes no sense. Unlike inode/extent allocs, local_alloc is a > temporary cache. If you fail to allocate, you fallback to the global bitmap. > > > On Sat, Jul 27, 2013 at 3:27 AM, Younger Liu <younger.liu at huawei.com> wrote: > > > Hi, > > While analyzing ocfs2 block allocation, I found: > > When claiming space from inode_alloc (or extent_alloc) system files, > > if there is no enough space in inode_alloc (or extent_alloc) and > > global_bitmap, it could steal space from other slots. > > But when claiming space from local_alloc system files, and no > > enough space in local_alloc and global_bitmap, it returns -ENOSPC. > > > > Why ocfs2 haven't implemented "steal" for local_alloc system files? > > Is there any some reasons? > > > > > > _______________________________________________ > > Ocfs2-devel mailing list > > Ocfs2-devel at oss.oracle.com > > https://oss.oracle.com/mailman/listinfo/ocfs2-devel > >> _______________________________________________ > Ocfs2-devel mailing list > Ocfs2-devel at oss.oracle.com > https://oss.oracle.com/mailman/listinfo/ocfs2-devel-- "Born under a bad sign. I been down since I began to crawl. If it wasn't for bad luck, I wouldn't have no luck at all." http://www.jlbec.org/ jlbec at evilplan.org