diff options
Diffstat (limited to 'fs/gfs2/eattr.c')
-rw-r--r-- | fs/gfs2/eattr.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/fs/gfs2/eattr.c b/fs/gfs2/eattr.c index 63a5cf1e2472..dec55dcb9dbc 100644 --- a/fs/gfs2/eattr.c +++ b/fs/gfs2/eattr.c @@ -1561,60 +1561,3 @@ int gfs2_ea_dealloc(struct gfs2_inode *ip) return error; } -/** - * gfs2_get_eattr_meta - return all the eattr blocks of a file - * @dip: the directory - * @ub: the structure representing the user buffer to copy to - * - * Returns: errno - */ - -int gfs2_get_eattr_meta(struct gfs2_inode *ip, struct gfs2_user_buffer *ub) -{ - struct buffer_head *bh; - int error; - - error = gfs2_meta_read(ip->i_gl, ip->i_di.di_eattr, - DIO_START | DIO_WAIT, &bh); - if (error) - return error; - - gfs2_add_bh_to_ub(ub, bh); - - if (ip->i_di.di_flags & GFS2_DIF_EA_INDIRECT) { - struct buffer_head *eabh; - uint64_t *eablk, *end; - - if (gfs2_metatype_check(ip->i_sbd, bh, GFS2_METATYPE_IN)) { - error = -EIO; - goto out; - } - - eablk = (uint64_t *)(bh->b_data + - sizeof(struct gfs2_meta_header)); - end = eablk + ip->i_sbd->sd_inptrs; - - for (; eablk < end; eablk++) { - uint64_t bn; - - if (!*eablk) - break; - bn = be64_to_cpu(*eablk); - - error = gfs2_meta_read(ip->i_gl, bn, - DIO_START | DIO_WAIT, &eabh); - if (error) - break; - gfs2_add_bh_to_ub(ub, eabh); - brelse(eabh); - if (error) - break; - } - } - - out: - brelse(bh); - - return error; -} - |