[RFC PATCH] xfs: enables file data inlining in inodes

Raghavendra D Prabhu raghu.prabhu13 at gmail.com
Fri Oct 12 07:30:14 CDT 2012


Hi,


* On Thu, Oct 11, 2012 at 04:52:38PM -0300, Carlos Maiolino <cmaiolino at redhat.com> wrote:
>Hi,
>
>this is a first RFC patch of my work on data inlining, i.e. use the xfs inode's
>literal area to store user's data.
>
>This first patch just cares about write and read new files into inode's literal
>area, it does not make any conversion from inline to extent or vice-versa.
>
>The idea to send this patch to list is just to get comments about this first
>work and see if anybody has some ideas/suggestions about it, mainly related
>with page cache and journal handling, since it's the first time I deal with
>journal and page cache handling, I'm not pretty sure if I did things right
>or not.
>
>Every comment is very appreciated.
>
>Thanks
>---
> fs/xfs/xfs_aops.c  | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++---
>+	if (ip->i_d.di_format == XFS_DINODE_FMT_LOCAL) {
>+		struct page	*page = list_first_entry(pages, struct page, lru);
>+
>+		ASSERT(i_size_read(VFS_I(ip) <= PAGE_CACHE_SIZE));

Looks good.

But, I guess should be --- ASSERT(i_size_read(VFS_I(ip)) <= PAGE_CACHE_SIZE);  here?

>+
>+		list_del(&page->lru);
>+		if(!(add_to_page_cache_lru(page, mapping,
>+					    page->index, GFP_KERNEL)))
>+			return xfs_inline_read(ip, page, page->mapping);
>+
>+		page_cache_release(page);
>+		return 0;
>+	} else {
>+		return mpage_readpages(mapping, pages, nr_pages, xfs_get_blocks);
>+	}
> }
>
> const struct address_space_operations xfs_address_space_operations = {
>diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c
>index 2778258..5e56e5c 100644
>--- a/fs/xfs/xfs_inode.c
>+++ b/fs/xfs/xfs_inode.c
>@@ -287,18 +287,6 @@ xfs_iformat(
> 	case S_IFDIR:
>-- 
>1.7.11.7
>
>_______________________________________________
>xfs mailing list
>xfs at oss.sgi.com
>http://oss.sgi.com/mailman/listinfo/xfs




Regards,
-- 
Raghavendra Prabhu
GPG Id : 0xD72BE977
Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
www: wnohang.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20121012/8a122a1e/attachment.sig>


More information about the xfs mailing list