lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20130115185509.GA17719@thunk.org> Date: Tue, 15 Jan 2013 13:55:09 -0500 From: Theodore Ts'o <tytso@....edu> To: Zheng Liu <gnehzuil.liu@...il.com> Cc: linux-ext4@...r.kernel.org, Zheng Liu <wenqing.lz@...bao.com> Subject: Re: [PATCH 1/2 v2] libext2fs: introduce lseek SEEK_DATA/HOLE On Mon, Jan 14, 2013 at 10:18:30PM +0800, Zheng Liu wrote: > +static errcode_t ext2fs_file_llseek_data(ext2_file_t file, __u64 offset) > +{ > + int ret_flags, flag = 1; > + ext2_filsys fs = file->fs; > + errcode_t retval; > + > + /* > + * If offset == EXT2_SEEK_OFFSET_INVALID, that means that > + * the caller wants to find the data from file->pos. > + */ > + offset = offset != EXT2_SEEK_OFFSET_INVALID ? offset : file->pos; > + file->blockno = offset / fs->blocksize; > + while (file->blockno * fs->blocksize < EXT2_I_SIZE(&file->inode)) { > + retval = ext2fs_bmap2(fs, file->ino, &file->inode, > + BMAP_BUFFER, 0, file->blockno, > + &ret_flags, &file->physblock); Using bmap will certainly work, although as an optimization we can do much better for extents if we use the extents interface. I won't insist on this, though. (We can always optimize this later). - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists