fs/adfs: map: rename adfs_map_free() to adfs_map_statfs()
adfs_map_free() is not obvious whether it is freeing the map or returning the number of free blocks on the filesystem. Rename it to the more generic statfs() to make it clear that it's a statistic function. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
f75d398d6e
commit
e6160e469f
@ -145,7 +145,7 @@ int adfs_notify_change(struct dentry *dentry, struct iattr *attr);
|
|||||||
|
|
||||||
/* map.c */
|
/* map.c */
|
||||||
int adfs_map_lookup(struct super_block *sb, u32 frag_id, unsigned int offset);
|
int adfs_map_lookup(struct super_block *sb, u32 frag_id, unsigned int offset);
|
||||||
extern unsigned int adfs_map_free(struct super_block *sb);
|
void adfs_map_statfs(struct super_block *sb, struct kstatfs *buf);
|
||||||
struct adfs_discmap *adfs_read_map(struct super_block *sb, struct adfs_discrecord *dr);
|
struct adfs_discmap *adfs_read_map(struct super_block *sb, struct adfs_discrecord *dr);
|
||||||
|
|
||||||
/* Misc */
|
/* Misc */
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
* Copyright (C) 1997-2002 Russell King
|
* Copyright (C) 1997-2002 Russell King
|
||||||
*/
|
*/
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
#include <linux/statfs.h>
|
||||||
#include <asm/unaligned.h>
|
#include <asm/unaligned.h>
|
||||||
#include "adfs.h"
|
#include "adfs.h"
|
||||||
|
|
||||||
@ -221,10 +222,10 @@ found:
|
|||||||
* total_free = E(free_in_zone_n)
|
* total_free = E(free_in_zone_n)
|
||||||
* nzones
|
* nzones
|
||||||
*/
|
*/
|
||||||
unsigned int
|
void adfs_map_statfs(struct super_block *sb, struct kstatfs *buf)
|
||||||
adfs_map_free(struct super_block *sb)
|
|
||||||
{
|
{
|
||||||
struct adfs_sb_info *asb = ADFS_SB(sb);
|
struct adfs_sb_info *asb = ADFS_SB(sb);
|
||||||
|
struct adfs_discrecord *dr = adfs_map_discrecord(asb->s_map);
|
||||||
struct adfs_discmap *dm;
|
struct adfs_discmap *dm;
|
||||||
unsigned int total = 0;
|
unsigned int total = 0;
|
||||||
unsigned int zone;
|
unsigned int zone;
|
||||||
@ -236,7 +237,10 @@ adfs_map_free(struct super_block *sb)
|
|||||||
total += scan_free_map(asb, dm++);
|
total += scan_free_map(asb, dm++);
|
||||||
} while (--zone > 0);
|
} while (--zone > 0);
|
||||||
|
|
||||||
return signed_asl(total, asb->s_map2blk);
|
buf->f_blocks = adfs_disc_size(dr) >> sb->s_blocksize_bits;
|
||||||
|
buf->f_files = asb->s_ids_per_zone * asb->s_map_size;
|
||||||
|
buf->f_bavail =
|
||||||
|
buf->f_bfree = signed_asl(total, asb->s_map2blk);
|
||||||
}
|
}
|
||||||
|
|
||||||
int adfs_map_lookup(struct super_block *sb, u32 frag_id, unsigned int offset)
|
int adfs_map_lookup(struct super_block *sb, u32 frag_id, unsigned int offset)
|
||||||
|
@ -204,16 +204,13 @@ static int adfs_statfs(struct dentry *dentry, struct kstatfs *buf)
|
|||||||
{
|
{
|
||||||
struct super_block *sb = dentry->d_sb;
|
struct super_block *sb = dentry->d_sb;
|
||||||
struct adfs_sb_info *sbi = ADFS_SB(sb);
|
struct adfs_sb_info *sbi = ADFS_SB(sb);
|
||||||
struct adfs_discrecord *dr = adfs_map_discrecord(sbi->s_map);
|
|
||||||
u64 id = huge_encode_dev(sb->s_bdev->bd_dev);
|
u64 id = huge_encode_dev(sb->s_bdev->bd_dev);
|
||||||
|
|
||||||
|
adfs_map_statfs(sb, buf);
|
||||||
|
|
||||||
buf->f_type = ADFS_SUPER_MAGIC;
|
buf->f_type = ADFS_SUPER_MAGIC;
|
||||||
buf->f_namelen = sbi->s_namelen;
|
buf->f_namelen = sbi->s_namelen;
|
||||||
buf->f_bsize = sb->s_blocksize;
|
buf->f_bsize = sb->s_blocksize;
|
||||||
buf->f_blocks = adfs_disc_size(dr) >> sb->s_blocksize_bits;
|
|
||||||
buf->f_files = sbi->s_ids_per_zone * sbi->s_map_size;
|
|
||||||
buf->f_bavail =
|
|
||||||
buf->f_bfree = adfs_map_free(sb);
|
|
||||||
buf->f_ffree = (long)(buf->f_bfree * buf->f_files) / (long)buf->f_blocks;
|
buf->f_ffree = (long)(buf->f_bfree * buf->f_files) / (long)buf->f_blocks;
|
||||||
buf->f_fsid.val[0] = (u32)id;
|
buf->f_fsid.val[0] = (u32)id;
|
||||||
buf->f_fsid.val[1] = (u32)(id >> 32);
|
buf->f_fsid.val[1] = (u32)(id >> 32);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user