<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jan 17, 2018 at 8:05 AM, inventsekar <span dir="ltr"><<a href="mailto:inventsekar@gmail.com" target="_blank">inventsekar@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Hi All, i have been reading <div dir="auto">Unix filesystem - evolution, design and implementation by Steve D. Pate<div dir="auto"></div></div><div dir="auto"><br></div><div dir="auto">and it provides a simple file system source code for learning and playing with. </div><div dir="auto">On the header file, it defines the fs magic number as </div><div dir="auto">#define UX_MAGIC 0x58494e55<br></div><div dir="auto"><br></div></div></blockquote><div><br></div><br class="gmail-Apple-interchange-newline"><div>You need to understand the reason for having the magic number first. Why is it needed and then most of the below questions can be answered.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"></div><div dir="auto">1. which means, will it assign this magic number to ALL files created on this sample fs? That can't be so. Otherwise, why we need to define a magic number? </div></div></blockquote><div><br></div><div>There is no rule for it and it totally depends on the will of the filesystem developer. If he wants, he can put a magic number in every file/block etc. even though it might be stupid to do so. Magic numbers are just a way to identify something you already know. They are used during filesystem recovery, to verify that things are ok before mounting etc. etc. If you can't find your known pattern at the place you wrote or where you expect then something is wrong.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">2. I assume, magic number will be assigned to files by the tools which we use to create the files(like vi, cat, etc). Is this correct?</div></div></blockquote><div><br></div><div>Do not assume :-). Look at the code. Tools don't decide what or where to put the magic number. It is the FS code which decides irrespective of tool.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">3. It seems, windows files also have the magic numbers. let's say I copy some files from windows to Linux. We should have the common magic numbers between different Operating systems, so there won't be confusions. I mean, is there any standards common for all os's files magic numbers?!? </div><div dir="auto"><br></div></div></blockquote><div><br></div><div>Nope. Magic numbers are a personal (somewhat) choice. They aren't preserved across filesystems. It would actually be wrong if you can read the magic number of the FS while doing 'cat' on a file.</div><div><br></div><div>Thanks -</div><div>Manish</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"></div><div dir="auto"><br></div><div dir="auto">Best regards</div><div dir="auto">Sekar</div></div>
<br>______________________________<wbr>_________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.<wbr>org</a><br>
<a href="https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" rel="noreferrer" target="_blank">https://lists.kernelnewbies.<wbr>org/mailman/listinfo/<wbr>kernelnewbies</a><br>
<br></blockquote></div><br></div></div>