From 032e6c0a26ce3c2e8fa498a382660b6d20f4f7ff Mon Sep 17 00:00:00 2001 From: Curt Wohlgemuth Date: Mon, 5 Mar 2012 10:40:22 -0500 Subject: [PATCH] --- yaml --- r: 296568 b: refs/heads/master c: 4188188bdc3aed29eb41fb1537305cff7431d062 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ext4/ext4.h | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index dc76496bedef..4d8eec102e9d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b43d17f319f2c502b17139d1cf70731b2b62c644 +refs/heads/master: 4188188bdc3aed29eb41fb1537305cff7431d062 diff --git a/trunk/fs/ext4/ext4.h b/trunk/fs/ext4/ext4.h index 37e7d8b66c99..26ee54b2ce82 100644 --- a/trunk/fs/ext4/ext4.h +++ b/trunk/fs/ext4/ext4.h @@ -194,18 +194,25 @@ struct ext4_io_page { #define MAX_IO_PAGES 128 +/* + * For converting uninitialized extents on a work queue. + * + * 'page' is only used from the writepage() path; 'pages' is only used for + * buffered writes; they are used to keep page references until conversion + * takes place. For AIO/DIO, neither field is filled in. + */ typedef struct ext4_io_end { struct list_head list; /* per-file finished IO list */ struct inode *inode; /* file being written to */ unsigned int flag; /* unwritten or not */ - struct page *page; /* page struct for buffer write */ + struct page *page; /* for writepage() path */ loff_t offset; /* offset in the file */ ssize_t size; /* size of the extent */ struct work_struct work; /* data work queue */ struct kiocb *iocb; /* iocb struct for AIO */ int result; /* error value for AIO */ - int num_io_pages; - struct ext4_io_page *pages[MAX_IO_PAGES]; + int num_io_pages; /* for writepages() */ + struct ext4_io_page *pages[MAX_IO_PAGES]; /* for writepages() */ } ext4_io_end_t; struct ext4_io_submit {