Skip to content

Commit

Permalink
Merge tag 'befs-v4.10-rc1' of git://github.com/luisbg/linux-befs
Browse files Browse the repository at this point in the history
Pull befs updates from Luis de Bethencourt:
 "A series of small fixes and adding NFS export support"

* tag 'befs-v4.10-rc1' of git://github.com/luisbg/linux-befs:
  befs: add NFS export support
  befs: remove trailing whitespaces
  befs: remove signatures from comments
  befs: fix style issues in header files
  befs: fix style issues in linuxvfs.c
  befs: fix typos in linuxvfs.c
  befs: fix style issues in io.c
  befs: fix style issues in inode.c
  befs: fix style issues in debug.c
  • Loading branch information
torvalds committed Dec 23, 2016
2 parents 01302aa + ac632f5 commit fc26901
Show file tree
Hide file tree
Showing 13 changed files with 145 additions and 116 deletions.
3 changes: 2 additions & 1 deletion fs/befs/befs.h
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ static inline befs_inode_addr
blockno2iaddr(struct super_block *sb, befs_blocknr_t blockno)
{
befs_inode_addr iaddr;

iaddr.allocation_group = blockno >> BEFS_SB(sb)->ag_shift;
iaddr.start =
blockno - (iaddr.allocation_group << BEFS_SB(sb)->ag_shift);
Expand All @@ -140,7 +141,7 @@ blockno2iaddr(struct super_block *sb, befs_blocknr_t blockno)
static inline unsigned int
befs_iaddrs_per_block(struct super_block *sb)
{
return BEFS_SB(sb)->block_size / sizeof (befs_disk_inode_addr);
return BEFS_SB(sb)->block_size / sizeof(befs_disk_inode_addr);
}

#include "endian.h"
Expand Down
12 changes: 6 additions & 6 deletions fs/befs/befs_fs_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@ enum super_flags {
};

#define BEFS_BYTEORDER_NATIVE 0x42494745
#define BEFS_BYTEORDER_NATIVE_LE (__force fs32)cpu_to_le32(BEFS_BYTEORDER_NATIVE)
#define BEFS_BYTEORDER_NATIVE_BE (__force fs32)cpu_to_be32(BEFS_BYTEORDER_NATIVE)
#define BEFS_BYTEORDER_NATIVE_LE ((__force fs32)cpu_to_le32(BEFS_BYTEORDER_NATIVE))
#define BEFS_BYTEORDER_NATIVE_BE ((__force fs32)cpu_to_be32(BEFS_BYTEORDER_NATIVE))

#define BEFS_SUPER_MAGIC BEFS_SUPER_MAGIC1
#define BEFS_SUPER_MAGIC1_LE (__force fs32)cpu_to_le32(BEFS_SUPER_MAGIC1)
#define BEFS_SUPER_MAGIC1_BE (__force fs32)cpu_to_be32(BEFS_SUPER_MAGIC1)
#define BEFS_SUPER_MAGIC1_LE ((__force fs32)cpu_to_le32(BEFS_SUPER_MAGIC1))
#define BEFS_SUPER_MAGIC1_BE ((__force fs32)cpu_to_be32(BEFS_SUPER_MAGIC1))

/*
* Flags of inode
Expand All @@ -79,7 +79,7 @@ enum inode_flags {
BEFS_INODE_WAS_WRITTEN = 0x00020000,
BEFS_NO_TRANSACTION = 0x00040000,
};
/*
/*
* On-Disk datastructures of BeFS
*/

Expand Down Expand Up @@ -139,7 +139,7 @@ typedef struct {

} PACKED befs_super_block;

/*
/*
* Note: the indirect and dbl_indir block_runs may
* be longer than one block!
*/
Expand Down
48 changes: 24 additions & 24 deletions fs/befs/btree.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
*
* Dominic Giampaolo, author of "Practical File System
* Design with the Be File System", for such a helpful book.
*
* Marcus J. Ranum, author of the b+tree package in
*
* Marcus J. Ranum, author of the b+tree package in
* comp.sources.misc volume 10. This code is not copied from that
* work, but it is partially based on it.
*
Expand All @@ -38,38 +38,38 @@
*/

/* Befs B+tree structure:
*
*
* The first thing in the tree is the tree superblock. It tells you
* all kinds of useful things about the tree, like where the rootnode
* is located, and the size of the nodes (always 1024 with current version
* of BeOS).
*
* The rest of the tree consists of a series of nodes. Nodes contain a header
* (struct befs_btree_nodehead), the packed key data, an array of shorts
* (struct befs_btree_nodehead), the packed key data, an array of shorts
* containing the ending offsets for each of the keys, and an array of
* befs_off_t values. In interior nodes, the keys are the ending keys for
* the childnode they point to, and the values are offsets into the
* datastream containing the tree.
* befs_off_t values. In interior nodes, the keys are the ending keys for
* the childnode they point to, and the values are offsets into the
* datastream containing the tree.
*/

/* Note:
*
* The book states 2 confusing things about befs b+trees. First,
*
* The book states 2 confusing things about befs b+trees. First,
* it states that the overflow field of node headers is used by internal nodes
* to point to another node that "effectively continues this one". Here is what
* I believe that means. Each key in internal nodes points to another node that
* contains key values less than itself. Inspection reveals that the last key
* in the internal node is not the last key in the index. Keys that are
* greater than the last key in the internal node go into the overflow node.
* contains key values less than itself. Inspection reveals that the last key
* in the internal node is not the last key in the index. Keys that are
* greater than the last key in the internal node go into the overflow node.
* I imagine there is a performance reason for this.
*
* Second, it states that the header of a btree node is sufficient to
* distinguish internal nodes from leaf nodes. Without saying exactly how.
* Second, it states that the header of a btree node is sufficient to
* distinguish internal nodes from leaf nodes. Without saying exactly how.
* After figuring out the first, it becomes obvious that internal nodes have
* overflow nodes and leafnodes do not.
*/

/*
/*
* Currently, this code is only good for directory B+trees.
* In order to be used for other BFS indexes, it needs to be extended to handle
* duplicate keys and non-string keytypes (int32, int64, float, double).
Expand Down Expand Up @@ -237,8 +237,8 @@ befs_bt_read_node(struct super_block *sb, const befs_data_stream *ds,
* with @key (usually the disk block number of an inode).
*
* On failure, returns BEFS_ERR or BEFS_BT_NOT_FOUND.
*
* Algorithm:
*
* Algorithm:
* Read the superblock and rootnode of the b+tree.
* Drill down through the interior nodes using befs_find_key().
* Once at the correct leaf node, use befs_find_key() again to get the
Expand Down Expand Up @@ -402,12 +402,12 @@ befs_find_key(struct super_block *sb, struct befs_btree_node *node,
*
* Here's how it works: Key_no is the index of the key/value pair to
* return in keybuf/value.
* Bufsize is the size of keybuf (BEFS_NAME_LEN+1 is a good size). Keysize is
* Bufsize is the size of keybuf (BEFS_NAME_LEN+1 is a good size). Keysize is
* the number of characters in the key (just a convenience).
*
* Algorithm:
* Get the first leafnode of the tree. See if the requested key is in that
* node. If not, follow the node->right link to the next leafnode. Repeat
* node. If not, follow the node->right link to the next leafnode. Repeat
* until the (key_no)th key is found or the tree is out of keys.
*/
int
Expand Down Expand Up @@ -536,7 +536,7 @@ befs_btree_read(struct super_block *sb, const befs_data_stream *ds,
* @node_off: Pointer to offset of current node within datastream. Modified
* by the function.
*
* Helper function for btree traverse. Moves the current position to the
* Helper function for btree traverse. Moves the current position to the
* start of the first leaf node.
*
* Also checks for an empty tree. If there are no keys, returns BEFS_BT_EMPTY.
Expand Down Expand Up @@ -592,10 +592,10 @@ befs_btree_seekleaf(struct super_block *sb, const befs_data_stream *ds,
}

/**
* befs_leafnode - Determine if the btree node is a leaf node or an
* befs_leafnode - Determine if the btree node is a leaf node or an
* interior node
* @node: Pointer to node structure to test
*
*
* Return 1 if leaf, 0 if interior
*/
static int
Expand Down Expand Up @@ -656,7 +656,7 @@ befs_bt_valarray(struct befs_btree_node *node)
* @node: Pointer to the node structure to find the keydata array within
*
* Returns a pointer to the start of the keydata array
* of the node pointed to by the node header
* of the node pointed to by the node header
*/
static char *
befs_bt_keydata(struct befs_btree_node *node)
Expand Down Expand Up @@ -702,7 +702,7 @@ befs_bt_get_key(struct super_block *sb, struct befs_btree_node *node,

/**
* befs_compare_strings - compare two strings
* @key1: pointer to the first key to be compared
* @key1: pointer to the first key to be compared
* @keylen1: length in bytes of key1
* @key2: pointer to the second key to be compared
* @keylen2: length in bytes of key2
Expand Down
8 changes: 3 additions & 5 deletions fs/befs/btree.h
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
/*
* btree.h
*
*
*/


int befs_btree_find(struct super_block *sb, const befs_data_stream *ds,
const char *key, befs_off_t * value);
const char *key, befs_off_t *value);

int befs_btree_read(struct super_block *sb, const befs_data_stream *ds,
loff_t key_no, size_t bufsize, char *keybuf,
size_t * keysize, befs_off_t * value);

size_t *keysize, befs_off_t *value);
8 changes: 3 additions & 5 deletions fs/befs/datastream.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,11 @@ befs_read_datastream(struct super_block *sb, const befs_data_stream *ds,
*
* Takes a file position and gives back a brun who's starting block
* is block number fblock of the file.
*
*
* Returns BEFS_OK or BEFS_ERR.
*
*
* Calls specialized functions for each of the three possible
* datastream regions.
*
* 2001-11-15 Will Dyson
*/
int
befs_fblock2brun(struct super_block *sb, const befs_data_stream *data,
Expand Down Expand Up @@ -120,7 +118,7 @@ befs_fblock2brun(struct super_block *sb, const befs_data_stream *data,

/**
* befs_read_lsmylink - read long symlink from datastream.
* @sb: Filesystem superblock
* @sb: Filesystem superblock
* @ds: Datastream to read from
* @buff: Buffer in which to place long symlink data
* @len: Length of the long symlink in bytes
Expand Down
5 changes: 2 additions & 3 deletions fs/befs/datastream.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@

struct buffer_head *befs_read_datastream(struct super_block *sb,
const befs_data_stream *ds,
befs_off_t pos, uint * off);
befs_off_t pos, uint *off);

int befs_fblock2brun(struct super_block *sb, const befs_data_stream *data,
befs_blocknr_t fblock, befs_block_run * run);
befs_blocknr_t fblock, befs_block_run *run);

size_t befs_read_lsymlink(struct super_block *sb, const befs_data_stream *data,
void *buff, befs_off_t len);
Expand All @@ -17,4 +17,3 @@ befs_blocknr_t befs_count_blocks(struct super_block *sb,
const befs_data_stream *ds);

extern const befs_inode_addr BAD_IADDR;

14 changes: 8 additions & 6 deletions fs/befs/debug.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* linux/fs/befs/debug.c
*
*
* Copyright (C) 2001 Will Dyson (will_dyson at pobox.com)
*
* With help from the ntfs-tng driver by Anton Altparmakov
Expand Down Expand Up @@ -57,6 +57,7 @@ befs_debug(const struct super_block *sb, const char *fmt, ...)

struct va_format vaf;
va_list args;

va_start(args, fmt);
vaf.fmt = fmt;
vaf.va = &args;
Expand All @@ -67,7 +68,7 @@ befs_debug(const struct super_block *sb, const char *fmt, ...)
}

void
befs_dump_inode(const struct super_block *sb, befs_inode * inode)
befs_dump_inode(const struct super_block *sb, befs_inode *inode)
{
#ifdef CONFIG_BEFS_DEBUG

Expand Down Expand Up @@ -151,7 +152,7 @@ befs_dump_inode(const struct super_block *sb, befs_inode * inode)
*/

void
befs_dump_super_block(const struct super_block *sb, befs_super_block * sup)
befs_dump_super_block(const struct super_block *sb, befs_super_block *sup)
{
#ifdef CONFIG_BEFS_DEBUG

Expand Down Expand Up @@ -202,7 +203,7 @@ befs_dump_super_block(const struct super_block *sb, befs_super_block * sup)
#if 0
/* unused */
void
befs_dump_small_data(const struct super_block *sb, befs_small_data * sd)
befs_dump_small_data(const struct super_block *sb, befs_small_data *sd)
{
}

Expand All @@ -221,7 +222,8 @@ befs_dump_run(const struct super_block *sb, befs_disk_block_run run)
#endif /* 0 */

void
befs_dump_index_entry(const struct super_block *sb, befs_disk_btree_super * super)
befs_dump_index_entry(const struct super_block *sb,
befs_disk_btree_super *super)
{
#ifdef CONFIG_BEFS_DEBUG

Expand All @@ -242,7 +244,7 @@ befs_dump_index_entry(const struct super_block *sb, befs_disk_btree_super * supe
}

void
befs_dump_index_node(const struct super_block *sb, befs_btree_nodehead * node)
befs_dump_index_node(const struct super_block *sb, befs_btree_nodehead *node)
{
#ifdef CONFIG_BEFS_DEBUG

Expand Down
12 changes: 6 additions & 6 deletions fs/befs/inode.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* inode.c
*
*
* Copyright (C) 2001 Will Dyson <[email protected]>
*/

Expand All @@ -10,12 +10,12 @@
#include "inode.h"

/*
Validates the correctness of the befs inode
Returns BEFS_OK if the inode should be used, otherwise
returns BEFS_BAD_INODE
*/
* Validates the correctness of the befs inode
* Returns BEFS_OK if the inode should be used, otherwise
* returns BEFS_BAD_INODE
*/
int
befs_check_inode(struct super_block *sb, befs_inode * raw_inode,
befs_check_inode(struct super_block *sb, befs_inode *raw_inode,
befs_blocknr_t inode)
{
u32 magic1 = fs32_to_cpu(sb, raw_inode->magic1);
Expand Down
5 changes: 2 additions & 3 deletions fs/befs/inode.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
/*
* inode.h
*
*
*/

int befs_check_inode(struct super_block *sb, befs_inode * raw_inode,
int befs_check_inode(struct super_block *sb, befs_inode *raw_inode,
befs_blocknr_t inode);

7 changes: 3 additions & 4 deletions fs/befs/io.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Copyright (C) 2001 Will Dyson <[email protected]
*
* Based on portions of file.c and inode.c
* Based on portions of file.c and inode.c
* by Makoto Kato ([email protected])
*
* Many thanks to Dominic Giampaolo, author of Practical File System
Expand All @@ -19,8 +19,7 @@
/*
* Converts befs notion of disk addr to a disk offset and uses
* linux kernel function sb_bread() to get the buffer containing
* the offset. -Will Dyson
*
* the offset.
*/

struct buffer_head *
Expand Down Expand Up @@ -55,7 +54,7 @@ befs_bread_iaddr(struct super_block *sb, befs_inode_addr iaddr)
befs_debug(sb, "<--- %s", __func__);
return bh;

error:
error:
befs_debug(sb, "<--- %s ERROR", __func__);
return NULL;
}
1 change: 0 additions & 1 deletion fs/befs/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,3 @@

struct buffer_head *befs_bread_iaddr(struct super_block *sb,
befs_inode_addr iaddr);

Loading

0 comments on commit fc26901

Please sign in to comment.