I dug out my copy of Bach last night and reviewed chapter 4, "Internal Representations of Files". My copy of Bach is from 1986, you may have a newer version. My copy is describing Ken Thompson's original unix filesystem. This filesystem was a commercial failure and I doubt if it is still used anywhere. Section 4.1.2 "Accessing Inodes" describes how all the inodes are together. This caused massive arm movement because the heads had to repeatedly access the inode list at the start of the disk.
Marshall McKusick wrote a much better filesystem which he called the Berkeley Fast File System. It really conquered the commercial world. HP-UX calls it hfs and SunOS calls it vfs. It has large blocks, cylinder groups, distributed inodes, bitmaps of free blocks rather than a single free list, blocks/fragments, long filenames and symbolic links. If your copy of Bach is not describing this filesystem, you may be confusing yourself. In this case, I would suggest switching to a more modern book.
But the block pointers in an inode have not changed very much. My book's figure 4.6 is similiar to the diagram on
this page. Let's say that your file had the following 15 data blocks assigned to it: 4096, 228, 45423, 11111, 101, 367, 428, 9156, 824, 747, 4351, 171, 987, 654, and 594. For the first ten block numbers it's easy, they go in slots 0 though 9. But what do we do with the other 5 block numbers? We get another data block, let's assume that we get block 908. We take block 908 and write the numbers 4351, 171, 987, 654, and 594 in it. Then we put 908 in the single indirect slot. When we read the file, we just read the first 10 blocks from the numbers in the inode. The we see that 908 is our single indirect block so we read it. It has the the list of the final five blocks.
I hope this has helped.